Schnellstart: Überwachen von Azure Spring Apps-Apps mit Protokollen, Metriken und Ablaufverfolgung

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: ✔️ Basic/Standard ❌ Enterprise

Mit der integrierten Überwachungsfunktion in Azure Spring Apps können Sie komplexe Probleme debuggen und überwachen. Azure Spring Apps integriert die verteilte Ablaufverfolgung von Steeltoe in Azure Application Insights. Diese Integration bietet leistungsstarke Protokolle, Metriken und Funktionen für die Ablaufverfolgung aus dem Azure-Portal.

In den folgenden Verfahren wird erläutert, wie Sie Protokollstreaming, die Protokollanalyse, Metriken und die verteilte Ablaufverfolgung mit der Beispiel-App verwenden, die Sie in den vorherigen Schnellstartanleitungen bereitgestellt haben.

Voraussetzungen

Protokolle

Es gibt zwei Möglichkeiten, um Protokolle in Azure Spring Apps anzuzeigen: Protokollstreaming von Echtzeitprotokollen pro App-Instanz oder Protokollanalyse für aggregierte Protokolle mit erweiterter Abfragefunktion.

Protokollstreaming

Sie können mit dem folgenden Befehl Protokollstreaming in der Azure CLI verwenden:

az spring app logs --name solar-system-weather --follow

Es wird eine Ausgabe angezeigt, die in etwa wie im folgenden Beispiel aussieht:

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

Tipp

Verwenden Sie az spring app logs -h, um weitere Parameter und Funktionen für Protokolldatenströme zu untersuchen.

Log Analytics

  1. Navigieren Sie im Azure-Portal zur Seite Dienst | Übersicht, und wählen Sie im Abschnitt Überwachung die Option Protokolle aus. Wählen Sie in einer der Beispielabfragen für Azure Spring Apps Ausführen aus.

    Screenshot des Azure-Portals, in dem der Bereich „Protokolle“ mit geöffneter Seite „Abfragen“ und hervorgehobener Option „Ausführen“ angezeigt wird.

  2. Bearbeiten Sie die Abfrage, um die Where-Klauseln zu entfernen, die die Anzeige auf Warnungs- und Fehlerprotokolle beschränken.

  3. Klicken Sie auf Run (Ausführen). Protokolle werden angezeigt. Weitere Informationen finden Sie unter Erste Schritte mit Protokollabfragen in Azure Monitor.

    Screenshot des Azure-Portals, in dem das Log Analytics-Abfrageergebnis angezeigt wird.

  4. Weitere Informationen zu der in Log Analytics verwendeten Abfragesprache erhalten Sie unter Azure Monitor-Protokollabfragen. Wenn Sie alle Log Analytics-Protokolle über einen zentralisierten Client abfragen möchten, lesen Sie die Informationen unter Abfragen von Daten in Azure Monitor mit Azure Data Explorer (Vorschau).

Metriken

  1. Navigieren Sie im Azure-Portal zur Seite Dienst | Übersicht, und wählen Sie im Abschnitt Überwachung die Option Metriken aus. Fügen Sie Ihre erste Metrik hinzu, indem Sie eine der .NET-Metriken unter Leistung (.NET) oder Anforderung (.NET) im Dropdown Metrik und Avg für Aggregation auswählen, um die Zeitachse für diese Metrik anzuzeigen.

    Screenshot des Azure-Portals, auf dem die Seite „Metriken“ mit verfügbaren Filtern angezeigt wird.

  2. Klicken Sie auf der Symbolleiste auf Filter hinzufügen, und wählen Sie App=solar-system-weather aus, um die CPU-Auslastung nur für die App solar-system-weather anzuzeigen.

    Screenshot des Azure-Portals, auf dem die Seite „Metriken“ mit hervorgehobenen Filteroptionen „Eigenschaft“, „Operator“ und „Werte“ angezeigt wird.

  3. Schließen Sie den im vorherigen Schritt erstellten Filter, und wählen Sie Teilung anwenden und dann App für Werte aus, um die CPU-Auslastung auf der Grundlage verschiedener Apps anzuzeigen.

    Screenshot des Azure-Portals, auf dem die Seite „Metriken“ mit hervorgehobenen Teilungsoptionen „Werte“, „Limit“ und „Sortieren“ angezeigt wird.

