Använda Application Insights Java In-Process Agent i Azure Spring Apps
Kommentar
Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
Med Spring Boot Native Image-program använder du Azure Monitor OpenTelemetry Distro/Application Insights i Det inbyggda Java-avbildningsprojektet för Spring Boot i stället för Application Insights Java-agenten.
Den här artikeln gäller för: ✔️ Standardförbrukning och dedikerad (förhandsversion) ✔️ Basic/Standard ✔️ Enterprise
Den här artikeln beskriver hur du övervakar program med hjälp av Application Insights Java-agenten i Azure Spring Apps.
Med den här funktionen kan du:
- Sök efter spårningsdata med olika filter.
- Visa en beroendekarta över Spring-program.
- Kontrollera prestanda för begäranden.
- Övervaka realtidsstatistik i realtid.
- Kontrollera fel i begäran.
- Kontrollera programmått.
- Kontrollera programloggarna.
Application Insights kan ge många observerbara perspektiv, inklusive:
- Programkarta
- Prestanda
- Fel
- Mått
- Live Metrics
- Tillgänglighet
- Loggar
Använda Application Insights-funktionen
När Application Insights-funktionen är aktiverad kan du:
I navigeringsfönstret väljer du Application Insights för att visa översiktssidan för Application Insights. På sidan Översikt visas en översikt över alla program som körs.
Välj Programkarta för att se status för anrop mellan program.
Välj länken mellan customers-service och
petclinic
för att se mer information, till exempel en fråga från SQL.Välj en slutpunkt för att se alla program som gör begäranden till slutpunkten.
I navigeringsfönstret väljer du Prestanda för att se prestandadata för alla programåtgärder, beroenden och roller.
I navigeringsfönstret väljer du Fel för att se oväntade fel eller undantag från dina program.
I navigeringsfönstret väljer du Mått och väljer namnområdet för att se både Spring Boot-mått och anpassade mått, om det finns några.
I navigeringsfönstret väljer du Live Metrics för att se realtidsmått för olika dimensioner.
I navigeringsfönstret väljer du Tillgänglighet för att övervaka tillgängligheten och svarstiden för webbappar genom att skapa tillgänglighetstester i Application Insights.
I navigeringsfönstret väljer du Loggar för att visa alla programloggar eller ett programs loggar när du filtrerar efter
cloud_RoleName
.
Hantera Application Insights med hjälp av Azure Portal
Aktivera Java In-Process Agent med hjälp av följande procedur.
Gå till tjänsten | Översiktssida för tjänstinstansen och välj sedan Application Insights i avsnittet Övervakning .
Välj Aktivera Application Insights för att aktivera Application Insights i Azure Spring Apps.
Välj en befintlig instans av Application Insights eller skapa en ny.
När Application Insights är aktiverat kan du konfigurera en valfri samplingsfrekvens (standardvärdet 10,0 %).
Spara ändringarna genom att klicka på Spara.
Kommentar
Använd inte samma Application Insights-instans i olika Azure Spring Apps-instanser, eller så visas blandade data.
Du kan använda portalen för att kontrollera eller uppdatera de aktuella inställningarna i Application Insights.
Aktivera Application Insights med hjälp av Azure Portal
Välj Application Insights.
Aktivera Application Insights genom att välja Redigera bindning eller hyperlänken Obundet.
Redigera Application Insights eller Samplingsfrekvens och välj sedan Spara.
Inaktivera Application Insights
Välj Application Insights.
Välj Ta bort bindning för att inaktivera Application Insights.
Ändra Application Insights-inställningar
Välj namnet under kolumnen Application Insights för att öppna avsnittet Application Insights.
Redigera Application Insights buildpack-bindningar i Build Service
Följ dessa steg för att kontrollera och uppdatera de aktuella inställningarna för Application Insights buildpack-bindningar i Build Service:
- Välj Byggtjänst.
- Välj din byggare.
- Välj Redigera under kolumnen Bindningar.
Application Insights-inställningar finns i applicationinsights-objektet som visas under kolumnen Bindningstyp.
Välj den bundna hyperlänken eller välj Redigera bindning under ellipsen för att öppna och redigera Application Insights buildpack-bindningar.
Redigera bindningsinställningarna och välj sedan Spara.
Hantera Application Insights med Hjälp av Azure CLI
Du kan hantera Application Insights med hjälp av Azure CLI-kommandon. I följande kommandon måste du ersätta platshållartexten ><med de värden som beskrivs. Platshållaren <för tjänstinstansnamn> refererar till namnet på din Azure Spring Apps-instans.
Aktivera Application Insights
Använd följande kommando för att konfigurera Application Insights när du skapar en Azure Spring Apps-instans. app-insights
För argumentet kan du ange ett Application Insights-namn eller resurs-ID.
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
Du kan också använda en Application Insights-anslutningssträng (önskad) eller instrumentationsnyckel, som du ser i följande exempel.
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
Inaktivera Application Insights
Om du vill inaktivera Application Insights när du skapar en Azure Spring Apps-instans använder du följande kommando:
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
Kontrollera Application Insights-inställningarna
Om du vill kontrollera Application Insights-inställningarna för en befintlig Azure Spring Apps-instans använder du följande kommando:
az spring app-insights show \
--resource-group <resource-group-name> \
--name <service-instance-name>
Uppdatera Application Insights
Om du vill uppdatera Application Insights till att använda en anslutningssträng (önskad) eller instrumentationsnyckel använder du följande kommando:
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>
Om du vill uppdatera Application Insights för att använda resursnamnet eller ID:t använder du följande kommando:
az spring app-insights update \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--app-insights <name-or-resource-ID> \
--sampling-rate <sampling-rate>
Inaktivera Application Insights med uppdateringskommandot
Om du vill inaktivera Application Insights på en befintlig Azure Spring Apps-instans använder du följande kommando:
az spring app-insights update \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--disable
Hantera Application Insights buildpack-bindningar
Det här avsnittet gäller endast enterprise-planen och innehåller instruktioner som kompletterar föregående avsnitt.
Azure Spring Apps Enterprise-planen använder buildpack-bindningar för att integrera Azure Application Insights med typen ApplicationInsights
. Mer information finns i Konfigurera APM-integrering och CA-certifikat.
Om du vill skapa en Application Insights buildpack-bindning använder du följande kommando:
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>
Om du vill visa en lista över alla buildpack-bindningar och hitta Application Insights-bindningar av typen ApplicationInsights
använder du följande kommando:
az spring build-service builder buildpack-binding list \
--resource-group <your-resource-group-name> \
--service <your-service-resource-name> \
--builder-name <your-builder-name>
Om du vill ersätta en Application Insights buildpack-bindning använder du följande kommando:
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>
Använd följande kommando för att hämta en Application Insights buildpack-bindning:
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>
Om du vill ta bort en Application Insights buildpack-bindning använder du följande kommando:
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
I följande avsnitt beskrivs hur du automatiserar distributionen med hjälp av Bicep, Azure Resource Manager-mallar (ARM-mallar) eller Terraform.
Bicep
Om du vill distribuera med en Bicep-fil kopierar du följande innehåll till en main.bicep-fil . Mer information finns i 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-mallar
Om du vill distribuera med hjälp av en ARM-mall kopierar du följande innehåll till en azuredeploy.json fil. Mer information finns i 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
Använd följande mall för en Terraform-distribution. Mer information finns i 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"
}
}
Automation i Enterprise-planen väntar på support. Dokumentationen läggs till så snart den är tillgänglig.
Uppdatering/uppgradering av Java-agent
Java-agenten uppdateras/uppgraderas regelbundet med JDK:t, vilket kan påverka följande scenarier.
Kommentar
JDK-versionen uppdateras/uppgraderas kvartalsvis per år.
- Befintliga program som använder Java-agenten innan de uppdaterar/uppgraderar påverkas inte.
- Program som skapats efter uppdatering/uppgradering använder den nya versionen av Java-agenten.
- Befintliga program som inte tidigare använde Java-agenten kräver omstart eller omdistribution för att använda den nya versionen av Java-agenten.
Java-agenten uppdateras/uppgraderas när buildpack uppdateras.
Frekvent inläsning av Java-agentkonfiguration
Azure Spring Apps har en mekanism för snabb inläsning för att justera inställningarna för agentkonfigurationen utan omstart av program.
Kommentar
Mekanismen för frekvent inläsning har en fördröjning i minuter.
Om Java-agenten redan är aktiverad kräver ändringar i Application Insights-instansen eller
SamplingRate
värdet inte att programmet startas om.Om du aktiverar Java-agenten måste du starta om program.
När du inaktiverar Java-agenten slutar program att skicka alla övervakningsdata efter en fördröjning på några minuter. Du kan starta om program för att ta bort agenten från Java-körningsmiljön.
Konceptmatchning mellan Azure Spring Apps och Application Insights
Azure Spring Apps | Programinsikter |
---|---|
App |
* Programkarta/roll * Live-mått/roll * Fel/roller/molnroll * Prestanda/roller/kan roll |
App Instance |
* Programkarta/rollinstans * Live-mått/tjänstnamn * Fel/roller/molninstans * Prestanda/roller/kan instans |
Namnet App Instance
från Azure Spring Apps ändras eller genereras i följande scenarier:
- Du skapar ett nytt program.
- Du distribuerar en JAR-fil eller källkod till ett befintligt program.
- Du initierar en blå/grön distribution.
- Du startar om programmet.
- Du stoppar distributionen av ett program och startar sedan om det.
När data lagras i Application Insights innehåller den historiken för Azure Spring Apps-appinstanser som skapats eller distribuerats sedan Java-agenten aktiverades. I Application Insights-portalen kan du till exempel se programdata som skapades i går, men sedan tas bort inom ett visst tidsintervall, till exempel de senaste 24 timmarna. Följande scenarier visar hur detta fungerar:
- Du skapade ett program runt 08:00 idag från Azure Spring Apps med Java-agenten aktiverad, och sedan distribuerade du en JAR-fil till det här programmet runt 08:10 idag. Efter några tester ändrar du koden och distribuerar en ny JAR-fil till det här programmet kl. 08:30 idag. Sedan tar du en paus och när du kommer tillbaka runt 11:00 kontrollerar du vissa data från Application Insights. Du ser:
- Tre instanser i programkartan med tidsintervall under de senaste 24 timmarna och fel, prestanda och mått.
- En instans i Programkarta med ett tidsintervall under den senaste timmen och Fel, Prestanda och Mått.
- En instans i Live Metrics.
- Du skapade ett program runt 08:00 idag från Azure Spring Apps med Java-agenten aktiverad, och sedan distribuerade du en JAR-fil till det här programmet runt 08:10 idag. Runt 08:30 i dag provar du en blå/grön distribution med en annan JAR-fil. För närvarande har du två distributioner för det här programmet. Efter en paus runt 11:00 idag vill du kontrollera vissa data från Application Insights. Du ser:
- Tre instanser i programkartan med tidsintervall under de senaste 24 timmarna och fel, prestanda och mått.
- Två instanser i programkartan med tidsintervall under den senaste timmen och fel, prestanda och mått.
- Två instanser i Live Metrics.