Övervaka Spring Boot-appar med AppDynamics Java-agenten

Kommentar

Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.

Den här artikeln gäller för: ✔️ Standardförbrukning och dedikerad (förhandsversion) ✔️ Basic/Standard ❌️ Enterprise

Den här artikeln beskriver hur du använder AppDynamics Java-agenten för att övervaka Spring Boot-program i Azure Spring Apps.

Med AppDynamics Java-agenten kan du:

  • Övervakning av program
  • Konfigurera AppDynamics Java Agent med hjälp av miljövariabler
  • Kontrollera alla övervakningsdata från AppDynamics-instrumentpanelen

I följande video introduceras AppDynamics Java-in-processagenten.


Förutsättningar

Aktivera AppDynamics Java-in-processagenten

För hela arbetsflödet måste du:

  • Aktivera AppDynamics Java-in-processagenten i Azure Spring Apps för att generera programstatistikdata.
  • Anslut AppDynamics Agent till AppDynamics Controller för att samla in och visualisera data i kontrollanten.

Diagram som visar AppDynamics Agent med dubbelriktad pil till Spring Boot Apps i Azure Spring Apps och pil som pekar på AppDynamics Agent.

Aktivera ett program med AppDynamics Agent med hjälp av Azure CLI

Använd följande steg för att aktivera ett program via Azure CLI.

  1. Skapa en resursgrupp.

  2. Skapa en instans av Azure Spring Apps.

  3. Skapa ett program med hjälp av följande kommando. Ersätt platshållarna <...> med dina egna värden.

    az spring app create \
        --resource-group "<your-resource-group-name>" \
        --service "<your-Azure-Spring-Apps-instance-name>" \
        --name "<your-app-name>" \
        --is-public true
    
  4. Skapa en distribution med AppDynamics Agent med hjälp av miljövariabler.

    az spring app deploy \
        --resource-group "<your-resource-group-name>" \
        --service "<your-Azure-Spring-Apps-instance-name>" \
        --name "<your-app-name>" \
        --artifact-path app.jar \
        --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \
        --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \
              APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \
              APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \
              APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \
              APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \
              APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \
              APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \
              APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \
              APPDYNAMICS_CONTROLLER_PORT=443
    

Azure Spring Apps förinstallerar AppDynamics Java-agenten på sökvägen /opt/agents/appdynamics/java/javaagent.jar. Du kan aktivera agenten från dina programs JVM-alternativ och sedan konfigurera agenten med hjälp av miljövariabler. Du hittar värden för dessa variabler i Övervaka Azure Spring Apps med Java Agent. Mer information om hur dessa variabler hjälper till att visa och organisera rapporter i AppDynamics-användargränssnittet finns i Nivåer och noder.

Aktivera ett program med AppDynamics-agenten med hjälp av Azure-portalen

Använd följande steg för att aktivera ett program via Azure-portalen.

  1. Gå till din Azure Spring Apps-instans i Azure-portalen.

  2. Välj Appar i avsnittet Inställningar i navigeringsfönstret.

    Skärmbild av Azure-portalen som visar sidan Appar för en Azure Spring Apps-instans.

  3. Välj appen och välj sedan Konfiguration i navigeringsfönstret.

  4. Använd fliken Allmänna inställningar för att uppdatera värden, till exempel JVM-alternativen.

    Skärmbild av Azure-portalen som visar sidan Konfiguration för en app i en Azure Spring Apps-instans med fliken Allmänna inställningar markerad.

  5. Välj Miljövariabler för att lägga till eller uppdatera variablerna som används av ditt program.

    Skärmbild av Azure-portalen som visar sidan Konfiguration med fliken Miljövariabler markerad.

Automatisera etablering

Du kan också köra en pipeline för etableringsautomatisering med hjälp av Terraform-, Bicep- eller Azure Resource Manager-mallen (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:/opt/agents/appdynamics/java/javaagent.jar"
  ...
    environment_variables = {
      "APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
      "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
      "APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
      "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
      "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
      "APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
      "APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
      "APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
      "APPDYNAMICS_CONTROLLER_PORT" : "443"
  }
}

