Azure Spring Apps'de Application Insights Java İşlem İçi Aracısını kullanma

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.

Spring Boot Yerel Görüntü uygulamalarıyla, Application Insights Java aracısı yerine Spring Boot yerel görüntüsü Java uygulamasında Azure İzleyici OpenTelemetry Distro / Application Insights'ı kullanın.

Bu makale şunlar için geçerlidir: ✔️ Standart tüketim ve ayrılmış (Önizleme) ✔️ Temel/Standart ✔️ Kurumsal

Bu makalede, Azure Spring Apps'te Application Insights Java aracısını kullanarak uygulamaların nasıl izleneceği açıklanmaktadır.

Bu özellik ile şunları yapabilirsiniz:

  • Farklı filtrelerle arama izleme verileri.
  • Spring uygulamalarının bağımlılık haritasını görüntüleyin.
  • İstek performansını denetleyin.
  • Gerçek zamanlı canlı ölçümleri izleyin.
  • İstek hatalarını denetleyin.
  • Uygulama ölçümlerini denetleyin.
  • Uygulama günlüklerini denetleyin.

Application Insights aşağıdakiler dahil olmak üzere birçok gözlemlenebilir perspektif sağlayabilir:

  • Uygulama haritası
  • Performans
  • Hatalar
  • Ölçümler
  • Canlı Ölçümler
  • Kullanılabilirlik
  • Günlükler

Application Insights özelliğini kullanma

Application Insights özelliği etkinleştirildiğinde şunları yapabilirsiniz:

  • Gezinti bölmesinde Application Insights'ı seçerek Application Insights'ın Genel Bakış sayfasını görüntüleyin. Genel Bakış sayfasında, çalışan tüm uygulamalara genel bir bakış gösterilir.

  • Uygulamalar arasındaki çağrıların durumunu görmek için Uygulama Haritası'nı seçin.

    Application Insights Uygulama haritası sayfasını gösteren Azure portalının ekran görüntüsü.

  • Customers-service arasındaki bağlantıyı seçin ve petclinic SQL sorgusu gibi diğer ayrıntıları görüntüleyin.

  • Uç noktaya istekte bulunan tüm uygulamaları görmek için bir uç nokta seçin.

  • Tüm uygulamaların işlemlerinin, bağımlılıklarının ve rollerinin performans verilerini görmek için gezinti bölmesinde Performans'ı seçin.

    Application Insights Performans sayfasını gösteren Azure portalının ekran görüntüsü.

  • Uygulamalarınızdan beklenmeyen hataları veya özel durumları görmek için gezinti bölmesinde Hatalar'ı seçin.

    Application Insights Hataları sayfasını gösteren Azure portalının ekran görüntüsü.

  • Gezinti bölmesinde Ölçümler'i seçin ve varsa hem Spring Boot ölçümlerini hem de özel ölçümleri görmek için ad alanını seçin.

    Application Insights Ölçümleri sayfasını gösteren Azure portalının ekran görüntüsü.

  • Farklı boyutların gerçek zamanlı ölçümlerini görmek için gezinti bölmesinde Canlı Ölçümler'i seçin.

    Application Insights Canlı Ölçümler sayfasını gösteren Azure portalının ekran görüntüsü.

  • Gezinti bölmesinde, Application Insights'ta Kullanılabilirlik testleri oluşturarak Web uygulamalarının kullanılabilirliğini ve yanıt hızını izlemek için Kullanılabilirlik'i seçin.

    Application Insights Kullanılabilirlik sayfasını gösteren Azure portalının ekran görüntüsü.

  • Gezinti bölmesinde Günlükler'i seçerek tüm uygulamaların günlüklerini veya filtreleme sırasında cloud_RoleNamebir uygulamanın günlüklerini görüntüleyin.

    Application Insights Günlükleri sayfasını gösteren Azure portalının ekran görüntüsü.

Azure portalını kullanarak Application Insights'i yönetme

Aşağıdaki yordamı kullanarak Java İşlem İçi Aracısı'nı etkinleştirin.

  1. Hizmete git | Hizmet örneğinizin Genel Bakış sayfası ve ardından İzleme bölümünde Application Insights'ı seçin.

  2. Azure Spring Apps'te Application Insights'ı etkinleştirmek için Application Insights'ı etkinleştir'i seçin.

  3. Application Insights'ın mevcut bir örneğini seçin veya yeni bir tane oluşturun.

  4. Application Insights etkinleştirildiğinde isteğe bağlı bir örnekleme oranı (%10,0) yapılandırabilirsiniz.

    Azure Spring Apps için Application Insights sayfasını gösteren Ve Application Insights'ın Etkinleştir onay kutusunun vurgulandığı Azure portalının ekran görüntüsü.

  5. Değişiklikleri kaydetmek için Kaydet’i seçin.

