Logging und Monitoring der Steuerungsebene

In diesem Dokument wird gezeigt, wie Sie mit Cloud Logging und Cloud Monitoring Logs und Messwerte für die Cloud Service Mesh-Steuerungsebene aufrufen.

Mit einem Service Mesh können Sie den Traffic zu und von Diensten beobachten und somit das Monitoring und Debugging verbessern, ohne Codeänderungen im Dienst selbst vornehmen zu müssen. Logeinträge können wichtige Informationen zur Fehlerbehebung Ihres Service Mesh enthalten, einschließlich Datensätzen für erfolgreiche Verbindungen und Trennungen, Fehlerberichte für falsch konfigurierte Clients und Benachrichtigungen über API-Ressourcenkonflikte.

Anwendungsfälle

Im Folgenden werden drei Anwendungsfälle für das Logging und Monitoring der Steuerungsebene aufgeführt:

  • Cloud Logging für die Cloud Service Mesh-Steuerungsebene: Mit allen integrierten Features von Logging können Sie alle Logging-Daten und -Ereignisse von Cloud Service Mesh sicher speichern, suchen, analysieren und Benachrichtigungen dafür einrichten. Cloud Service Mesh exportiert Logs nach Logging, wenn ein Envoy- oder gRPC-Client eine Verbindung herstellt oder trennt oder wenn Konfigurationsprobleme erkannt werden.
  • Cloud Monitoring für die Cloud Service Mesh-Steuerungsebene: Cloud Service Mesh exportiert einen wichtigen Messwert für die Anzahl der Clients, die mit der Cloud Service Mesh-Steuerungsebene verbunden sind, in Monitoring. Sie können ein Dashboard in Monitoring einrichten und diesen Messwert in Echtzeit visualisieren, um den Status des Mesh-Netzwerks zu überwachen, während Clients eine Verbindung herstellen oder trennen. Dadurch können Sie außerdem ein SLO für Ihr Mesh-Netzwerk einrichten.
  • Probleme sofort beheben: Cloud Service Mesh exportiert Telemetriedaten standardmäßig nach Logging und Monitoring. Zur Konfiguration von Logging und Monitoring ist keine zusätzliche Einrichtung erforderlich, sodass Sie jederzeit Probleme beheben können, auch wenn Sie das Mesh-Netzwerk zum ersten Mal einrichten.

Logs ansehen

Verwenden Sie zum Aufrufen von Cloud Service Mesh-Logs den Log-Explorer. Der folgende Abschnitt enthält eine Beispielabfrage zum Aufrufen von Cloud Service Mesh-Logs. Sie können jedoch den vorherigen Link verwenden, um eine eigene Abfrage zu erstellen.

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zu „Log-Explorer“

  2. Gehen Sie in der Liste Ressource so vor:
    • Wenn Sie die Dienstrouting-APIs verwenden, wählen Sie Gateway Scope oder Mesh aus.
    • Wenn Sie die älteren APIs verwenden, wählen Sie GCE Network aus.
  3. Wählen Sie in der Liste Logname trafficdirector.googleapis.com/events aus.
  4. Klicken Sie auf Abfrage ausführen.

Felder des Cloud Service Mesh-Logeintrags

Feld Beschreibung
node_id ID des xDS-Clientknotens, wie vom xDS-Client bereitgestellt.
client_type Typ des xDS-Clients, der mit dem Cloud Service Mesh verbunden ist. Optionen:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip IP-Adresse des Knotens, wie vom Client bereitgestellt.
api_version Die Version der xDS API, die von xDS-Clients zum Herstellen einer Verbindung zum Cloud Service Mesh verwendet wird. Die möglichen Werte sind V2 und V3.
description Textbeschreibung des Ereignisses mit zusätzlichen Details.

Beispiel für Logeinträge

