Spring Boot-apps bewaken met de AppDynamics Java-agent

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.

Dit artikel is van toepassing op: ✔️ Standaardverbruik en toegewezen (preview) ✔️ Basic/Standard ❌± Enterprise

In dit artikel wordt uitgelegd hoe u de AppDynamics Java-agent gebruikt voor het bewaken van Spring Boot-toepassingen in Azure Spring Apps.

Met de AppDynamics Java-agent kunt u het volgende doen:

  • Toepassingen bewaken
  • De AppDynamics Java-agent configureren met behulp van omgevingsvariabelen
  • Alle bewakingsgegevens van het AppDynamics-dashboard controleren

In de volgende video wordt de In-process agent van AppDynamics Java geïntroduceerd.


Vereisten

De AppDynamics Java-in-process agent activeren

Voor de hele werkstroom moet u het volgende doen:

  • Activeer de AppDynamics Java-in-process agent in Azure Spring Apps om metrische gegevens van toepassingen te genereren.
  • Verbinding maken de AppDynamics-agent naar de AppDynamics-controller om de gegevens in de controller te verzamelen en te visualiseren.

Diagram met AppDynamics Agent met pijl in twee richtingen naar Spring Boot-apps in Azure Spring Apps en pijl die wijst naar AppDynamics Agent.

Een toepassing activeren met de AppDynamics-agent met behulp van de Azure CLI

Gebruik de volgende stappen om een toepassing te activeren via de Azure CLI.

  1. Maak een resourcegroep.

  2. Maak een exemplaar van Azure Spring Apps.

  3. Maak een toepassing met behulp van de volgende opdracht. Vervang de tijdelijke aanduidingen <...> door uw eigen waarden.

    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. Maak een implementatie met de AppDynamics-agent met behulp van omgevingsvariabelen.

    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 installeert de AppDynamics Java-agent vooraf op het pad /opt/agents/appdynamics/java/javaagent.jar. U kunt de agent activeren vanuit de JVM-opties van uw toepassingen en vervolgens de agent configureren met behulp van omgevingsvariabelen. U vindt waarden voor deze variabelen in Monitor Azure Spring Apps met Java Agent. Zie Lagen en knooppunten voor meer informatie over hoe deze variabelen helpen bij het weergeven en organiseren van rapporten in de gebruikersinterface van AppDynamics.

Een toepassing activeren met de AppDynamics-agent met behulp van Azure Portal

Als u een toepassing wilt activeren via Azure Portal, gebruikt u de volgende stappen.

  1. Navigeer naar uw Azure Spring Apps-exemplaar in Azure Portal.

  2. Selecteer Apps in de sectie Instellingen van het navigatiedeelvenster.

    Schermopname van Azure Portal met de pagina Apps voor een Azure Spring Apps-exemplaar.

  3. Selecteer de app en selecteer vervolgens Configuratie in het navigatiedeelvenster.

  4. Gebruik het tabblad Algemene instellingen om waarden zoals de JVM-opties bij te werken.

    Schermopname van Azure Portal met de pagina Configuratie voor een app in een Azure Spring Apps-exemplaar, met het tabblad Algemene instellingen geselecteerd.

  5. Selecteer Omgevingsvariabelen om de variabelen toe te voegen of bij te werken die door uw toepassing worden gebruikt.

    Schermopname van Azure Portal met de pagina Configuratie met het tabblad Omgevingsvariabelen geselecteerd.

Inrichting automatiseren

U kunt ook een pijplijn voor inrichtingsautomatisering uitvoeren met behulp van Terraform-, Bicep- of Azure Resource Manager-sjabloon (ARM-sjabloon). Deze pijplijn kan een volledige hands-off ervaring bieden voor het instrumenteren en bewaken van nieuwe toepassingen die u maakt en implementeert.

Inrichting automatiseren met Terraform

Als u de omgevingsvariabelen in een Terraform-sjabloon wilt configureren, voegt u de volgende code toe aan de sjabloon, waarbij u de <tijdelijke aanduidingen voor ...> vervangt door uw eigen waarden. Zie Een actieve Implementatie van Azure Spring Apps beheren voor meer informatie.

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

Inrichting automatiseren met Bicep