Not

Farklı Azure Spring Apps örneklerinde aynı Application Insights örneğini kullanmayın veya karma veriler gösterilir.

Application Insights'ta geçerli ayarları denetlemek veya güncelleştirmek için Portalı kullanabilirsiniz.

Azure portalını kullanarak Application Insights'i etkinleştirme

  1. Application Insights’ı seçin.

  2. Bağlamayı düzenle'yi veya İlişkisiz köprüyü seçerek Application Insights'ı etkinleştirin.

    Application Insights sayfası ve 'Bağlamayı düzenle' seçeneğini içeren Azure Spring Apps örneğini gösteren Azure portal Azure'ın ekran görüntüsü.

  3. Application Insights veya Örnekleme oranını düzenleyin, ardından Kaydet'i seçin.

Application Insights'ı devre dışı bırakma

  1. Application Insights’ı seçin.

  2. Application Insights'ı devre dışı bırakmak için Bağlamayı kaldır'ı seçin.

    Application Insights sayfası ve Bağlamayı kaldır seçeneğiyle Azure Spring Apps örneğini gösteren Azure portalının ekran görüntüsü.

Application Insights Ayarlarını Değiştirme

Application Insights bölümünü açmak için Application Insights sütununun altındaki adı seçin.

Application Insights sayfasıyla Birlikte Azure Spring Apps örneğini gösteren Azure portalının ekran görüntüsü.

Derleme Hizmeti'nde Application Insights derleme paketi bağlamalarını düzenleme

Derleme Hizmeti'nde Application Insights derleme paketi bağlamalarının geçerli ayarlarını denetlemek ve güncelleştirmek için şu adımları izleyin:

  1. Derleme Hizmeti'ne tıklayın.
  2. Oluşturucunuzu seçin.
  3. Bağlamalar sütununun altında Düzenle'yi seçin.

Application Insights ayarları, Bağlama türü sütunu altında listelenen ApplicationInsights öğesinde bulunur.

  1. Application Insights derleme paketi bağlamalarını açmak ve düzenlemek için İlişkili köprüyü seçin veya üç noktanın altındaki Bağlamayı Düzenle'yi seçin.

    Varsayılan oluşturucu için bağlamaları düzenle bölmesini gösteren Azure portalının ekran görüntüsü.

  2. Bağlama ayarlarını düzenleyin, ardından Kaydet'i seçin.

    Bağlamayı düzenle bölmesini gösteren Azure portalının ekran görüntüsü.

Azure CLI kullanarak Application Insights'i yönetme

Azure CLI komutlarını kullanarak Application Insights'ı yönetebilirsiniz. Aşağıdaki komutlarda, yer tutucu> metni açıklanan değerlerle değiştirmeyi <unutmayın. <Service-instance-name> yer tutucusu, Azure Spring Apps örneğinizin adını ifade eder.

Application Insights’ı Etkinleştir

Azure Spring Apps örneği oluştururken Application Insights'ı yapılandırmak için aşağıdaki komutu kullanın. Bağımsız değişken için app-insights bir Application Insights adı veya kaynak kimliği belirtebilirsiniz.

az spring create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>
az spring create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate> \
    --sku Enterprise

Aşağıdaki örnekte gösterildiği gibi bir Application Insights bağlantı dizesi (tercih edilen) veya izleme anahtarı da kullanabilirsiniz.

az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>
az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate> \
    --sku Enterprise

Application Insights'ı devre dışı bırakma

Azure Spring Apps örneği oluştururken Application Insights'ı devre dışı bırakmak için aşağıdaki komutu kullanın:

az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights
az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights \
    --sku Enterprise

Application Insights ayarlarını denetleme

Mevcut bir Azure Spring Apps örneğinin Application Insights ayarlarını denetlemek için aşağıdaki komutu kullanın:

az spring app-insights show \
    --resource-group <resource-group-name> \
    --name <service-instance-name>

Application Insights'i güncelleştirme

Application Insights'ı bir bağlantı dizesi (tercih edilen) veya izleme anahtarı kullanacak şekilde güncelleştirmek için aşağıdaki komutu kullanın:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>

Application Insights'ı kaynak adını veya kimliğini kullanacak şekilde güncelleştirmek için aşağıdaki komutu kullanın:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>

Update komutuyla Application Insights'ı devre dışı bırakma

