Spring Boot-alkalmazások monitorozása rugalmas APM Java-ügynökkel

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik: ✔️ Basic/Standard ❌ Enterprise

Ez a cikk azt ismerteti, hogyan figyelheti az Azure Spring Appsben futó Spring Boot-alkalmazásokat az Elastic APM-ügynökkel.

A rugalmas megfigyelhetőségi megoldással egységes megfigyelhetőséget érhet el a következőkkel:

Az alábbi videó az Elasticet használó Spring Boot-alkalmazások egységes megfigyelhetőségét mutatja be.


Előfeltételek

A Spring Petclinic alkalmazás üzembe helyezése

Ez a cikk a Spring Petklinic mintát használja a szükséges lépések végigjárásához. A mintaalkalmazás üzembe helyezéséhez kövesse az alábbi lépéseket:

  1. Kövesse a Spring Boot-alkalmazások üzembe helyezésének lépéseit az Azure Spring Apps és a MySQL használatával, amíg el nem éri a Spring Boot-alkalmazások üzembe helyezését és a környezeti változók beállítását .

  2. Az Azure Spring Apps Azure CLI-bővítményének használatával hozzon létre egy alkalmazást az Azure Spring Appsben való futtatáshoz:

    az spring app create \
       --resource-group <your-resource-group-name> \
       --service <your-Azure-Spring-Apps-instance-name> \
       --name <your-app-name> \
       --is-public true
    

Egyéni állandó tárterület engedélyezése az Azure Spring Appshez

Az egyéni állandó tárterület engedélyezéséhez kövesse az alábbi lépéseket:

  1. Kövesse a Saját állandó tárterület engedélyezése az Azure Spring Appsben című témakör lépéseit.

  2. Az alábbi Azure CLI-paranccsal állandó tárterületet adhat hozzá az Azure Spring Apps-alkalmazásokhoz.

    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>
    

Rugalmas APM Java-ügynök aktiválása

A folytatás előtt hasznosnak kell lennie az Elastic APM-kiszolgáló kapcsolati információira, ami feltételezi, hogy üzembe helyezte az Elastict az Azure-ban. További információ: Az Elastic üzembe helyezése és kezelése a Microsoft Azure-ban. Az információk beszerzéséhez kövesse az alábbi lépéseket:

  1. Az Azure Portalon nyissa meg a rugalmas üzembe helyezés Áttekintés lapját, majd válassza a Rugalmas felhőbeli üzembe helyezés kezelése lehetőséget.

    Képernyőkép az Azure Portal Elasticsearch (Elastic Cloud) oldaláról.

  2. Az Elastic Cloud Console üzembe helyezése alatt válassza az APM > Flotta szakaszt az Elastic APM Server végpontjának és titkos jogkivonatának lekéréséhez.

    Képernyőkép az Elastic APM > Fleet oldalról, amelyen ki van emelve a Másolás végpont és az APM-kiszolgáló titkos jogkivonata.

  3. Töltse le az Elastic APM Java-ügynököt a Maven Centralról.

    Képernyőkép a Maven Centralról a jar download kiemelésével.

  4. Töltse fel az Elastic APM-ügynököt a korábban engedélyezett egyéni állandó tárterületre. Nyissa meg az Azure Fileshare-t, és válassza a Feltöltés lehetőséget az ügynök JAR-fájljának hozzáadásához.

    Képernyőkép az Azure Portalról, amelyen a Fájlmegosztás lap Fájlok feltöltése panelje látható.

  5. Miután létrehozta az Elastic APM-végpontot és a titkos jogkivonatot, az alábbi paranccsal aktiválhatja az Elastic APM Java-ügynököt az alkalmazások üzembe helyezésekor. A helyőrző <agent-location> az Elastic APM Java-ügynök csatlakoztatott tárolóhelyére hivatkozik.

    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>'
    

Kiépítés automatizálása

