Überwachung von Spring Boot-Anwendungen mit dem AppDynamics Java Agent
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.
Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren vom Standardverbrauchs- und dedizierten Plan von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für: ✔️ Standardverbrauch und dediziert (Vorschau) ✔️ Basic/Standard ❌ Enterprise
In diesem Artikel wird erklärt, wie der AppDynamics Java-Agent zum Überwachen von Spring Boot-Anwendungen in Azure Spring Apps verwendet wird.
Mit dem AppDynamics Java Agent können Sie:
- Überwachen von Anwendungen
- Konfigurieren Sie den AppDynamics Java Agent mithilfe von Umgebungsvariablen
- Überprüfen Sie alle Überwachungsdaten aus dem AppDynamics Dashboard
Im folgenden Video wird der AppDynamics Java In-Process-Agent vorgestellt.
Voraussetzungen
Aktivieren Sie den AppDynamics Java In-Process-Agent
Für den gesamten Arbeitsablauf müssen Sie das tun:
- Aktivieren Sie den AppDynamics Java In-Process Agent in Azure Spring Apps, um Anwendungsmetrikdaten zu generieren.
- Verbinden Sie den AppDynamics Agent mit dem AppDynamics Controller, um die Daten im Controller zu sammeln und zu visualisieren.
Aktivieren einer Anwendung mit dem AppDynamics Agent unter Verwendung der Azure CLI
Gehen Sie wie folgt vor, um eine Anwendung über die Azure CLI zu aktivieren.
Erstellen Sie eine Ressourcengruppe.
Erstellen Sie eine Instanz von Azure Spring Apps.
Erstellen Sie eine Anwendung mit dem folgenden Befehl. Ersetzen Sie die Platzhalter <...> durch Ihre eigenen Werte.
az spring app create \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --is-public true
Erstellen Sie eine Bereitstellung mit dem AppDynamics Agent unter Verwendung von Umgebungsvariablen.
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 installiert den AppDynamics-Java-Agenten unter dem Pfad /opt/agents/appdynamics/java/javaagent.jar vor. Sie können den Agenten über die JVM-Optionen Ihrer Anwendungen aktivieren und dann den Agenten mithilfe von Umgebungsvariablen konfigurieren. Die Werte für diese Variablen finden Sie unter Überwachung von Azure Spring Apps mit Java-Agents. Weitere Informationen darüber, wie diese Variablen bei der Anzeige und Organisation von Berichten in der AppDynamics-Benutzeroberfläche helfen, finden Sie unter Ebenen und Knoten.
Aktivieren Sie eine Anwendung mit dem AppDynamics Agent über das Azure-Portal
Um eine Anwendung über das Azure-Portal zu aktivieren, führen Sie die folgenden Schritte aus.
Navigieren Sie zu Ihrer Azure Spring Apps-Instanz im Azure-Portal.
Wählen Sie im Navigationsbereich im Abschnitt Einstellungen die Option Apps aus.
Wählen Sie die App aus, und wählen Sie dann im Navigationsbereich die Option Konfiguration aus.
Verwenden Sie die Registerkarte Allgemeine Einstellungen, um Werte wie die JVM-Optionen zu aktualisieren.
Wählen Sie Umgebungsvariablen aus, um die von Ihrer Anwendung verwendeten Variablen hinzuzufügen oder zu aktualisieren.
Automatisieren der Bereitstellung
Mit Terraform, Bicep oder einer Azure Resource Manager-Vorlage (ARM-Vorlage) können Sie auch eine Bereitstellungsautomatisierungspipeline ausführen. Mit dieser Pipeline können Sie alle neuen Anwendungen, die Sie erstellen und bereitstellen, ganz ohne Aufwand instrumentieren und überwachen.
Automatisieren der Bereitstellung mit Terraform
Um die Umgebungsvariablen in einer Terraform-Vorlage zu konfigurieren, fügen Sie der Vorlage den folgenden Code hinzu, und ersetzen Sie dabei die Platzhalter <...> durch Ihre eigenen Werte. Weitere Informationen finden Sie unter Verwalten einer aktiven Azure Spring Apps-Bereitstellung.
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"
}
}
Automatisieren Sie die Bereitstellung mit Bicep
Um die Umgebungsvariablen in einer Bicep-Datei zu konfigurieren, fügen Sie der Datei den folgenden Code hinzu, und ersetzen Sie dabei die Platzhalter <...> durch Ihre eigenen Werte. Weitere Informationen finden Sie unter Microsoft.AppPlatform/Spring/apps/deployments/skus.
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'
}
Automatisieren der Bereitstellung mithilfe einer ARM-Vorlage
Um die Umgebungsvariablen in einer ARM-Vorlage zu konfigurieren, fügen Sie der Vorlage den folgenden Code hinzu, und ersetzen Sie dabei die Platzhalter <...> durch Ihre eigenen Werte. Weitere Informationen finden Sie unter Microsoft.AppPlatform/Spring/apps/deployments/skus.
"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",
...
}
Berichte im AppDynamics Dashboard überprüfen
Dieser Abschnitt zeigt verschiedene Berichte in AppDynamics.
Der folgende Screenshot zeigt einen Überblick über Ihre Anwendungen im AppDynamics-Dashboard:
Die Registerkarte Anwendungen zeigt die Gesamtinformationen für jede Ihrer Anwendungen, wie in den folgenden Screenshots anhand von Anwendungsbeispielen gezeigt wird:
Die folgende Abbildung zeigt, wie Sie grundlegende Informationen aus dem Dashboard Datenbankaufrufe abrufen können.
Sie können auch Informationen über die langsamsten Datenbankaufrufe erhalten, wie in diesen Screenshots gezeigt:
Der folgende Screenshot zeigt die Analyse der Speichernutzung im Abschnitt Heap der Seite Memory:
Sie können auch den Garbage-Collection-Prozess sehen, wie in diesem Screenshot dargestellt:
Die folgende Bildschirmabbildung zeigt die Seite Slow Transactions:
Sie können weitere Metriken für die JVM definieren, wie in diesem Bildschirmfoto des Metrik-Browsers gezeigt:
AppDynamics Agent-Protokolle anzeigen
Standardmäßig gibt Azure Spring Apps die Protokolle der Ebene Info des AppDynamics-Agenten in STDOUT
aus. Die Protokolle werden mit den Anwendungsprotokollen gemischt. Sie können die explizite Agent-Version aus den Anwendungsprotokollen abrufen.
Sie können die Protokolle des AppDynamics Agent auch von den folgenden Orten abrufen:
- Azure Spring Apps-Protokolle
- Application Insights für Azure Spring Apps
- Azure Spring Apps LogStream
Erfahren Sie mehr über das AppDynamics Agent Upgrade
Der AppDynamics Agent wird regelmäßig mit dem JDK aktualisiert (vierteljährlich). Das Agent-Upgrade kann sich auf die folgenden Szenarien auswirken:
- Bestehende Anwendungen, die AppDynamics Agent vor dem Upgrade verwenden, bleiben unverändert, müssen jedoch neu gestartet oder neu bereitgestellt werden, um die neue Version von AppDynamics Agent zu nutzen.
- Anwendungen, die nach dem Upgrade erstellt werden, verwenden die neue Version von AppDynamics Agent.
Konfigurieren des ausgehenden Datenverkehrs der VNet-Injektionsinstanz
Stellen Sie bei Injektionsinstanzen für virtuelle Netzwerke von Azure Spring Apps sicher, dass der ausgehende Datenverkehr für den AppDynamics-Agent richtig konfiguriert ist. Einzelheiten finden Sie unter Cisco AppDynamics SaaS-Domänen und IP-Bereiche und Kundenverantwortlichkeiten für den Betrieb von Azure Spring Apps in virtuellen Netzwerken.
Verstehen Sie die Grenzen
Um die Einschränkungen des AppDynamics-Agenten zu verstehen, siehe Überwachung von Azure Spring Apps mit Java-Agents.
Nächste Schritte
Verwendung von Application Insights Java In-Process Agent in Azure Spring Apps