Používání vnitroprocesového agenta Java Application Insights ve službě Azure Spring Apps

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

S aplikacemi nativní bitové kopie Spring Boot používejte místo aplikace Aplikace Přehledy Java projekt aplikace v nativní imagi Spring Boot pomocí distrou OpenTelemetry OpenTelemetry / Application Přehledy.

Tento článek se vztahuje na: ✔️ Využití standardu a vyhrazené (Preview) ✔️ Basic/Standard ✔️ Enterprise

Tento článek vysvětluje, jak monitorovat aplikace pomocí agenta Application Přehledy Java v Azure Spring Apps.

Pomocí této funkce můžete:

  • Data trasování hledání s různými filtry
  • Zobrazení mapy závislostí aplikací Spring
  • Zkontrolujte výkon požadavků.
  • Monitorujte živé metriky v reálném čase.
  • Zkontrolujte selhání požadavků.
  • Zkontrolujte metriky aplikace.
  • Zkontrolujte protokoly aplikací.

Aplikační Přehledy může poskytovat řadu pozorovatelných perspektiv, mezi které patří:

  • Mapa aplikace
  • Výkon
  • Selhání
  • Metriky
  • Live Metrics
  • Dostupnost
  • Protokoly

Použití funkce Přehledy aplikace

Když je povolená funkce Přehledy aplikace, můžete:

  • V navigačním podokně vyberte Přehledy aplikace a zobrazte stránku Přehled Přehledy aplikace. Na stránce Přehled se zobrazí přehled všech spuštěných aplikací.

  • Výběrem možnosti Mapa aplikace zobrazíte stav volání mezi aplikacemi.

    Snímek obrazovky webu Azure Portal znázorňující stránku mapy aplikace Přehledy aplikace

  • Vyberte odkaz mezi službami zákazníků a petclinic zobrazte další podrobnosti, například dotaz z SQL.

  • Výběrem koncového bodu zobrazíte všechny aplikace provádějící požadavky na koncový bod.

  • V navigačním podokně vyberte Výkon a zobrazte údaje o výkonu všech operací, závislostí a rolí všech aplikací.

    Snímek obrazovky webu Azure Portal se stránkou Výkon Přehledy aplikace

  • V navigačním podokně vyberte Selhání a zobrazte případné neočekávané chyby nebo výjimky z vašich aplikací.

    Snímek obrazovky webu Azure Portal se stránkou Selhání Přehledy aplikace

  • V navigačním podokně vyberte Metriky a vyberte obor názvů, abyste viděli metriky Spring Bootu i vlastní metriky( pokud existuje).

    Snímek obrazovky webu Azure Portal se stránkou Metriky Přehledy aplikace

  • V navigačním podokně vyberte Živé metriky a zobrazte metriky v reálném čase pro různé dimenze.

    Snímek obrazovky webu Azure Portal se stránkou Application Přehledy Live Metrics

  • V navigačním podokně vyberte Dostupnost a sledujte dostupnost a rychlost odezvy webových aplikací vytvořením testů dostupnosti v Přehledy aplikace.

    Snímek obrazovky webu Azure Portal se stránkou Dostupnost Přehledy aplikace

  • V navigačním podokně vyberte Protokoly, abyste zobrazili protokoly všech aplikací, nebo protokoly jedné aplikace při filtrování podle cloud_RoleName.

    Snímek obrazovky webu Azure Portal se stránkou Protokoly Přehledy aplikace

Správa Přehledy aplikací pomocí webu Azure Portal

Pomocí následujícího postupu povolte agenta v procesu Javy.

  1. Přejít do služby | Stránka s přehledem instance služby a pak v části Monitorování vyberte Přehledy aplikace.

  2. Pokud chcete povolit Přehledy aplikace v Azure Spring Apps, vyberte Povolit Přehledy aplikací.

  3. Vyberte existující instanci aplikace Přehledy nebo vytvořte novou.

  4. Když je povolená Přehledy aplikace, můžete nakonfigurovat jednu volitelnou vzorkovací frekvenci (výchozí 10,0 %).

    Snímek obrazovky webu Azure Portal se stránkou Přehledy aplikace pro Azure Spring Apps se zvýrazněným zaškrtávacím políčkam Povolit aplikaci Přehledy

  5. Kliknutím na Uložit uložte změny.

Poznámka:

Nepoužívejte stejnou instanci aplikace Přehledy v různých instancích Azure Spring Apps nebo se zobrazují smíšená data.

Pomocí portálu můžete zkontrolovat nebo aktualizovat aktuální nastavení v Přehledy aplikace.

