Sdílet prostřednictvím


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

Poznámka:

Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.

Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.

S aplikacemi nativní bitové kopie Spring Boot používejte místo agenta Java Application Insights distro / Application Insights v nativní imagi Spring Boot projekt aplikace Java Pro Azure Monitor OpenTelemetry.

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 Java Application Insights 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í.

Application Insights může poskytovat řadu pozorovatelných perspektiv, mezi které patří:

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

Použití funkce Application Insights

Když je funkce Application Insights povolená, můžete:

  • V navigačním podokně vyberte Application Insights a zobrazte stránku Přehled application Insights. 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 zobrazící stránku mapy aplikace Application Insights

  • 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 Application Insights

  • 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í Application Insights

  • 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 Application Insights

  • 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 Live Metrics služby Application Insights

  • V navigačním podokně vyberte Dostupnost , abyste mohli monitorovat dostupnost a rychlost odezvy webových aplikací vytvořením testů dostupnosti v Application Insights.

    Snímek obrazovky webu Azure Portal se stránkou dostupnosti Application Insights

  • 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 Application Insights

Správa Application Insights pomocí webu Azure Portal

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

  1. Přejít do služby | Stránka přehledu instance služby a pak v části Monitorování vyberte Application Insights.

  2. Výběrem možnosti Povolit Application Insights povolte Application Insights v Azure Spring Apps.

  3. Vyberte existující instanci Application Insights nebo vytvořte novou.

  4. Když je služba Application Insights povolená, můžete nakonfigurovat jednu volitelnou vzorkovací frekvenci (výchozí 10,0 %).

    Snímek obrazovky webu Azure Portal se stránkou Application Insights pro Azure Spring Apps se zvýrazněným zaškrtávacím polem Povolit Application Insights

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

Poznámka:

Nepoužívejte stejnou instanci Application Insights 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 Application Insights.

Povolení Application Insights pomocí webu Azure Portal

  1. Vyberte Application Insights.

  2. Povolte Application Insights 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 Application Insights a možností Upravit vazbu

  3. Upravte Application Insights nebo vzorkovací frekvenci a pak vyberte Uložit.

Zakázání Application Insights

  1. Vyberte Application Insights.

  2. Výběrem možnosti Zrušit vazbu zakažte Application Insights.

    Snímek obrazovky webu Azure Portal zobrazující instanci Azure Spring Apps se stránkou Application Insights a možností Zrušit vazbu vazby

Změna nastavení Application Insights

Výběrem názvu ve sloupci Application Insights otevřete oddíl Application Insights.

Snímek obrazovky webu Azure Portal znázorňující instanci Azure Spring Apps se stránkou Application Insights

Úprava vazeb buildpacku Application Insights v buildové službě

Pokud chcete zkontrolovat a aktualizovat aktuální nastavení vazeb buildpacku Application Insights ve službě sestavení, postupujte takto:

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

Nastavení Application Insights najdete v položce ApplicationInsights uvedené ve sloupci Typ vazby.

  1. Výběrem vázaného hypertextového odkazu nebo výběrem možnosti Upravit vazbu pod třemi tečkami otevřete a upravte vazby balíčku buildu Application Insights.

    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 Application Insights pomocí Azure CLI

Application Insights 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 Application Insights při vytváření instance Azure Spring Apps, použijte následující příkaz. app-insights Jako argument můžete zadat název Application Insights 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řipojovací řetězec Application Insights (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í Application Insights

Pokud chcete při vytváření instance Azure Spring Apps zakázat Application Insights, 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í Application Insights

Pokud chcete zkontrolovat nastavení Application Insights 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 Application Insights

Pokud chcete službu Application Insights aktualizovat 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 Application Insights 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í Application Insights pomocí příkazu update

Pokud chcete zakázat Application Insights u existující instance 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 Application Insights

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 lication Insights s typem ApplicationInsights. Další informace najdete v tématu Konfigurace integrace APM a certifikátů certifikační autority.

K vytvoření vazby buildpacku Application Insights 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>

Pokud chcete vypsat všechny vazby buildpacku a najít vazby Application Insights, použijte ApplicationInsightsná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 Application Insights, 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>

K získání vazby buildpacku Application Insights 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>

K odstranění vazby buildpacku Application Insights 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/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
  }
}

Š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/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

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 instance nebo SamplingRate hodnoty Application Insights 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.

Párování konceptů mezi Službami Azure Spring Apps a Application Insights

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 Application Insights, obsahují historii instancí aplikací Azure Spring Apps vytvořených nebo nasazených od povolení agenta Java. Například na portálu Application Insights můžete zobrazit data aplikací 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 uděláte přestávku a když se vrátíte kolem 11:00, zkontrolujete některá data z Application Insights. Vidí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 Application Insights. Vidí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