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

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Spring Boot Yerel Görüntü uygulamalarıyla, Application Analizler Java aracısı yerine Spring Boot yerel görüntüsü Java uygulama projesinde Azure İzleyici OpenTelemetry Distro / Application Analizler 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 Analizler 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.

Uygulama Analizler 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

Uygulama Analizler özelliğini kullanma

Uygulama Analizler özelliği etkinleştirildiğinde şunları yapabilirsiniz:

  • Gezinti bölmesinde Uygulama Analizler'ni seçerek Uygulama Analizler 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.

    Uygulama Analizler 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.

    Uygulama Analizler 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.

    Uygulama Analizler 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.

    Uygulama Analizler Ö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.

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

  • Gezinti bölmesinde, Uygulama Analizler 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.

    Uygulama Analizler 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.

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

Azure portalını kullanarak Uygulama Analizler 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 Uygulama Analizler'niseçin.

  2. Azure Spring Apps'te Uygulama Analizler etkinleştirmek için Uygulama Analizler Etkinleştir'i seçin.

  3. Uygulama Analizler'nin mevcut bir örneğini seçin veya yeni bir tane oluşturun.

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

    Uygulama Analizler Etkinleştir onay kutusunun vurgulandığı Azure Spring Apps için Uygulama Analizler sayfasını gösteren 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ı Uygulama Analizler örneğini kullanmayın veya karma veriler gösterilir.

Uygulama Analizler'nde geçerli ayarları denetlemek veya güncelleştirmek için Portalı kullanabilirsiniz.

Azure portalını kullanarak Uygulama Analizler etkinleştirme

  1. Application Insights’ı seçin.

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

    Uygulama Analizler 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. Uygulama Analizler veya Örnekleme oranını düzenleyin, ardından Kaydet'i seçin.

Uygulama Analizler devre dışı bırakma

  1. Application Insights’ı seçin.

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

    Uygulama Analizler 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ü.

Uygulama Analizler Ayarlar Değiştirme

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

Uygulama Analizler sayfasını içeren Azure Spring Apps örneğini gösteren Azure portalının ekran görüntüsü.

Derleme Hizmeti'nde Uygulama Analizler derleme paketi bağlamalarını düzenleme

Derleme Hizmeti'nde Uygulama Analizler 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.

Uygulama Analizler ayarları, Bağlama türü sütunu altında listelenen Uygulama Analizler öğesinde bulunur.

  1. Uygulama Analizler 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 Uygulama Analizler yönetme

Azure CLI komutlarını kullanarak Uygulama Analizler 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 Analizler yapılandırmak için aşağıdaki komutu kullanın. Bağımsız değişken için app-insights bir Uygulama Analizler 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 Uygulama Analizler 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

Uygulama Analizler devre dışı bırakma

Azure Spring Apps örneği oluştururken Uygulama Analizler 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

Uygulama Analizler ayarlarını denetleme

Mevcut bir Azure Spring Apps örneğinin Uygulama Analizler 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>

Uygulama Analizler Güncelleştirme

Uygulama Analizler 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>

Uygulama Analizler 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 Uygulama Analizler devre dışı bırakma

Mevcut bir Azure Spring Apps örneğinde Application Analizler 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

Uygulama Analizler 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ı Analizler türüyle ApplicationInsightstümleştirmek için buildpack bağlamalarını kullanır. Daha fazla bilgi için bkz . APM tümleştirmesi ve CA sertifikalarını yapılandırma.

Application Analizler 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 buildpack bağlamalarını listelemek ve Application Analizler 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 Analizler 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 Analizler 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 Analizler 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/monitoring Ayarlar.

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/monitoring Ayarlar.

{
  "$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 Analizler örneğinde veya SamplingRate değerinde yapılan değişiklikler uygulamanın yeniden başlatılmasını gerektirmez.

  • 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 Uygulama Analizler 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 Analizler'da 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, Uygulama Analizler portalında, dün oluşturulan ancak ardından 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 Uygulama Analizler 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 civarındaki bir moladan sonra, Application Analizler'dan 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