Povolení Přehledy aplikací pomocí webu Azure Portal

  1. Vyberte Application Insights.

  2. Povolte Přehledy aplikace výběrem možnosti Upravit vazbu nebo nevázaný hypertextový odkaz.

    Snímek obrazovky webu Azure Portal s instancí Azure Spring Apps se stránkou Přehledy aplikace a možností Upravit vazbu

  3. Upravte Přehledy aplikace nebo vzorkovací frekvenci a pak vyberte Uložit.

Zakázání Přehledy aplikace

  1. Vyberte Application Insights.

  2. Výběrem možnosti Zrušit vazbu zakažte Přehledy aplikace.

    Snímek obrazovky webu Azure Portal znázorňující instanci Azure Spring Apps se stránkou Přehledy aplikace a možností Zrušit vazbu

Změna Přehledy Nastavení aplikace

Vyberte název ve sloupci Přehledy aplikace a otevřete oddíl Přehledy aplikace.

Snímek obrazovky webu Azure Portal znázorňující instanci Azure Spring Apps se stránkou Přehledy aplikace

Úprava vazeb buildpacku aplikace Přehledy v buildové službě

Chcete-li zkontrolovat a aktualizovat aktuální nastavení pro vazby buildpacku aplikace Přehledy ve službě sestavení, postupujte takto:

  1. Vyberte Službu sestavení.
  2. Zvolte tvůrce.
  3. Ve sloupci Vazby vyberte Upravit .

Nastavení Přehledy aplikace se nachází v položce Aplikace Přehledy uvedená ve sloupci Typ vazby.

  1. Vyberte vázaný hypertextový odkaz nebo vyberte Upravit vazbu pod třemi tečkami a otevřete a upravte vazby balíčku buildpack aplikace Přehledy.

    Snímek obrazovky webu Azure Portal zobrazující vazby pro úpravy výchozího podokna tvůrce

  2. Upravte nastavení vazby a pak vyberte Uložit.

    Snímek obrazovky webu Azure Portal s podoknem Upravit vazbu

Správa Přehledy aplikací pomocí Azure CLI

Přehledy aplikace můžete spravovat pomocí příkazů Azure CLI. V následujících příkazech nezapomeňte zástupný> text nahradit <hodnotami popsanými. Zástupný <symbol pro název> instance služby odkazuje na název vaší instance Azure Spring Apps.

Povolit Application Insights

Pokud chcete nakonfigurovat aplikační Přehledy při vytváření instance Azure Spring Apps, použijte následující příkaz. app-insights Pro argument můžete zadat název aplikace Přehledy název nebo ID prostředku.

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

Můžete také použít Přehledy připojovací řetězec aplikace (upřednostňovaný) nebo instrumentační klíč, jak je znázorněno v následujícím příkladu.

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

Zakázání Přehledy aplikace

Pokud chcete zakázat Přehledy aplikace při vytváření instance Azure Spring Apps, použijte následující příkaz:

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

Kontrola nastavení Přehledy aplikace

Pokud chcete zkontrolovat nastavení Přehledy aplikace existující instance Azure Spring Apps, použijte následující příkaz:

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

Aktualizace Přehledy aplikace

Pokud chcete aktualizovat Přehledy aplikace tak, aby používala připojovací řetězec (upřednostňovaný) nebo instrumentační klíč, použijte následující příkaz:

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>

Pokud chcete aktualizovat Přehledy aplikace tak, aby používal název nebo ID prostředku, použijte následující příkaz:

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

Zakázání Přehledy aplikace pomocí příkazu update

Pokud chcete zakázat Přehledy aplikace v existující instanci Azure Spring Apps, použijte následující příkaz:

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

Správa vazeb buildpacku Přehledy aplikací

Tato část se vztahuje pouze na plán Enterprise a obsahuje pokyny, které doplňují předchozí oddíl.

Plán Azure Spring Apps Enterprise používá vazby buildpacku k integraci Aplikace Azure Přehledy s typem ApplicationInsights. Další informace najdete v tématu Konfigurace integrace APM a certifikátů certifikační autority.

K vytvoření vazby sestavení Přehledy aplikace použijte následující příkaz:

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>

Chcete-li zobrazit seznam všech vazeb buildpacku a najít aplikace Přehledy vazby typuApplicationInsights, použijte následující příkaz:

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

Pokud chcete nahradit vazbu buildpacku Přehledy aplikace, použijte následující příkaz:

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>

Pokud chcete získat vazbu sestavení Přehledy aplikace, použijte následující příkaz:

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>

Pokud chcete odstranit vazbu sestavení Přehledy aplikace, použijte následující příkaz:

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

Následující části popisují, jak automatizovat nasazení pomocí Bicep, šablon Azure Resource Manageru (šablon ARM) nebo Terraformu.

Bicep