Kiépítési automatizálási folyamatot terraform, Bicep vagy Azure Resource Manager-sablon (ARM-sablon) használatával is futtathat. Ez a folyamat teljes körű gyakorlati élményt nyújt a létrehozott és üzembe helyezhető új alkalmazások eszközzéséhez és monitorozásához.

Kiépítés automatizálása a Terraform használatával

A környezeti változók Terraform-sablonban való konfigurálásához adja hozzá a következő kódot a sablonhoz, és cserélje le a <...> helyőrzőket a saját értékeire. További információ: Active Azure Spring Apps-telepítés kezelése.

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>"
  }
}

Kiépítés automatizálása Bicep-fájl használatával

Egy Bicep-fájl környezeti változóinak konfigurálásához adja hozzá a következő kódot a fájlhoz, és cserélje le a <...> helyőrzőket a saját értékeire. További információ: 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>',
  ...
}

Kiépítés automatizálása ARM-sablonnal

A környezeti változók ARM-sablonban való konfigurálásához adja hozzá a következő kódot a sablonhoz, és cserélje le a <...> helyőrzőket a saját értékeire. További információ: 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>",
  ...
}

Rugalmas APM Java-ügynök frissítése

A frissítés megtervezéséhez tekintse meg az Azure-beli Elastic Cloud verziófrissítési verzióit és az APM kompatibilitástörő módosításait . Az APM-kiszolgáló frissítése után töltse fel az Elastic APM Java-ügynök JAR-fájlját az egyéni állandó tárolóba. Ezután indítsa újra az alkalmazásokat a frissített JVM-beállításokkal, amelyek a frissített Elastic APM Java-ügynök JAR-ra mutatnak.

Alkalmazások és metrikák monitorozása rugalmas APM-lel

Az alkalmazások és metrikák monitorozásához kövesse az alábbi lépéseket:

  1. Az Azure Portalon nyissa meg a Rugalmas üzembe helyezés Áttekintés lapját, majd válassza a Kibana hivatkozást.

    Képernyőkép az Azure Portalról, amelyen az Elasticsearch oldal látható, és a Kibana üzembehelyezési URL-cím ki van emelve.

  2. A Kibana megnyitása után keresse meg az APM-et a keresősávon, majd válassza az APM lehetőséget.

    Képernyőkép az Elastic/Kibana szolgáltatásról, amely az APM keresési eredményeit jeleníti meg.

A Kibana APM a válogatott alkalmazás, amely támogatja az alkalmazásfigyelési munkafolyamatokat. Itt olyan magas szintű részleteket tekinthet meg, mint a kérések/válaszidők, az átviteli sebesség és a szolgáltatásban a tranzakciók, amely a legnagyobb hatással van az időtartamra.

Az APM-szolgáltatások áttekintési oldalát megjelenítő Elastic/Kibana képernyőképe.

Egy adott tranzakcióban részletezheti a tranzakcióspecifikus részleteket, például az elosztott nyomkövetést.

Képernyőkép az Elastic/Kibana szolgáltatásról, amelyen az APM-szolgáltatások tranzakciói lap látható.

A rugalmas APM Java-ügynök a kibana alkalmazással elérhető Azure Spring Apps-alkalmazások JVM-metrikáit is rögzíti a felhasználók számára hibaelhárítás céljából.

Az APM Services JVM oldalát megjelenítő Elastic/Kibana képernyőképe.

A rugalmas megoldás beépített AI-motorját használva engedélyezheti az Anomáliadetektálást az Azure Spring Apps-szolgáltatásokban, és kiválaszthat egy megfelelő műveletet – például Teams-értesítés, JIRA-probléma létrehozása, webhook-alapú API-hívás stb.

Képernyőkép az Elastic/Kibana szolgáltatásról, amelyen az APM-szolgáltatások lap látható, amelyen a Szabály létrehozása panel látható, a Műveletek pedig ki van emelve.

Következő lépések