Überwachen von Spring Boot-Apps mit Dynatrace Java OneAgent
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von 3 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 Standardverbrauchs- und dedizierte Plan wird ab dem 30. September 2024 als veraltet gekennzeichnet und 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 erfahren Sie, wie Sie Dynatrace OneAgent verwenden, um Spring Boot-Anwendungen in Azure Spring Apps zu überwachen.
Mit Dynatrace OneAgent können Sie die folgenden Aufgaben ausführen:
- Überwachen von Apps mit dem Dynatrace OneAgent.
- Konfigurieren von Dynatrace OneAgent mithilfe von Umgebungsvariablen.
- Überprüfen aller Überwachungsdaten aus dem Dynatrace-Dashboard.
Das folgende Video stellt Dynatrace OneAgent vor.
Voraussetzungen
- Azure-Befehlszeilenschnittstelle
- Ein Dynatrace-Konto
- Ein Dynatrace-PaaS-Token und ein Mandantentoken
Aktivieren von Dynatrace OneAgent
In den folgenden Abschnitten wird beschrieben, wie Dynatrace OneAgent aktiviert wird.
Vorbereiten Ihrer Azure Spring Apps-Umgebung
- Erstellen Sie eine Instanz von Azure Spring Apps.
- Erstellen Sie eine Anwendung, die Sie an Dynatrace melden möchten, indem Sie den folgenden Befehl ausführen. Ersetzen Sie die Platzhalter <...> durch Ihre eigenen Werte.
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-name> \ --name <your-application-name> \ --is-public true
Bestimmen der Werte für die erforderlichen Umgebungsvariablen
Um Dynatrace OneAgent für Ihre Azure Spring Apps-Instanz zu aktivieren, müssen Sie vier Umgebungsvariablen konfigurieren: DT_TENANT
, DT_TENANTTOKEN
, DT_CONNECTION_POINT
und DT_CLUSTER_ID
. Weitere Informationen finden Sie unter Integrieren von OneAgent in Azure Spring Apps.
Für Anwendungen mit mehreren Instanzen verfügt Dynatrace über mehrere Möglichkeiten, diese zu gruppieren. DT_CLUSTER_ID
ist eine der Möglichkeiten. Weitere Informationen finden Sie unter Prozessgruppenerkennung.
Hinzufügen der Umgebungsvariablen zu Ihrer Anwendung
Sie können ihrer Anwendung die Schlüssel-Wert-Paare der Umgebungsvariablen hinzufügen, indem Sie entweder das Azure-Portal oder die Azure CLI verwenden.
Option 1: Azure CLI
Um die Schlüssel-Wert-Paare mit der Azure CLI hinzuzufügen, führen Sie den folgenden Befehl aus und ersetzen die Platzhalter <...> durch die in den vorherigen Schritten ermittelten Werte.
az spring app deploy \
--resource-group <your-resource-group-name> \
--service <your-Azure-Spring-Apps-name> \
--name <your-application-name> \
--artifact-path app.jar \
--env \
DT_TENANT=<your-environment-ID> \
DT_TENANTTOKEN=<your-tenant-token> \
DT_CONNECTION_POINT=<your-communication-endpoint>
Option 2: Azure-Portal
Um die Schlüssel-Wert-Paare mithilfe des Azure-Portals hinzuzufügen, führen Sie die folgenden Schritte aus:
Wählen Sie in der Azure Spring Apps-Instanz im Navigationsbereich Apps aus.
Wählen Sie die Anwendung in der Liste aus, und wählen Sie dann im Navigationsbereich die Option Konfiguration aus.
Verwenden Sie die Registerkarte Umgebungsvariablen, 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 ebenfalls 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.
environment_variables = {
"DT_TENANT": "<your-environment-ID>",
"DT_TENANTTOKEN": "<your-tenant-token>",
"DT_CONNECTION_POINT": "<your-communication-endpoint>",
"DT_CLUSTER_ID": "<your-cluster-ID>"
}
Automatisieren der Bereitstellung mithilfe einer Bicep-Datei
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.
environmentVariables: {
DT_TENANT: '<your-environment-ID>'
DT_TENANTTOKEN: '<your-tenant-token>'
DT_CONNECTION_POINT: '<your-communication-endpoint>'
DT_CLUSTER_ID: '<your-cluster-ID>'
}
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.
"environmentVariables": {
"DT_TENANT": "<your-environment-ID>",
"DT_TENANTTOKEN": "<your-tenant-token>",
"DT_CONNECTION_POINT": "<your-communication-endpoint>",
"DT_CLUSTER_ID": "<your-cluster-ID>"
}
Anzeigen von Berichten in Dynatrace
In diesem Abschnitt wird beschrieben, wie Sie verschiedene Berichte in Dynatrace finden.
Hinweis
Das Menü und die Benutzeroberfläche von Dynatrace werden schrittweise weiterentwickelt. Aus diesem Grund kann das Dashboard in andere Abschnitte der Dynatrace-Website verschoben werden, und die folgenden Screenshots spiegeln möglicherweise nicht die aktuelle Version der Benutzeroberfläche wider.
Nachdem Sie Ihrer Anwendung die Umgebungsvariablen hinzugefügt haben, beginnt Dynatrace mit dem Erfassen von Daten. Verwenden Sie zum Anzeigen von Berichten das Dynatrace-Menü, navigieren Sie zu Services (Dienste), und wählen Sie dann Ihre Anwendung aus.
Sie finden den Dienstfluss unter <Name_Ihrer_App>/Details/Service flow:
Die Methodenhotspots finden Sie unter <Name_Ihrer_App>/Details/Method hotspots:
Die Datenbankanweisungen finden Sie unter <Name_Ihrer_App>/Details/Response time analysis:
Navigieren Sie dann zum Abschnitt Multidimensional analysis (Mehrdimensionale Analyse).
Sie finden die Top-Datenbankanweisungen unter Multidimensional analysis/Top database statements:
Die Übersicht über Ausnahmen finden Sie unter Multidimensional analysis/Exceptions overview:
Navigieren Sie nun zum Abschnitt Profiling and optimization (Profilerstellung und Optimierung).
Sie finden die CPU-Analyse unter Profiling and optimization/CPU analysis:
Navigieren Sie nun zum Abschnitt Databases (Datenbanken).
Backtrace finden Sie unter Databases/Details/Backtrace:
Anzeigen von Dynatrace OneAgent-Protokollen
Standardmäßig gibt Azure Spring Apps die Dynatrace OneAgent-Protokolle der Ebene Info an 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 Dynatrace-Agents auch an den folgenden Speicherorten abrufen:
- Azure Spring Apps-Protokolle
- Application Insights für Azure Spring Apps
- Azure Spring Apps LogStream
Sie können einige von Dynatrace bereitgestellte Umgebungsvariablen verwenden, um die Protokollierung für Dynatrace OneAgent zu konfigurieren. DT_LOGLEVELCON
steuert beispielsweise den Protokollierungsgrad. Der Standardwert für DT_LOGLEVELCON
ist info
. Sie können die Protokolle des Agents deaktivieren, indem Sie DT_LOGLEVELCON
auf off
festlegen. Bei deaktivierter Protokollierung fordert der Dynatrace-Support Sie auf, zuerst die Protokollierung zu aktivieren, um Agent-Probleme effektiv zu diagnostizieren. Anschließend müssen Sie die App neu starten. Dies ist erforderlich, damit die Änderung wirksam wird. Wenn Sie weitere Protokollebenen benötigen, wenden Sie sich an das Dynatrace-Supportteam.
Achtung
Es wird dringend empfohlen, das Standardverhalten der Protokollierung, das von Azure Spring Apps für Dynatrace bereitgestellt wird, nicht außer Kraft zu setzen. Andernfalls werden die zuvor beschriebenen Protokollierungsszenarien blockiert, und die Protokolldateien gehen möglicherweise verloren. Beispielsweise sollten Sie die Umgebungsvariable DT_LOGLEVELFILE
nicht an Ihre Anwendungen ausgeben.
Dynatrace OneAgent-Upgrade
Das automatische Upgrade von Dynatrace OneAgent ist deaktiviert und wird vierteljährlich mit dem JDK aktualisiert. Das Agent-Upgrade kann sich auf die folgenden Szenarien auswirken:
- Vorhandene Anwendungen, die Dynatrace OneAgent vor dem Upgrade verwenden, bleiben unverändert, erfordern jedoch einen Neustart oder eine erneute Bereitstellung, um die neue Version von Dynatrace OneAgent zu verwenden.
- Anwendungen, die nach dem Upgrade erstellt werden, verwenden die neue Version von Dynatrace OneAgent.
Konfiguration des ausgehenden Datenverkehrs der VNet-Injektionsinstanz
Bei einer VNet-Injektionsinstanz von Azure Spring Apps müssen Sie sicherstellen, dass der ausgehende Datenverkehr für Dynatrace-Kommunikationsendpunkte ordnungsgemäß für Dynatrace OneAgent konfiguriert ist. Informationen zum Abrufen von communicationEndpoints
finden Sie unter Bereitstellungs-API: Abrufen von Konnektivitätsinformationen für OneAgent. Weitere Informationen finden Sie unter Kundenzuständigkeiten für die Ausführung von Azure Spring Apps im virtuellen Netzwerk.
Dynatrace-Unterstützungsmodell
Informationen zu Einschränkungen bei der Bereitstellung von Dynatrace OneAgent im reinen Anwendungsmodus finden Sie im Abschnitt Cloud-Anwendungsplattformen der OneAgent-Plattform- und -Funktionsunterstützungsmatrix.
Nächste Schritte
Verwendung von Application Insights Java In-Process Agent in Azure Spring Apps