Automatisera etablering med Bicep

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: {
    APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
    APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
    APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
    APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
    APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
    APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
    APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
    APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
    APPDYNAMICS_CONTROLLER_PORT : '443'
  }
  jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}

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": {
    "APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
    "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
    "APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
    "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
    "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
    "APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
    "APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
    "APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
    "APPDYNAMICS_CONTROLLER_PORT" : "443"
  },
  "jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
  ...
}

Granska rapporter på AppDynamics-instrumentpanelen

Det här avsnittet visar olika rapporter i AppDynamics.

Följande skärmbild visar en översikt över dina appar på AppDynamics-instrumentpanelen:

Skärmbild av AppDynamics som visar instrumentpanelen Program.

Fliken Program visar den övergripande informationen för var och en av dina appar, enligt följande skärmbilder med exempelprogram:

  • api-gateway

    Skärmbild av AppDynamics som visar programinstrumentpanelen för api-gateway-exempelappen.

  • customers-service

    Skärmbild av AppDynamics som visar programinstrumentpanelen för exempelappen customers-service.

Följande skärmbild visar hur du kan hämta grundläggande information från instrumentpanelen För databasanrop .

Skärmbild av AppDynamics som visar instrumentpanelen För databasanrop.

Du kan också få information om de långsammaste databasanropen, enligt följande skärmbilder:

Skärmbild av AppDynamics som visar sidan Långsammaste databasanrop.

Skärmbild av AppDynamics som visar sidan Korrelerade ögonblicksbilder som nås från sidan Långsammaste databasanrop.

Följande skärmbild visar minnesanvändningsanalys i avsnittet Heapsidan Minne :

Skärmbild av AppDynamics som visar avsnittet Heap på sidan Minne.

Du kan också se skräpinsamlingsprocessen, som du ser i den här skärmbilden:

Skärmbild av AppDynamics som visar avsnittet Skräpinsamling på sidan Minne.

Följande skärmbild visar sidan Långsamma transaktioner :

Skärmbild av AppDynamics som visar sidan Långsamma transaktioner.

Du kan definiera fler mått för JVM, som du ser i den här skärmbilden av Metric Browser:

Skärmbild av AppDynamics som visar Metric Browser.

Visa AppDynamics-agentloggar

Som standard skriver Azure Spring Apps ut loggarna på informationsnivå för AppDynamics Agent till STDOUT. Loggarna blandas med programloggarna. Du hittar den explicita agentversionen från programloggarna.

Du kan också hämta loggarna för AppDynamics-agenten från följande platser:

  • Azure Spring Apps-loggar
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

Läs mer om uppgradering av AppDynamics Agent

AppDynamics-agenten uppgraderas regelbundet med JDK (kvartalsvis). Agentuppgradering kan påverka följande scenarier:

  • Befintliga program som använder AppDynamics Agent före uppgraderingen är oförändrade, men kräver omstart eller omdistribution för att aktivera den nya versionen av AppDynamics Agent.
  • Program som skapats efter uppgraderingen använder den nya versionen av AppDynamics Agent.

Konfigurera utgående trafik för virtuell nätverksinmatningsinstans

För virtuella nätverksinmatningsinstanser av Azure Spring Apps kontrollerar du att den utgående trafiken är korrekt konfigurerad för AppDynamics Agent. Mer information finns i Cisco AppDynamics SaaS-domäner och IP-intervall och kundansvar för att köra Azure Spring Apps i ett virtuellt nätverk.

Förstå begränsningarna

Information om begränsningarna för AppDynamics-agenten finns i Övervaka Azure Spring Apps med Java Agent.

Nästa steg

Använda Application Insights Java In-Process Agent i Azure Spring Apps