Pokud chcete nasadit pomocí souboru Bicep, zkopírujte následující obsah do souboru main.bicep . Další informace najdete v tématu Microsoft.AppPlatform Spring/monitoring Nastavení.

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
  }
}

Šablony ARM

Pokud chcete nasadit pomocí šablony ARM, zkopírujte následující obsah do souboru azuredeploy.json . Další informace najdete v tématu Microsoft.AppPlatform Spring/monitoring Nastavení.

{
  "$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

Pro nasazení Terraformu použijte následující šablonu. Další informace najdete v tématu 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"
  }
}

Automatizace v plánu Enterprise čeká na podporu. Jakmile bude k dispozici, přidá se dokumentace.

Aktualizace nebo upgrade agenta Java

Agent Java se pravidelně aktualizuje nebo upgraduje pomocí sady JDK, což může mít vliv na následující scénáře.

Poznámka:

Verze sady JDK se aktualizuje nebo upgraduje čtvrtletně za rok.

  • Na stávající aplikace, které používají agenta Java před aktualizací nebo upgradem, to neovlivní.
  • Aplikace vytvořené po aktualizaci nebo upgradu používají novou verzi agenta Java.
  • Existující aplikace, které dříve nepoužíval agenta Java, vyžadují restartování nebo opětovné nasazení, aby používaly novou verzi agenta Java.

Agent Java se aktualizuje nebo upgraduje při aktualizaci buildpacku.

Konfigurace agenta Java za horkého načítání

Azure Spring Apps má mechanismus horkého načítání, který umožňuje upravit nastavení konfigurace agenta bez restartování aplikací.

Poznámka:

Mechanismus načítání za tepla má zpoždění v minutách.

  • Pokud je agent Java již povolený, změny v instanci nebo SamplingRate hodnotě aplikace Přehledy nevyžadují restartování aplikace.

  • Pokud povolíte agenta Java, musíte restartovat aplikace.

  • Když zakážete agenta Java, aplikace přestanou odesílat všechna data monitorování po prodlevě v minutách. Aplikace můžete restartovat, abyste agenta odebrali z prostředí modulu runtime Java.

Porovnávání konceptů mezi Azure Spring Apps a aplikačními Přehledy

Azure Spring Apps Application Insights
App * Mapa aplikace nebo role
* Živé metriky nebo role
* Selhání, role nebo cloudová role
* Výkon/ Role / Může role
App Instance * Mapa aplikace nebo instance role
* Live Metrics /Service Name
* Selhání, role nebo cloudová instance
* Výkon/ Role / Mohla by instance

Název App Instance z Azure Spring Apps se změní nebo vygeneruje v následujících scénářích:

  • Vytvoříte novou aplikaci.
  • Do existující aplikace nasadíte soubor JAR nebo zdrojový kód.
  • Zahájíte modré nebo zelené nasazení.
  • Aplikaci restartujete.
  • Zastavíte nasazení aplikace a pak ji restartujete.

Když jsou data uložená v Přehledy aplikace, obsahují historii instancí aplikací Azure Spring Apps vytvořených nebo nasazených od povolení agenta Java. Například na portálu Přehledy aplikace můžete zobrazit data aplikace vytvořená včera, ale pak odstraněná v určitém časovém rozsahu, například za posledních 24 hodin. Následující scénáře ukazují, jak to funguje:

  • Dnes jste vytvořili aplikaci přibližně 8:00 z Azure Spring Apps s povoleným agentem Java a pak jste do této aplikace nasadili soubor JAR přibližně 8:10 dnes. Po nějakém testování změníte kód a nasadíte do této aplikace nový soubor JAR v 8:30 dnes. Pak si uděláte přestávku a když se vrátíte kolem 11:00, zkontrolujete některá data z aplikace Přehledy. Uvidíte:
    • Tři instance v mapě aplikace s časovými rozsahy za posledních 24 hodin a selhání, výkon a metriky
    • Jedna instance v mapě aplikace s časovým rozsahem za poslední hodinu a selhání, výkon a metriky
    • Jedna instance v živých metrikách
  • Dnes jste vytvořili aplikaci přibližně 8:00 z Azure Spring Apps s povoleným agentem Java a pak jste do této aplikace nasadili soubor JAR přibližně 8:10 dnes. Přibližně 8:30 dnes zkusíte modré/zelené nasazení s jiným souborem JAR. V současné době máte pro tuto aplikaci dvě nasazení. Po přestávkě kolem 11:00 dnes chcete zkontrolovat některá data z aplikace Přehledy. Uvidíte:
    • Tři instance v mapě aplikace s časovými rozsahy za posledních 24 hodin a selhání, výkon a metriky
    • Dvě instance v mapě aplikace s časovými rozsahy za poslední hodinu a selhání, výkon a metriky.
    • Dvě instance v živých metrikách

Další kroky