Elastik APM Java Aracısı ile Spring Boot uygulamalarını izleme

Not

Temel, Standart ve Kurumsal planları, 3 yıllık kullanımdan kaldırma süresiyle Mart 2025 ortasından itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.

Standart tüketim ve ayrılmış plan, altı ay sonra tamamen kapatılarak 30 Eylül 2024'den itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps Standart tüketimini ve ayrılmış planı Azure Container Apps'e geçirme.

Bu makale şunlar için geçerlidir: ✔️ Temel/Standart ❌ Kurumsal

Bu makalede, Azure Spring Apps'te çalışan Spring Boot uygulamalarını izlemek için Elastik APM Aracısı'nın nasıl kullanılacağı açıklanmaktadır.

Elastik Gözlemlenebilirlik Çözümü ile aşağıdakiler için birleştirilmiş gözlemlenebilirlik elde edebilirsiniz:

  • Elastik APM Java Aracısını kullanarak ve Azure Spring Apps ile kalıcı depolama kullanarak uygulamaları izleyin.
  • Azure Spring Apps günlüklerini Elastik'e göndermek için tanılama ayarlarını kullanın. Daha fazla bilgi için bkz . Tanılama ayarlarını kullanarak elastik (ELK) ile günlükleri analiz etme.

Aşağıdaki videoda Elastic kullanan Spring Boot uygulamaları için birleştirilmiş gözlemlenebilirlik tanıtilmiştir.


Önkoşullar

Spring Petclinic uygulamasını dağıtma

Bu makalede spring petclinic örneği, gerekli adımları adım adım izleyin. Örnek uygulamayı dağıtmak için aşağıdaki adımları kullanın:

  1. Spring Boot uygulamalarını dağıtma ve ortam değişkenlerini ayarlama bölümüne ulaşana kadar Azure Spring Apps ve MySQL kullanarak Spring Boot uygulamalarını dağıtma bölümündeki adımları izleyin.

  2. Azure Spring Apps'te çalıştırılacak bir uygulama oluşturmak için aşağıdaki komutla Azure CLI için Azure Spring Apps uzantısını kullanın:

    az spring app create \
       --resource-group <your-resource-group-name> \
       --service <your-Azure-Spring-Apps-instance-name> \
       --name <your-app-name> \
       --is-public true
    

Azure Spring Apps için özel kalıcı depolamayı etkinleştirme

Özel kalıcı depolamayı etkinleştirmek için aşağıdaki adımları kullanın:

  1. Azure Spring Apps'te kendi kalıcı depolama alanınızı etkinleştirme bölümünde yer alan adımları izleyin.

  2. Azure Spring Apps uygulamalarınız için kalıcı depolama alanı eklemek için aşağıdaki Azure CLI komutunu kullanın.

    az spring app append-persistent-storage \
       --resource-group <your-resource-group-name> \
       --service <your-Azure-Spring-Apps-instance-name> \
       --name <your-app-name> \
       --persistent-storage-type AzureFileVolume \
       --share-name <your-Azure-file-share-name> \
       --mount-path <unique-mount-path> \
       --storage-name <your-mounted-storage-name>
    

Elastik APM Java Aracısı'nı etkinleştirme

Devam etmeden önce Elastik APM sunucusu bağlantı bilgilerinizin kullanışlı olması gerekir. Bu bilgiler, Azure'da Elastic'i dağıtmış olduğunuzu varsayar. Daha fazla bilgi için bkz . Microsoft Azure'da Elastik'i dağıtma ve yönetme. Bu bilgileri almak için aşağıdaki adımları kullanın:

  1. Azure portalında Elastik dağıtımınızın Genel Bakış sayfasına gidin ve Elastik Bulut Dağıtımını Yönet'i seçin.

    Azure portalı Elasticsearch (Elastik Bulut) sayfasının ekran görüntüsü.

  2. Elastik Bulut Konsolu'nda dağıtımınızın altında APM & Fleet bölümünü seçerek Elastik APM Sunucusu uç noktasını ve gizli dizi belirtecini alın.

    Uç noktayı kopyala ve APM Sunucusu gizli dizi belirtecinin vurgulandığı Elastik APM & Fleet sayfasının ekran görüntüsü.

  3. Maven Central'dan Elastic APM Java Agent'ı indirin.

    Jar indirmenin vurgulandığı Maven Central'ın ekran görüntüsü.

  4. Elastik APM Aracısı'nı daha önce etkinleştirdiğiniz özel kalıcı depolama alanına yükleyin. aracı JAR dosyasını eklemek için Azure Dosyalar hare'ye gidin ve Karşıya Yükle'yi seçin.

    Dosya paylaşımı sayfasının Dosyaları karşıya yükle bölmesini gösteren Azure portalının ekran görüntüsü.

  5. Elastik APM uç noktasını ve gizli dizi belirtecini aldıktan sonra, uygulamaları dağıtırken Elastic APM Java aracısını etkinleştirmek için aşağıdaki komutu kullanın. Yer tutucu <agent-location> , Elastic APM Java Aracısı'nın bağlı depolama konumunu ifade eder.

    az spring app deploy \
        --name <your-app-name> \
        --artifact-path <unique-path-to-your-app-jar-on-custom-storage> \
        --jvm-options='-javaagent:<elastic-agent-location>' \
        --env ELASTIC_APM_SERVICE_NAME=<your-app-name> \
              ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package-name>' \
              ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>' \
              ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
    

