Monitorování aplikací Spring Boot pomocí agenta Elastic APM Java
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.
Tento článek se vztahuje na:✅ Basic/Standard ❎ Enterprise
Tento článek vysvětluje, jak pomocí agenta Elastic APM monitorovat aplikace Spring Boot spuštěné v Azure Spring Apps.
S řešením elastické pozorovatelnosti můžete dosáhnout jednotné pozorovatelnosti pro:
- Monitorujte aplikace pomocí agenta Javy Elastic APM a trvalé úložiště s azure Spring Apps.
- K odeslání protokolů Azure Spring Apps do Elastic použijte nastavení diagnostiky. Další informace najdete v tématu Analýza protokolů pomocí Elastic (ELK) pomocí nastavení diagnostiky.
Následující video představuje jednotnou pozorovatelnost pro aplikace Spring Boot využívající Elastic.
Požadavky
Nasazení aplikace Spring Petclinic
Tento článek používá ukázku Spring Petclinic k procházení požadovaných kroků. K nasazení ukázkové aplikace použijte následující postup:
Postupujte podle kroků v tématu Nasazení aplikací Spring Boot pomocí Azure Spring Apps a MySQL , dokud se nedostanete do části Nasazení aplikací Spring Boot a nenastavíte proměnné prostředí.
Pomocí rozšíření Azure Spring Apps pro Azure CLI vytvořte aplikaci pro spuštění v Azure Spring Apps pomocí následujícího příkazu:
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --is-public true
Povolení vlastního trvalého úložiště pro Azure Spring Apps
Pomocí následujících kroků povolte vlastní trvalé úložiště:
Postupujte podle kroků v tématu Povolení vlastního trvalého úložiště v Azure Spring Apps.
Pomocí následujícího příkazu Azure CLI přidejte trvalé úložiště pro aplikace Azure Spring Apps.
az spring app append-persistent-storage \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --persistent-storage-type AzureFileVolume \ --share-name <your-Azure-file-share-name> \ --mount-path <unique-mount-path> \ --storage-name <your-mounted-storage-name>
Aktivace agenta Elastic APM Java
Než budete pokračovat, budete potřebovat užitečné informace o připojení k serveru Elastic APM, které předpokládají, že jste nasadili Elastic v Azure. Další informace najdete v tématu Nasazení a správa Elastic v Microsoft Azure. Pokud chcete získat tyto informace, postupujte následovně:
Na webu Azure Portal přejděte na stránku Přehled vašeho elastického nasazení a pak vyberte Spravovat nasazení elastického cloudu.
V rámci nasazení v konzole Elastic Cloud vyberte část APM &Fleet a získejte koncový bod a tajný token serveru Elastic APM.
Stáhněte si agenta Elastic APM Java z Maven Central.
Nahrajte agenta Elastic APM do vlastního trvalého úložiště, které jste povolili dříve. Přejděte do sdílené složky Azure a výběrem možnosti Nahrát přidejte soubor JAR agenta.
Jakmile budete mít koncový bod Elastic APM a token tajného kódu, pomocí následujícího příkazu aktivujte agenta Elastic APM Java při nasazování aplikací. Zástupný symbol
<agent-location>
odkazuje na připojené umístění úložiště agenta Elastic APM Java.az spring app deploy \ --name <your-app-name> \ --artifact-path <unique-path-to-your-app-jar-on-custom-storage> \ --jvm-options='-javaagent:<elastic-agent-location>' \ --env ELASTIC_APM_SERVICE_NAME=<your-app-name> \ ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package-name>' \ ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>' \ ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
Automatizace zřizování
Kanál automatizace zřizování můžete spustit také pomocí Terraformu, Bicep nebo šablony Azure Resource Manageru (šablona ARM). Tento kanál může poskytovat kompletní praktické prostředí pro instrumentaci a monitorování všech nových aplikací, které vytvoříte a nasadíte.
Automatizace zřizování pomocí Terraformu
Pokud chcete nakonfigurovat proměnné prostředí v šabloně Terraformu, přidejte do šablony následující kód a nahraďte <> zástupné symboly vlastními hodnotami. Další informace najdete v tématu Správa aktivního nasazení služby Azure Spring Apps.
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:<elastic-agent-location>"
...
environment_variables = {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
}
}
Automatizace zřizování pomocí souboru Bicep
Pokud chcete nakonfigurovat proměnné prostředí v souboru Bicep, přidejte do souboru následující kód a nahraďte <> zástupné symboly vlastními hodnotami. Další informace najdete v tématu Microsoft.AppPlatform Spring/apps/deployments.
deploymentSettings: {
environmentVariables: {
ELASTIC_APM_SERVICE_NAME='<your-app-name>',
ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package>',
ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>',
ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
},
jvmOptions: '-javaagent:<elastic-agent-location>',
...
}
Automatizace zřizování pomocí šablony ARM
Pokud chcete nakonfigurovat proměnné prostředí v šabloně ARM, přidejte do šablony následující kód a zástupné symboly ...> nahraďte <vlastními hodnotami. Další informace najdete v tématu Microsoft.AppPlatform Spring/apps/deployments.
"deploymentSettings": {
"environmentVariables": {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
},
"jvmOptions": "-javaagent:<elastic-agent-location>",
...
}
Upgrade agenta Elastic APM Java
Pokud chcete naplánovat upgrade, přečtěte si téma Upgradování verzí elastického cloudu v Azure a zásadních změn pro APM. Po upgradu serveru APM nahrajte soubor JAR agenta Elastic APM Java do vlastního trvalého úložiště. Potom restartujte aplikace s aktualizovanými možnostmi prostředí JVM odkazujícími na upgradovaný soubor JAR agenta Elastic APM Java.
Monitorování aplikací a metrik pomocí Elastic APM
Pomocí následujících kroků můžete monitorovat aplikace a metriky:
Na webu Azure Portal přejděte na stránku Přehled vašeho elastického nasazení a pak vyberte odkaz Kibana.
Po otevření Kibany vyhledejte na panelu hledání APM a pak vyberte APM.
Kibana APM je kurátorovaná aplikace pro podporu pracovních postupů monitorování aplikací. Tady můžete zobrazit podrobnosti vysoké úrovně, jako jsou doby požadavků/odezvy, propustnost a transakce ve službě s největším dopadem na dobu trvání.
Můžete přejít k podrobnostem v konkrétní transakci, abyste porozuměli podrobnostem specifickým pro transakci, jako je distribuované trasování.
Agent Elastic APM v Javě také zaznamenává metriky JVM z aplikací Azure Spring Apps, které jsou k dispozici v aplikaci Kibana pro uživatele pro řešení potíží.
Pomocí integrovaného modulu AI v elastickém řešení můžete také povolit detekci anomálií ve službě Azure Spring Apps Services a zvolit odpovídající akci, jako je oznámení Teams, vytvoření problému JIRA, volání rozhraní API založené na webhooku a další.