Övervaka Spring Boot-appar med Elastic APM Java Agent
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.
Den här artikeln gäller för: ✔️ Basic/Standard ❌ Enterprise
Den här artikeln beskriver hur du använder Elastic APM-agenten för att övervaka Spring Boot-program som körs i Azure Spring Apps.
Med den elastiska observerbarhetslösningen kan du uppnå enhetlig observerbarhet för att:
- Övervaka appar med Elastic APM Java Agent och använda beständig lagring med Azure Spring Apps.
- Använd diagnostikinställningar för att skicka Azure Spring Apps-loggar till Elastic. Mer information finns i Analysera loggar med Elastic (ELK) med diagnostikinställningar.
I följande video introduceras enhetlig observerbarhet för Spring Boot-program med elasticitet.
Förutsättningar
Distribuera Spring Petclinic-programmet
Den här artikeln använder Spring Petclinic-exemplet för att gå igenom de steg som krävs. Använd följande steg för att distribuera exempelprogrammet:
Följ stegen i Distribuera Spring Boot-appar med Azure Spring Apps och MySQL tills du når avsnittet Distribuera Spring Boot-program och ange miljövariabler .
Använd Azure Spring Apps-tillägget för Azure CLI med följande kommando för att skapa ett program som ska köras i Azure Spring Apps:
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --is-public true
Aktivera anpassad beständig lagring för Azure Spring Apps
Använd följande steg för att aktivera anpassad beständig lagring:
Följ stegen i Så här aktiverar du din egen beständiga lagring i Azure Spring Apps.
Använd följande Azure CLI-kommando för att lägga till beständig lagring för dina Azure Spring Apps-appar.
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>
Aktivera Elastic APM Java Agent
Innan du fortsätter behöver du din elastic APM-serveranslutningsinformation till hands, vilket förutsätter att du har distribuerat Elastic på Azure. Mer information finns i Distribuera och hantera Elastic på Microsoft Azure. Använd följande steg för att hämta den här informationen:
I Azure Portal går du till sidan Översikt för din elastiska distribution och väljer sedan Hantera elastisk molndistribution.
Under distributionen på Elastic Cloud Console väljer du avsnittet APM & Fleet för att hämta elastic APM Server-slutpunkt och hemlig token.
Ladda ned Elastic APM Java Agent från Maven Central.
Ladda upp Elastic APM-agenten till den anpassade beständiga lagring som du aktiverade tidigare. Gå till Azure Fileshare och välj Ladda upp för att lägga till AGENT JAR-filen.
När du har den elastiska APM-slutpunkten och den hemliga token använder du följande kommando för att aktivera Elastic APM Java-agenten när du distribuerar program. Platshållaren
<agent-location>
refererar till den monterade lagringsplatsen för Elastic APM Java-agenten.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>'
Automatisera etablering
Du kan också köra en pipeline för etableringsautomatisering med Terraform, Bicep eller en Azure Resource Manager-mall (ARM-mall). Den här pipelinen kan ge en fullständig praktisk upplevelse för att instrumentera och övervaka alla nya program som du skapar och distribuerar.
Automatisera etablering med Terraform
Om du vill konfigurera miljövariablerna i en Terraform-mall lägger du till följande kod i mallen och ersätter <platshållarna ...> med dina egna värden. Mer information finns i Hantera en aktiv Azure Spring Apps-distribution.
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>"
}
}
Automatisera etablering med hjälp av en Bicep-fil
Om du vill konfigurera miljövariablerna i en Bicep-fil lägger du till följande kod i filen och ersätter <platshållarna ...> med dina egna värden. Mer information finns i 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>',
...
}
Automatisera etablering med hjälp av en ARM-mall
Om du vill konfigurera miljövariablerna i en ARM-mall lägger du till följande kod i mallen och ersätter <platshållarna ...> med dina egna värden. Mer information finns i 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>",
...
}
Uppgradera Elastic APM Java Agent
Information om hur du planerar uppgraderingen finns i Uppgradera versioner för Elastic Cloud i Azure och Icke-bakåtkompatibla ändringar för APM. När du har uppgraderat APM Server laddar du upp JAR-filen för Elastic APM Java-agenten i den anpassade beständiga lagringen. Starta sedan om dina appar med de uppdaterade JVM-alternativen som pekar på den uppgraderade Elastic APM Java-agenten JAR.
Övervaka program och mått med Elastic APM
Följ stegen nedan för att övervaka program och mått:
I Azure Portal går du till sidan Översikt för din elastiska distribution och väljer sedan länken Kibana.
När Kibana är öppen söker du efter APM i sökfältet och väljer sedan APM.
Kibana APM är det kuraterade programmet som stöder arbetsflöden för programövervakning. Här kan du visa information på hög nivå, till exempel tider för begäran/svar, dataflöde och transaktioner i en tjänst med störst inverkan på varaktigheten.
Du kan öka detaljnivån i en specifik transaktion för att förstå transaktionsspecifik information, till exempel distribuerad spårning.
Elastic APM Java-agenten samlar också in JVM-mått från Azure Spring Apps-appar som är tillgängliga med Kibana App för användare för felsökning.
Med den inbyggda AI-motorn i den elastiska lösningen kan du även aktivera avvikelseidentifiering i Azure Spring Apps-tjänsterna och välja en lämplig åtgärd, till exempel Teams-meddelande, skapande av ett JIRA-problem, ett webhookbaserat API-anrop och andra.