Sdílet prostřednictvím


Monitorování aplikací Spring Boot pomocí agenta AppDynamics Java

Note

Plány Basic, Standarda Enterprise vstoupily do důchodového období 17. března 2025. Pro více informací si přečtěte oznámení o ukončení Azure Spring Apps.

Tento článek se vztahuje na:✅ Basic/Standard ❎️ Enterprise

Tento článek vysvětluje, jak pomocí agenta AppDynamics Java monitorovat aplikace Spring Boot v Azure Spring Apps.

Pomocí agenta AppDynamics Java můžete:

  • Monitorování aplikací
  • Konfigurace agenta AppDynamics Java pomocí proměnných prostředí
  • Kontrola všech dat monitorování z řídicího panelu AppDynamics

Následující video představuje agenta AppDynamics Java v procesu.


Prerequisites

Aktivace agenta v procesu v Javě v AppDynamics

Pro celý pracovní postup potřebujete:

  • Aktivujte agenta in-process v Javě AppDynamics v Azure Spring Apps a vygenerujte data metrik aplikací.
  • Připojte agenta AppDynamics ke kontroleru AppDynamics, abyste mohli shromažďovat a vizualizovat data v kontroleru.

Diagram znázorňující agenta AppDynamics s obousměrnou šipkou do aplikace Spring Boot v Azure Spring Apps a šipkou ukazující na agenta AppDynamics

Aktivace aplikace pomocí agenta AppDynamics pomocí Azure CLI

Pokud chcete aktivovat aplikaci prostřednictvím Azure CLI, postupujte následovně.

  1. Vytvořte skupinu prostředků.

  2. Vytvořte instanci Azure Spring Apps.

  3. Pomocí následujícího příkazu vytvořte aplikaci. Zástupné symboly <...> nahraďte vlastními hodnotami.

    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. Vytvořte nasazení s agentem AppDynamics za použití proměnných prostředí.

    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 předinstaluje agenta AppDynamics Java do cesty /opt/agents/appdynamics/java/javaagent.jar. Agenta můžete aktivovat z možností prostředí JVM vašich aplikací a pak nakonfigurovat agenta pomocí proměnných prostředí. Hodnoty těchto proměnných najdete ve službě Monitor Azure Spring Apps pomocí agenta Java. Další informace o tom, jak tyto proměnné pomáhají zobrazovat a organizovat sestavy v uživatelském rozhraní AppDynamics, najdete v tématu Vrstvy a uzly.

Aktivace aplikace pomocí agenta AppDynamics pomocí webu Azure Portal

Pokud chcete aktivovat aplikaci prostřednictvím webu Azure Portal, postupujte následovně.

  1. Na webu Azure Portal přejděte k vaší instanci Azure Spring Apps.

  2. V části Nastavení navigačního podokna vyberte Aplikace.

    Snímek obrazovky webu Azure Portal se stránkou Aplikace pro instanci Azure Spring Apps

  3. Vyberte aplikaci a pak v navigačním podokně vyberte Konfigurace .

  4. K aktualizaci hodnot, jako jsou možnosti JVM, použijte kartu Obecné nastavení .

    Snímek obrazovky webu Azure Portal znázorňující stránku Konfigurace aplikace v instanci Azure Spring Apps s vybranou kartou Obecné nastavení

  5. Výběrem proměnných prostředí přidejte nebo aktualizujte proměnné používané vaší aplikací.

    Snímek obrazovky webu Azure Portal znázorňující stránku Konfigurace s vybranou kartou Proměnné prostředí

Automatizace zajiště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:/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"
  }
}

Automatizujte zřizování pomocí 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: {
    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'
}

Automatizujte 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 nahraďte <...> zástupné symboly vlastními hodnotami. Další informace najdete v tématu 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",
  ...
}

Prohlížení zpráv na řídicím panelu AppDynamics

Tato část ukazuje různé sestavy v AppDynamics.

Následující snímek obrazovky ukazuje přehled aplikací na řídicím panelu AppDynamics:

Snímek obrazovky AppDynamics znázorňující řídicí panel Aplikace

Karta Aplikace zobrazuje celkové informace pro každou z vašich aplikací, jak je znázorněno na následujících snímcích obrazovky s ukázkovými aplikacemi:

  • api-gateway

    Snímek obrazovky AppDynamics znázorňující řídicí panel aplikace pro ukázkovou aplikaci api-gateway

  • customers-service

    Snímek obrazovky AppDynamics znázorňující řídicí panel aplikace pro ukázkovou aplikaci customers-service.

Následující snímek obrazovky ukazuje, jak získat základní informace z řídicího panelu Databázová volání.

Snímek obrazovky AppDynamics znázorňující řídicí panel Databázová volání

Můžete také získat informace o nejpomalejších voláních databáze, jak je znázorněno na těchto snímcích obrazovky:

Snímek obrazovky AppDynamics, který zobrazuje stránku Nejpomalejší volání databáze

Snímek obrazovky AppDynamics zobrazující stránku Korelační snímky, ke které se přistupuje ze stránky Nejpomalejší volání databáze

Následující snímek obrazovky ukazuje analýzu využití paměti v části Heap na stránce Memory.

Snímek obrazovky AppDynamics znázorňující část Paměti na stránce Heap.

Můžete také vidět proces uvolňování paměti, jak je ukázáno na tomto snímku obrazovky.

Snímek obrazovky AppDynamics, který zobrazuje část Garbage Collection na stránce Paměť.

Následující snímek obrazovky ukazuje stránku Pomalé transakce :

Snímek obrazovky AppDynamics se stránkou Pomalé transakce

Můžete definovat další metriky pro JVM, jak je znázorněno na tomto snímku obrazovky prohlížeče metrik:

Snímek obrazovky AppDynamics, který zobrazuje prohlížeč metrik

Zobrazení protokolů agenta AppDynamics

Azure Spring Apps ve výchozím nastavení zaznamenává protokoly agenta AppDynamics úrovně info do STDOUT. Protokoly systémové jsou zamíchané s protokoly aplikace. Explicitní verzi agenta najdete v protokolech aplikace.

Protokoly agenta AppDynamics můžete získat také z následujících umístění:

  • Protokoly Azure Spring Apps
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

Další informace o upgradu agenta AppDynamics

Agent AppDynamics se pravidelně upgraduje pomocí sady JDK (čtvrtletně). Upgrade agenta může mít vliv na následující scénáře:

  • Stávající aplikace, které před upgradem používají agenta AppDynamics, se nezmění, ale vyžadují restartování nebo opětovné nasazení, aby se zapojily do nové verze agenta AppDynamics.
  • Aplikace vytvořené po upgradu používají novou verzi agenta AppDynamics.

Konfigurace odchozího provozu instance injektáže virtuální sítě

V případě instancí injektáže virtuální sítě služby Azure Spring Apps se ujistěte, že je odchozí provoz správně nakonfigurovaný pro agenta AppDynamics. Podrobnosti najdete v tématu Cisco AppDynamics SaaS domény a rozsahy IP adres a povinnosti zákazníků pro provoz Azure Spring Apps ve virtuální síti.

Porozumění omezením

Informace o omezeních agenta AppDynamics najdete v tématu Monitorování azure Spring Apps pomocí agenta Java.

Další kroky

Používání vnitroprocesového agenta Java Application Insights ve službě Azure Spring Apps