Verteilte Ablaufverfolgung

  1. Navigieren Sie im Azure-Portal zur Seite Dienst | Übersicht, und wählen Sie im Abschnitt Überwachung die Option Verteilte Ablaufverfolgung aus. Wählen Sie dann auf der rechten Seite die Registerkarte Anwendungsübersicht anzeigen aus.

    Screenshot des Azure-Portals mit der Seite „Verteilte Ablaufverfolgung“.

  2. Nun können Sie den Status von Aufrufen zwischen Apps anzeigen.

    Screenshot des Azure-Portals mit der Seite „Anwendungsübersicht“.

  3. Wählen Sie den Link zwischen solar-system-weather und planet-weather-provider aus, um weitere Details (etwa langsamste Aufrufe nach HTTP-Methoden) anzuzeigen.

    Screenshot des Azure-Portals mit den Details der Anwendungsübersicht.

  4. Wählen Sie abschließend Leistung untersuchen aus, um leistungsfähigere integrierte Leistungsanalysen zu untersuchen.

    Screenshot des Azure-Portals mit der Seite „Leistung“.

Mit der integrierten Überwachungsfunktion in Azure Spring Apps können Sie komplexe Probleme debuggen und überwachen. Azure Spring Apps integriert Spring Cloud Sleuth in Azure Application Insights. Diese Integration bietet leistungsstarke Protokolle, Metriken und Funktionen für die Ablaufverfolgung aus dem Azure-Portal. In den folgenden Verfahren wird erläutert, wie Sie Protokollstreaming, die Protokollanalyse, Metriken und die verteilte Ablaufverfolgung mit bereitgestellten PetClinic-Apps verwenden.

Voraussetzungen

Protokolle

Es gibt zwei Möglichkeiten, um Protokolle in Azure Spring Apps anzuzeigen: Protokollstreaming von Echtzeitprotokollen pro App-Instanz oder Protokollanalyse für aggregierte Protokolle mit erweiterter Abfragefunktion.

Protokollstreaming

Sie können mit dem folgenden Befehl Protokollstreaming in der Azure CLI verwenden:

az spring app logs \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name api-gateway \
    --follow

Protokolle wie diese werden angezeigt:

Screenshot der Ausgabe des Azure CLI-Protokollstreamings.

Tipp

Verwenden Sie az spring app logs -h, um weitere Parameter und Funktionen für Protokolldatenströme zu untersuchen.

Weitere Informationen zu der in Log Analytics verwendeten Abfragesprache erhalten Sie unter Azure Monitor-Protokollabfragen. Wenn Sie alle Log Analytics-Protokolle über einen zentralisierten Client abfragen möchten, lesen Sie die Informationen unter Abfragen von Daten in Azure Monitor mit Azure Data Explorer.

Log Analytics

  1. Navigieren Sie zur Seite Dienst | Übersicht, und wählen Sie im Abschnitt Überwachung die Option Protokolle aus. Wählen Sie in einer der Beispielabfragen für Azure Spring Apps Ausführen aus.

    Screenshot des Azure-Portals, in dem die Seite „Abfragen“ mit hervorgehobener Option „Ausführen“ angezeigt wird.

  2. Anschließend werden gefilterte Protokolle angezeigt. Weitere Informationen finden Sie unter Erste Schritte mit Protokollabfragen in Azure Monitor.

    Screenshot des Azure-Portals, in dem das Abfrageergebnis gefilterter Protokolle angezeigt wird.

Metriken

Navigieren Sie zur Seite Application Insights, und navigieren Sie dann zur Seite Metriken. Es werden von Spring Boot-Apps, Spring-Modulen und Abhängigkeiten bereitgestellte Metriken angezeigt.

Das folgende Diagramm zeigt gateway_requests (Spring Cloud Gateway), hikaricp_connections (JDBC-Verbindungen) und http_client_requests.

Screenshot des Azure-Portals, auf dem die Application Insights-Seite „Metriken“ mit einem Diagramm der ausgewählten Werte angezeigt wird.

