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, Standarda Enterprise vstoupily do důchodového období 17. března 2025. Další informace najdete v oznámení o vyřazení Azure Spring Apps.

S aplikacemi Spring Boot nativní image používejte projekt Azure Monitor OpenTelemetry Distro / Application Insights v nativní image aplikace Spring Boot místo agenta Java Application Insights.

Tento článek se vztahuje na:✅ 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:

  • Prohledávejte data trasová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
  • Živé metriky
  • Dostupnost
  • Protokoly

Použití funkce Application Insights

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

  • V navigačním podokně vyberte Application Insights pro zobrazení stránky Přehled Application Insights. Na stránce Přehled se zobrazí přehled všech spuštěných aplikací.

  • Vyberte mapu aplikací a zobrazte stav volání mezi aplikacemi.

    Snímek obrazovky webu Azure Portal zobrazící stránku mapy aplikace Application Insights

  • Pokud chcete zobrazit další podrobnosti, jako je dotaz z SQL, vyberte propojení mezi službami zákazníků a petclinic .

  • 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 Azure Portal zobrazující stránku s výkonem 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 Azure portálu zobrazující stránku Selhání v 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 Azure portálu, který ukazuje stránku Protokolů služby Application Insights.

Správa Application Insights pomocí webu Azure Portal

Pomocí následujícího postupu povolte in-process agenta 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 Povolit Application Insights aktivujete 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 Upravit vazbu nebo Nevázaný odkaz.

    Snímek obrazovky webu Azure Portal znázorňující instanci 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 Odvázání vazby deaktivujte Application Insights.

    Snímek obrazovky Azure portal, který zobrazuje instanci služby Azure Spring Apps se stránkou Application Insights a možností Zrušit vazbu.

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 svého tvůrce.
  3. Ve sloupci Vazby vyberte Upravit .

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

  1. Vyberte hypertextový odkaz Bound nebo možnost Upravit vazbu pod ikonou tří teček, abyste otevřeli a upravili vazby balíčku buildu Application Insights.

    Snímek obrazovky portálu Azure, který zobrazuje úpravy vazeb pro podokno výchozího nástroje.

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

    Snímek obrazovky portálu Azure s podoknem pro úpravu vazby.

Správa Application Insights pomocí Azure CLI

Application Insights můžete spravovat pomocí příkazů Azure CLI. V následujících příkazech se ujistěte, že nahradíte text <placeholder> popsanými hodnotami. Zástupný <service-instance-name> symbol 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 Azure Application 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>

Chcete-li vypsat všechny vazby buildpacku a najít vazby Application Insights typu ApplicationInsights, 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 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.

Biceps

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 zatím nemá 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 Java agenta pro dynamické 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á několikaminutové zpoždění.

  • 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/Role
* Živé metriky/Role
* Selhání, role nebo cloudová role
* Výkon/ Role / Může role
App Instance * Mapa aplikace/Instance role
* Live Metrics /Service Name
* Selhání, role nebo cloudová instance
* Výkon/Role/Mohla 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 kolem 8:00 vytvořili aplikaci z Azure Spring Apps s aktivovaným agentem Java a pak jste kolem 8:10 nasadili do této aplikace soubor JAR. 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, včetně selhání, výkonu a metrik.
    • Jedna instance v živých metrikách
  • Dnes jste kolem 8:00 vytvořili aplikaci z Azure Spring Apps s aktivovaným agentem Java a pak jste kolem 8:10 nasadili do této aplikace soubor JAR. Dnes přibližně v 8:30 vyzkouší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