Mevcut bir Azure Spring Apps örneğinde Application Insights'ı devre dışı bırakmak için aşağıdaki komutu kullanın:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable

Application Insights derleme paketi bağlamalarını yönetme

Bu bölüm yalnızca Kurumsal plan için geçerlidir ve önceki bölümü tamamlayan yönergeler sağlar.

Azure Spring Apps Enterprise planı, Azure Uygulaması lication Insights'ı türüyle ApplicationInsightstümleştirmek için derleme paketi bağlamalarını kullanır. Daha fazla bilgi için bkz . APM tümleştirmesi ve CA sertifikalarını yapılandırma.

Application Insights derleme paketi bağlaması oluşturmak için aşağıdaki komutu kullanın:

az spring build-service builder buildpack-binding create \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

Tüm derleme paketi bağlamalarını listelemek ve Application Insights bağlamalarının türünü ApplicationInsightsbulmak için aşağıdaki komutu kullanın:

az spring build-service builder buildpack-binding list \
    --resource-group <your-resource-group-name> \
    --service <your-service-resource-name> \
    --builder-name <your-builder-name>

Application Insights derleme paketi bağlamasını değiştirmek için aşağıdaki komutu kullanın:

az spring build-service builder buildpack-binding set \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

Application Insights derleme paketi bağlaması almak için aşağıdaki komutu kullanın:

az spring build-service builder buildpack-binding show \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name>

Application Insights derleme paketi bağlamasını silmek için aşağıdaki komutu kullanın:

az spring build-service builder buildpack-binding delete \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name>

Otomasyon

Aşağıdaki bölümlerde Bicep, Azure Resource Manager şablonları (ARM şablonları) veya Terraform kullanarak dağıtımınızı otomatikleştirme adımları açıklanmaktadır.

Bicep

Bicep dosyası kullanarak dağıtmak için aşağıdaki içeriği bir main.bicep dosyasına kopyalayın. Daha fazla bilgi için bkz . Microsoft.AppPlatform Spring/monitoringSettings.

param springName string
param location string = resourceGroup().location

resource spring 'Microsoft.AppPlatform/Spring@2020-07-01' = {
  name: springName
  location: location
  properties: {}
}

resource monitorSetting 'Microsoft.AppPlatform/Spring/monitoringSettings@2020-11-01-preview' = {
  parent: spring
  name: 'default'
  properties: {
    appInsightsInstrumentationKey: '00000000-0000-0000-0000-000000000000'
    appInsightsSamplingRate: 88
  }
}

ARM şablonları

ARM şablonu kullanarak dağıtmak için aşağıdaki içeriği bir azuredeploy.json dosyasına kopyalayın. Daha fazla bilgi için bkz . Microsoft.AppPlatform Spring/monitoringSettings.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "springName": {
      "type": "string"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.AppPlatform/Spring",
      "apiVersion": "2020-07-01",
      "name": "[parameters('springName')]",
      "location": "[parameters('location')]",
      "properties": {}
    },
    {
      "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
      "apiVersion": "2020-11-01-preview",
      "name": "[format('{0}/{1}', parameters('springName'), 'default')]",
      "properties": {
        "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
        "appInsightsSamplingRate": 88
      },
      "dependsOn": [
        "[resourceId('Microsoft.AppPlatform/Spring', parameters('springName'))]"
      ]
    }
  ]
}

Terraform

Terraform dağıtımı için aşağıdaki şablonu kullanın. Daha fazla bilgi için bkz . azurerm_spring_cloud_service.

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_application_insights" "example" {
  name                = "tf-test-appinsights"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  application_type    = "web"
}

resource "azurerm_spring_cloud_service" "example" {
  name                = "example-springcloud"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  sku_name            = "S0"

  config_server_git_setting {
    uri          = "https://github.com/Azure-Samples/piggymetrics"
    label        = "config"
    search_paths = ["dir1", "dir2"]
  }

  trace {
    connection_string = azurerm_application_insights.example.connection_string
    sample_rate       = 10.0
  }

  tags = {
    Env = "staging"
  }
}

Kurumsal plandaki otomasyon destek bekliyor. Belgeler kullanıma sunulduğu anda eklenir.

Java aracısı güncelleştirme/yükseltme

Java aracısı JDK ile düzenli olarak güncelleştirilir/yükseltilir ve bu durum aşağıdaki senaryoları etkileyebilir.

Not

