Aracılığıyla paylaş


Azure Spring Apps'te Application Insights Java In-Process Aracısı kullanma

Note

Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için, Azure Spring Apps emeklilik duyurusuna bakın.

Spring Boot Native Image uygulamalarıyla, Application Insights Java aracısı yerine Azure İzleyici OpenTelemetry Distro / Application Insights'ı Spring Boot native image Java uygulamasında kullanın.

Bu makale şunlar için geçerlidir:✅ 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ı
  • Performance
  • Failures
  • Metrics
  • Canlı Ölçümler
  • Availability
  • Logs

Application Insights özelliğini kullanma

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

  • Gezinti bölmesinde Application Insights'ı seçerek Application Insights'ınGenel 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ü.

  • SQL sorgusu gibi diğer ayrıntıları görmek için customers-service ile petclinic arasındaki bağlantıyı seçin.

  • 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 cloud_RoleName göre filtreleme yaparken bir 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 In-Process 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 hızı yapılandırabilirsiniz (varsayılan 10,0%).

    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.

Note

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ını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'i devre dışı bırakmak için Bağlamayı çöz'ü 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'ni seçin.
  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 Bağlı köprüyü seçin veya üç nokta menüsünde 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 <placeholder> metnini, açıklanan değerlerle değiştirdiğinizden emin olun. Yer tutucu, <service-instance-name> 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. app-insights bağımsız değişkeni için 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

Bir uygulama içgörüleri bağlantı dizesi (tercih edilen) veya enstrümantasyon anahtarı da aşağıdaki örnekte gösterildiği gibi kullanılabilir.

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 programını bir bağlantı dizesi (tercih edilen) veya araç anahtarı kullanacak şekilde güncellemek 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 Application Insights'ı türüyle ApplicationInsightstümleştirmek için derleme paketi bağlamalarını kullanır. Daha fazla bilgi için APM tümleştirmesi ve CA sertifikalarını nasıl yapılandıracağınıza bakın.

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>

Automation

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 birazuredeploy.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.

Note

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 ajanı yapılandırmasının anında yüklenmesi

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.

Note

Sıcak yükleme mekanizmasının birkaç dakikalık bir 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/Role
* Canlı Ölçümler/Rol
* Hatalar/Roller/Bulut Rolü
* Performans/Roller/Olası Rol
App Instance * Uygulama Eşlemesi/Rol Örneği
* Canlı Ölçümler/Hizmet Adı
* Hatalar/Roller/Bulut Sunucusu
* 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ıyorsunuz.
  • 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