Als u de omgevingsvariabelen in een Bicep-bestand wilt configureren, voegt u de volgende code toe aan het bestand, waarbij u de <tijdelijke aanduidingen voor ...> vervangt door uw eigen waarden. Zie Microsoft.AppPlatform Spring/apps/deployments voor meer informatie.

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

Inrichting automatiseren met behulp van een ARM-sjabloon

Als u de omgevingsvariabelen in een ARM-sjabloon wilt configureren, voegt u de volgende code toe aan de sjabloon, waarbij u de <tijdelijke aanduidingen voor ...> vervangt door uw eigen waarden. Zie Microsoft.AppPlatform Spring/apps/deployments voor meer informatie.

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

Rapporten controleren in het AppDynamics-dashboard

In deze sectie worden verschillende rapporten in AppDynamics weergegeven.

In de volgende schermopname ziet u een overzicht van uw apps in het AppDynamics-dashboard:

Schermopname van AppDynamics met het dashboard Toepassingen.

Op het tabblad Toepassingen ziet u de algemene informatie voor elk van uw apps, zoals wordt weergegeven in de volgende schermopnamen met behulp van voorbeeldtoepassingen:

  • api-gateway

    Schermopname van AppDynamics met het toepassingsdashboard voor de voorbeeld-API-gateway-app.

  • customers-service

    Schermopname van AppDynamics met het toepassingsdashboard voor de voorbeeld-app klantenservice.

In de volgende schermopname ziet u hoe u basisinformatie kunt ophalen uit het dashboard Databaseoproepen .

Schermopname van AppDynamics met het dashboard Databaseoproepen.

U kunt ook informatie krijgen over de traagste databaseaanroepen, zoals wordt weergegeven in deze schermopnamen:

Schermopname van AppDynamics met de pagina Traagste databaseaanroepen.

Schermopname van AppDynamics met de pagina Gecorreleerde momentopnamen die is geopend vanaf de pagina Langzaamste databaseaanroepen.

In de volgende schermopname ziet u analyse van geheugengebruik in de sectie Heap van de pagina Geheugen :

Schermopname van AppDynamics met de sectie Heap van de pagina Geheugen.

U kunt ook het garbagecollectionproces zien, zoals wordt weergegeven in deze schermopname:

Schermopname van AppDynamics met de sectie Garbagecollection van de pagina Geheugen.

In de volgende schermopname ziet u de pagina Trage transacties :

Schermopname van AppDynamics met de pagina Langzame transacties.

U kunt meer metrische gegevens definiëren voor de JVM, zoals wordt weergegeven in deze schermopname van de Metric Browser:

Schermopname van AppDynamics met de Metric Browser.

AppDynamics Agent-logboeken weergeven

Standaard worden in Azure Spring Apps de logboeken op informatieniveau van de AppDynamics-agent afgedrukt naar STDOUT. De logboeken worden gecombineerd met de toepassingslogboeken. U vindt de expliciete agentversie in de toepassingslogboeken.

U kunt ook de logboeken van de AppDynamics-agent ophalen op de volgende locaties:

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

Meer informatie over appdynamics-agentupgrade

De AppDynamics-agent wordt regelmatig bijgewerkt met JDK (elk kwartaal). Upgrade van agent kan van invloed zijn op de volgende scenario's:

  • Bestaande toepassingen die AppDynamics Agent gebruiken voordat de upgrade wordt uitgevoerd, zijn ongewijzigd, maar vereisen opnieuw opstarten of opnieuw implementeren om de nieuwe versie van AppDynamics Agent in te schakelen.
  • Toepassingen die zijn gemaakt na de upgrade, gebruiken de nieuwe versie van AppDynamics Agent.

Uitgaand verkeer van het virtuele netwerkinjectieexemplaren configureren

Voor instanties van virtuele netwerkinjectie van Azure Spring Apps moet u ervoor zorgen dat het uitgaande verkeer juist is geconfigureerd voor AppDynamics Agent. Zie Cisco AppDynamics SaaS-domeinen en IP-bereiken en verantwoordelijkheden van de klant voor het uitvoeren van Azure Spring Apps in een virtueel netwerk voor meer informatie.

Inzicht in de beperkingen

Zie Azure Spring Apps bewaken met Java Agent voor meer informatie over de beperkingen van de AppDynamics-agent.

Volgende stappen

De Java-in-process-agent van Application Insights in Azure Spring Cloud Apps gebruiken