Sağlamayı otomatikleştirme

Terraform, Bicep veya Azure Resource Manager şablonu (ARM şablonu) kullanarak bir sağlama otomasyonu işlem hattı da çalıştırabilirsiniz. Bu işlem hattı, oluşturup dağıttığınız tüm yeni uygulamaları izlemek ve izlemek için eksiksiz bir uygulamalı kullanım deneyimi sağlayabilir.

Terraform kullanarak sağlamayı otomatikleştirme

Terraform şablonunda ortam değişkenlerini yapılandırmak için şablona aşağıdaki kodu ekleyin ve ...> yer tutucularını kendi değerlerinizle değiştirin<. Daha fazla bilgi için bkz . Etkin Azure Spring Apps Dağıtımlarını Yönetme.

resource "azurerm_spring_cloud_java_deployment" "example" {
  ...
  jvm_options = "-javaagent:<elastic-agent-location>"
  ...
    environment_variables = {
      "ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
      "ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
      "ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
      "ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
  }
}

Bicep dosyası kullanarak sağlamayı otomatikleştirme

Bir Bicep dosyasında ortam değişkenlerini yapılandırmak için aşağıdaki kodu dosyaya ekleyin ve ...> yer tutucularını kendi değerlerinizle değiştirin<. Daha fazla bilgi için bkz . Microsoft.AppPlatform Spring/apps/deployments.

deploymentSettings: {
  environmentVariables: {
    ELASTIC_APM_SERVICE_NAME='<your-app-name>',
    ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package>',
    ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>',
    ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
  },
  jvmOptions: '-javaagent:<elastic-agent-location>',
  ...
}

ARM şablonu kullanarak sağlamayı otomatikleştirme

BIR ARM şablonunda ortam değişkenlerini yapılandırmak için şablona aşağıdaki kodu ekleyin ve ...> yer tutucularını kendi değerlerinizle değiştirin<. Daha fazla bilgi için bkz . Microsoft.AppPlatform Spring/apps/deployments.

"deploymentSettings": {
  "environmentVariables": {
    "ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
    "ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
    "ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
    "ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
  },
  "jvmOptions": "-javaagent:<elastic-agent-location>",
  ...
}

Elastik APM Java Aracıyı Yükseltme

Yükseltmenizi planlamak için bkz . Azure'da Elastik Bulut için yükseltme sürümleri ve APM için Yeni Değişiklikler . APM Sunucusu'nu yükselttikten sonra Elastik APM Java aracısı JAR dosyasını özel kalıcı depolama alanına yükleyin. Ardından güncelleştirilmiş JVM seçenekleriyle yükseltilen Elastic APM Java aracısı JAR'ı işaret ederek uygulamalarınızı yeniden başlatın.

Elastik APM ile uygulamaları ve ölçümleri izleme

Uygulamaları ve ölçümleri izlemek için aşağıdaki adımları kullanın:

  1. Azure portalında Elastik dağıtımınızın Genel Bakış sayfasına gidin ve Kibana bağlantısını seçin.

    Dağıtım URL'si Kibana bağlantısının vurgulandığı Elasticsearch sayfasını gösteren Azure portalının ekran görüntüsü.

  2. Kibana açıldıktan sonra arama çubuğunda APM'yi arayın ve ARDıNDAN APM'yi seçin.

    APM arama sonuçlarını gösteren Elastik / Kibana'nın ekran görüntüsü.

Kibana APM, Uygulama İzleme iş akışlarını desteklemek için seçilmiş uygulamadır. Burada istek/yanıt süreleri, aktarım hızı ve hizmetteki işlemler gibi süreyi en çok etkileyen üst düzey ayrıntıları görüntüleyebilirsiniz.

APM Hizmetlerine Genel Bakış sayfasını gösteren Elastik / Kibana'nın ekran görüntüsü.

Dağıtılmış izleme gibi işleme özgü ayrıntıları anlamak için belirli bir işlemde detaya gidebilirsiniz.

APM Hizmetleri İşlemleri sayfasını gösteren Elastik / Kibana'nın ekran görüntüsü.

Elastik APM Java aracısı, sorun giderme amacıyla kullanıcılar için Kibana Uygulaması ile kullanılabilen Azure Spring Apps uygulamalarından JVM ölçümlerini de yakalar.

APM Hizmetleri JVM sayfasını gösteren Elastik / Kibana'nın ekran görüntüsü.

Elastik çözümde yerleşik yapay zeka altyapısını kullanarak Azure Spring Apps Hizmetleri'nde Anomali Algılama'yı etkinleştirebilir ve Teams bildirimi, JIRA sorunu oluşturma, web kancası tabanlı API çağrısı ve diğerleri gibi uygun bir eylem seçebilirsiniz.

Kural oluştur bölmesinin gösterildiği ve Eylemler'in vurgulandığı APM Hizmetleri sayfasını gösteren Elastik / Kibana'nın ekran görüntüsü.

Sonraki adımlar