Spring Boot registriert mehrere Kernmetriken, einschließlich JVM, CPU, Tomcat und Logback. Die automatische Konfiguration von Spring Boot ermöglicht die Instrumentierung von Anforderungen, die von Spring MVC verarbeitet werden. Alle drei REST-Controller (OwnerResource, PetResource und VisitResource) wurden von der Micrometer-Anmerkung @Timed auf Klassenebene instrumentiert.

Für die Anwendung customers-service sind die folgenden benutzerdefinierten Metriken aktiviert:

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

Für die Anwendung visits-service sind die folgenden benutzerdefinierten Metriken aktiviert:

  • @Timed: petclinic.visit

Sie können diese benutzerdefinierten Metriken auf der Seite Metriken anzeigen:

Screenshot des Azure-Portals, auf dem die Application Insights-Seite „Metriken“ mit benutzerdefinierten Metriken angezeigt wird.

Sie können das Feature „Verfügbarkeitstest“ in Application Insights verwenden und die Verfügbarkeit von Anwendungen überwachen:

Screenshot des Azure-Portals, auf dem die Application Insights-Seite „Verfügbarkeit“ mit hervorgehobenem Abschnitt „Verfügbarkeitstest“ angezeigt wird.

Navigieren Sie zur Seite Livemetriken, um Livemetriken mit geringer Latenz (weniger als eine Sekunde) anzuzeigen:

Screenshot des Azure-Portals, auf dem die Application Insights-Seite „Livemetriken“ mit Diagrammen zu geringen Latenzen angezeigt wird.

Ablaufverfolgung

Öffnen Sie die von Azure Spring Apps erstellte Application Insights-Instanz, und beginnen Sie mit der Überwachung von Spring-Anwendungen.

Navigieren Sie zur Seite Anwendungsübersicht:

Screenshot des Azure-Portals, der die Application Insights-Seite „Anwendungsübersicht“ mit Zuordnungskomponenten zeigt.

Navigieren Sie zur Seite Leistung:

Screenshot des Azure-Portals, der die Application Insights-Seite „Leistung“ mit Vorgangsdetails zeigt.

Navigieren Sie zur Registerkarte Abhängigkeiten. Die Leistungszahl für Abhängigkeiten, insbesondere SQL-Aufrufe, wird angezeigt:

Screenshot des Azure-Portals, der die Application Insights-Seite „Leistung“ mit hervorgehobener Tabelle „Abhängigkeiten“ zeigt.

Wählen Sie einen SQL-Aufruf aus, um die End-to-End-Transaktion im Kontext anzuzeigen:

Screenshot des Azure-Portals mit der Seite „End-to-End-Transaktionsdetails“.

Navigieren Sie zur Seite Fehler und zur Registerkarte Ausnahmen, auf der eine Sammlung der Ausnahmen angezeigt wird:

Screenshot des Azure-Portals, der die Application Insights-Seite „Fehler“ zeigt.

Wählen Sie eine Ausnahme aus, um die End-to-End-Transaktion und StackTrace im Kontext anzuzeigen:

Screenshot des Azure-Portals, der die Seite „End-to-End-Transaktionsdetails“ mit Ausnahmedetails und Aufrufstapel zeigt.

Bereinigen von Ressourcen

Falls Sie mit weiteren Schnellstartanleitungen und Tutorials fortfahren möchten, sollten Sie die Ressourcen nicht bereinigen. Wenn Sie die Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe. Dadurch werden die Ressourcen in der Ressourcengruppe gelöscht. Wenn Sie die Ressourcengruppe mithilfe der Azure CLI löschen möchten, verwenden Sie die folgenden Befehle:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Im Rahmen einer vorherigen Schnellstartanleitung haben Sie auch den Namen der Standardressourcengruppe festgelegt. Wenn Sie nicht mit der nächsten Schnellstartanleitung fortfahren möchten, löschen Sie diesen Standardwert, indem Sie den folgenden CLI-Befehl ausführen:

az config set defaults.group=

Nächste Schritte

Informationen zu weiteren Überwachungsfunktionen von Azure Spring Apps finden Sie in den folgenden Artikeln: