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.
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í.
V navigačním podokně vyberte Selhání a zobrazte případné neočekávané chyby nebo výjimky z vašich aplikací.
V navigačním podokně vyberte Metriky a vyberte obor názvů, abyste viděli metriky Spring Bootu i vlastní metriky( pokud existuje).
V navigačním podokně vyberte Živé metriky a zobrazte metriky v reálném čase pro různé dimenze.
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.
V navigačním podokně vyberte Protokoly, abyste zobrazili protokoly všech aplikací, nebo protokoly jedné aplikace při filtrování podle
cloud_RoleName
.
Správa Application Insights pomocí webu Azure Portal
Pomocí následujícího postupu povolte agenta v procesu Javy.
Přejít do služby | Stránka přehledu instance služby a pak v části Monitorování vyberte Application Insights.
Výběrem možnosti Povolit Application Insights povolte Application Insights v Azure Spring Apps.
Vyberte existující instanci Application Insights nebo vytvořte novou.
Když je služba Application Insights povolená, můžete nakonfigurovat jednu volitelnou vzorkovací frekvenci (výchozí 10,0 %).
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
Vyberte Application Insights.
Povolte Application Insights výběrem možnosti Upravit vazbu nebo Nevázaný hypertextový odkaz.
Upravte Application Insights nebo vzorkovací frekvenci a pak vyberte Uložit.
Zakázání Application Insights
Vyberte Application Insights.
Výběrem možnosti Zrušit vazbu zakažte Application Insights.
Změna nastavení Application Insights
Výběrem názvu ve sloupci Application Insights otevřete oddíl 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:
- Vyberte Službu sestavení.
- Zvolte tvůrce.
- Ve sloupci Vazby vyberte Upravit .
Nastavení Application Insights najdete v položce ApplicationInsights uvedené ve sloupci Typ vazby.
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.
Upravte nastavení vazby a pak vyberte Uložit.
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 ApplicationInsights
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.
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