Share via


Überwachen von Spring Boot-Apps mit Dynatrace Java OneAgent

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

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

Aktivieren von Dynatrace OneAgent

In den folgenden Abschnitten wird beschrieben, wie Dynatrace OneAgent aktiviert wird.

Vorbereiten Ihrer Azure Spring Apps-Umgebung

  1. Erstellen Sie eine Instanz von Azure Spring Apps.
  2. 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:

  1. Wählen Sie in der Azure Spring Apps-Instanz im Navigationsbereich Apps aus.

    Screenshot des Azure-Portals mit der Seite „Apps“ für eine Azure Spring Apps-Instanz

  2. Wählen Sie die Anwendung in der Liste aus, und wählen Sie dann im Navigationsbereich die Option Konfiguration aus.

  3. Verwenden Sie die Registerkarte Umgebungsvariablen, um die von Ihrer Anwendung verwendeten Variablen hinzuzufügen oder zu aktualisieren.

    Screenshot des Azure-Portals, auf dem die Seite „Konfiguration“ für eine App mit ausgewählter Registerkarte „Umgebungsvariablen“ angezeigt wird

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:

Screenshot des Berichts „Service Flow“ von Dynatrace

Die Methodenhotspots finden Sie unter <Name_Ihrer_App>/Details/Method hotspots:

Screenshot des Berichts „Method hotspots“ von Dynatrace

Die Datenbankanweisungen finden Sie unter <Name_Ihrer_App>/Details/Response time analysis:

Screenshot: Bericht „Response time analysis“ und Abschnitt „Database statements“ von Dynatrace

Navigieren Sie dann zum Abschnitt Multidimensional analysis (Mehrdimensionale Analyse).

Sie finden die Top-Datenbankanweisungen unter Multidimensional analysis/Top database statements:

Screenshot des Berichts „Top database statements“ von Dynatrace

Die Übersicht über Ausnahmen finden Sie unter Multidimensional analysis/Exceptions overview:

Screenshot des Berichts „Exceptions overview“ von Dynatrace

Navigieren Sie nun zum Abschnitt Profiling and optimization (Profilerstellung und Optimierung).

Sie finden die CPU-Analyse unter Profiling and optimization/CPU analysis:

Screenshot des Berichts „CPU analysis“ von Dynatrace

Navigieren Sie nun zum Abschnitt Databases (Datenbanken).

Backtrace finden Sie unter Databases/Details/Backtrace:

Screenshot des Berichts „Backtrace“ von Dynatrace

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