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

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

Tento článek se vztahuje na: ✔️ Spotřeba standardu a vyhrazená (Preview) ✔️ 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 v procesu v javě AppDynamics.


Požadavky

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řipojení agenta AppDynamics do kontroleru AppDynamics ke shromažďování a vizualizaci dat 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í pomocí agenta AppDynamics pomocí 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 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:/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"
  }
}

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

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": {
    "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",
  ...
}

Kontrola sestav 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 služby customers

Následující snímek obrazovky ukazuje, jak získat základní informace z řídicího panelu Volání databáze.

Snímek obrazovky AppDynamics znázorňující řídicí panel Volání databáze

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 Haldyna stránce Paměť :

Snímek obrazovky AppDynamics znázorňující část Haldy na stránce Paměť

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

Snímek obrazovky AppDynamics, který zobrazuje část Uvolňování paměti 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í vytiskne protokoly na úrovni informací agenta AppDynamics do STDOUT. Protokoly jsou smíšené 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
  • Přehledy aplikace Azure Spring Apps
  • 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 Domains and IP Ranges and Customer responsibilities for running Azure Spring Apps in a virtual network.

Vysvětlení omezení

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