Beispiel für einen Logeintrag Beschreibung
„Cloud Service Mesh konnte keine Konfiguration für xDS-Client finden.“ Dieses Log wird generiert, wenn der xDS-Client vom Cloud Service Mesh abgelehnt wird, da keine Konfiguration vorhanden ist. Dies kann auf die unvollständige Einrichtung von für Cloud Service Mesh relevanten API-Ressourcen zurückzuführen sein.
"Client erfolgreich verbunden." Diese Art von Lognachricht wird jedes Mal generiert, wenn ein Client eine erfolgreiche Verbindung zu Cloud Service Mesh herstellt.
"Client erfolgreich getrennt." Diese Art von Lognachricht wird jedes Mal generiert, wenn ein eingerichteter Client vom Cloud Service Mesh getrennt wird.
„Metadatenvariable TRAFFICDIRECTOR_INTERCEPTION_PORT ist nicht festgelegt. Die Routingkonfiguration für den Interception-Listener ist vorhanden, wird jedoch ignoriert.“ Diese Art von Lognachricht wird generiert, wenn Cloud Service Mesh-Ressourcen korrekt konfiguriert sind, aber die Variable TRAFFICDIRECTOR_INTERCEPTION_PORT nicht in den Metadaten des xDS-Clientknotens festgelegt ist. Daher kann diese Konfiguration dem Client nicht hinzugefügt werden.
"Interception-Listener wurde auf dem angegebenen Port 15001 aufgebaut, aber die Routingkonfiguration ist nicht vorhanden." Diese Art von Lognachricht wird generiert, wenn die Variable TRAFFICDIRECTOR_INTERCEPTION_PORT in den Metadaten des xDS-Clientknotens festgelegt ist, aber keine Ressourcen für Cloud Service Mesh konfiguriert wurden, um eine vollständige xDS-Antwort zu generieren.
„Senden der ADS-Antwort vom Cloud Service Mesh ist fehlgeschlagen. Die letzte Discovery-Anfrage des Knotens enthielt eine falsche Version und/oder eine Nonce.“ Diese Art von Lognachricht wird generiert, wenn das Cloud Service Mesh die xDS-Antwort aufgrund von fehlerhafter Kommunikation vom xDS-Client nicht korrekt verarbeiten konnte. Diese Meldung weist auf einen Implementierungsfehler im Client hin. Wir empfehlen deshalb, die Logs des Clients zu prüfen.
„Client sendet regionenübergreifenden Traffic an Backend-Dienst backend_service_id. Quellregion: source_region Zielregion(en): destination_region1, destination_region2 Diese Art von Lognachricht wird generiert, wenn ein Client dem Cloud Service Mesh meldet, dass er regionsübergreifenden Traffic von einer Quellregion an eine oder mehrere Zielregionen gesendet hat.

Messwerte aufrufen

Cloud Service Mesh exportiert drei Messwerte nach Cloud Monitoring: Verbundene Streams der xDS API, Anzahl der Anfragen und Anzahl der Anfragen nach Zone. Verbundene Streams der xDS API gibt die Anzahl der Clients an, die mit Ihrer Steuerungsebene verbunden sind. Anzahl der Anfragen gibt die Anzahl der an einen Back-End-Dienst gesendeten Anfragen an, gruppiert nach Quellregion, Zielregion und Anfragestatus. Anfrageanzahl nach Zone gibt die Anzahl der Anfragen an, die an einen Backend-Dienst gesendet werden, gruppiert nach Quellzone, Zielzone und Anfragestatus. Verwenden Sie den Metrics Explorer, um diese Messwerte anzuzeigen.

So rufen Sie Cloud Service Mesh-Messwerte auf:

  1. Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.

    Zum Metrics Explorer

  2. Wählen Sie in der Liste Ressourcentyp eine Ressource aus.
    • Wenn Sie die Dienstrouting-APIs verwenden, wählen Sie Gateway Scope oder Mesh aus.
    • Wenn Sie die älteren APIs verwenden, wählen Sie Network aus.
  3. Wählen Sie in der Liste Messwert connected_clients aus.
  4. Kehren Sie zur Liste Ressourcentyp zurück und wählen Sie Compute Engine Backend Service aus.
  5. Wählen Sie in der Liste Messwert entweder Request count oder Request count by zone aus.

Alternativ können Sie eine Abfrage verwenden, um die regionenübergreifende Anzahl von Anfragen anzuzeigen:

  1. Wählen Sie MQL aus.
  2. Geben Sie in das Feld die folgende Beispielabfrage ein:
    fetch gce_backend_service
    | metric 'trafficdirector.googleapis.com/xds/server/request_count'
    | filter ( ne(metric.source_region, metric.destination_region))
    | align rate(1m)
    | every 1m
    | group_by [metric.source_region, metric.destination_region, resource.backend_service_id],
    [value_request_count_aggregate: aggregate(value.request_count)]
    
  3. Klicken Sie auf Abfrage ausführen.

Logbasierte Messwerte und Benachrichtigungen einrichten

Für die folgenden Schritte müssen Sie logbasierte Messwerte einrichten. Weitere Informationen zum Einrichten von logbasierten Messwerten finden Sie in der Übersicht.

Sie können Benachrichtigungen so konfigurieren, dass Sie benachrichtigt werden, sobald benutzerdefinierte Nachrichten in den enthaltenen Logs angezeigt werden. Diese Warnungen können den Operator benachrichtigen, wenn etwas unerwartetes auftritt. Wenn beispielsweise eine Änderung an der Cloud Service Mesh-Konfiguration zu API-Ressourcenkonflikten führt, können Sie eine Benachrichtigung über die Fehlermeldung erhalten. Informationen zum Einrichten von Benachrichtigungen für logbasierte Messwerte finden Sie unter Diagramme und Benachrichtigungen konfigurieren.