JDK sürümü yılda üç ayda bir güncelleştirilir/yükseltilir.

  • Güncelleştirmeden/yükseltmeden önce Java aracısını kullanan mevcut uygulamalar etkilenmez.
  • Güncelleştirme/yükseltme sonrasında oluşturulan uygulamalar Java aracısının yeni sürümünü kullanır.
  • Daha önce Java aracısını kullanmayan mevcut uygulamalar, Java aracısının yeni sürümünü kullanmak için yeniden başlatma veya yeniden dağıtma gerektirir.

Derleme paketi güncelleştirildiğinde Java aracısı güncelleştirilir/yükseltilir.

Java aracısı yapılandırması çalışırken yükleme

Azure Spring Apps, uygulamaların yeniden başlatılmasına gerek kalmadan aracı yapılandırması ayarlarını ayarlamak için etkin yükleme mekanizmasına sahiptir.

Not

Çalışırken yükleme mekanizmasının dakikalar içinde gecikmesi vardır.

  • Java aracısı zaten etkinse Application Insights örneğinde veya SamplingRate değerinde yapılan değişiklikler için uygulamanın yeniden başlatılması gerekmez.

  • Java aracısını etkinleştirirseniz uygulamaları yeniden başlatmanız gerekir.

  • Java aracısını devre dışı bıraktığınızda, uygulamalar dakikalar içinde bir gecikmeden sonra tüm izleme verilerini göndermeyi durdurur. Aracıyı Java çalışma zamanı ortamından kaldırmak için uygulamaları yeniden başlatabilirsiniz.

Azure Spring Apps ile Application Insights arasında kavram eşleştirme

Azure Spring Apps Application Insights
App * Uygulama Eşlemesi/Rolü
* Canlı Ölçümler/Rol
* Hatalar/Roller/Bulut Rolü
* Performans/Roller/Rol Olabilir
App Instance * Uygulama Eşlemesi/Rol Örneği
* Canlı Ölçümler/Hizmet Adı
* Hatalar/Roller/Bulut Örneği
* Performans/Roller/Örnek Olabilir

Azure Spring Apps'in adı App Instance aşağıdaki senaryolarda değiştirilir veya oluşturulur:

  • Yeni bir uygulama oluşturursunuz.
  • Mevcut bir uygulamaya JAR dosyası veya kaynak kodu dağıtırsınız.
  • Mavi/yeşil dağıtım başlatırsınız.
  • Uygulamayı yeniden başlatırsınız.
  • Bir uygulamanın dağıtımını durdurup yeniden başlatırsınız.

Veriler Application Insights'ta depolandığında, Java aracısı etkinleştirildikten sonra oluşturulan veya dağıtılan Azure Spring Apps uygulama örneklerinin geçmişini içerir. Örneğin, Application Insights portalında dün oluşturulan ancak son 24 saat gibi belirli bir zaman aralığında silinen uygulama verilerini görebilirsiniz. Aşağıdaki senaryolarda bunun nasıl çalıştığı gösterilmektedir:

  • Bugün 08:00 civarında Java aracısının etkinleştirildiği Azure Spring Apps'ten bir uygulama oluşturdunuz ve bugün 08:10 civarında bu uygulamaya bir JAR dosyası dağıttınız. Bazı testlerin ardından kodu değiştirir ve bugün saat 08:30'da bu uygulamaya yeni bir JAR dosyası dağıtırsınız. Ardından bir mola verin ve saat 11:00 gibi geri döndüğünüzde Application Insights'tan bazı verileri kontrol edin. Şunu görürsünüz:
    • Uygulama Haritası'nda son 24 saat içindeki zaman aralıkları ve Hatalar, Performans ve Ölçümler ile üç örnek.
    • Uygulama Haritası'nda son bir saat içinde zaman aralığı olan bir örnek ve Hatalar, Performans ve Ölçümler.
    • Canlı Ölçümler'deki bir örnek.
  • Bugün 08:00 civarında Java aracısının etkinleştirildiği Azure Spring Apps'ten bir uygulama oluşturdunuz ve bugün 08:10 civarında bu uygulamaya bir JAR dosyası dağıttınız. Bugün 08:30 civarında başka bir JAR dosyasıyla mavi/yeşil dağıtım yapmayı deneyin. Şu anda bu uygulama için iki dağıtımınız vardır. Bugün saat 11:00 gibi bir ara verdikten sonra Application Insights'tan bazı verileri denetlemek istiyorsunuz. Şunu görürsünüz:
    • Uygulama Haritası'nda son 24 saat içindeki zaman aralıkları ve Hatalar, Performans ve Ölçümler ile üç örnek.
    • Uygulama Haritası'nda son saat içindeki zaman aralıkları ve Hatalar, Performans ve Ölçümler ile iki örnek.
    • Canlı Ölçümler'de iki örnek.

Sonraki adımlar