Logging und Monitoring für Cloud Load Balancing-Callouts

Auf dieser Seite erfahren Sie, wie Sie Cloud Logging und Cloud Monitoring mit Service Extensions-Callouts für Cloud Load Balancing konfigurieren und verwenden.

Logging

In diesem Abschnitt wird die Protokollierung für Application Load Balancer-Aufrufe beschrieben.

Logging für einen Backend-Dienst aktivieren

Sie können das Logging für Application Load Balancer-Callouts aktivieren, indem Sie beim Erstellen des Dienstes das Logging für den Backend-Dienst aktivieren, der das Ziel einer Anfrage ist (und nicht für den Backend-Dienst, der der Erweiterung zugeordnet ist).

Verwenden Sie den Befehl gcloud compute backend-services update, um das Logging für den Ziel-Backend-Dienst zu aktivieren.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

Ersetzen Sie Folgendes:

  • BACKEND_SERVICE: der Name des Backend-Dienstes.
  • RATE: ein Wert zwischen 0.0 und 1.0, wobei 0.0 bedeutet, dass keine Anfragen protokolliert werden, und 1.0 bedeutet, dass 100% der Anfragen protokolliert werden. Der Standardwert ist 1.0. Diese Einstellung ist nur in Verbindung mit dem Parameter enable-logging wirksam. Wenn Sie enable-logging weglassen, ist das Logging deaktiviert.
  • REGION: die Region des Backends
  • LOGGING_OPTIONAL_MODE: Aktiviert das Logging für optionale Felder in einem der folgenden Modi:

    • INCLUDE_ALL_OPTIONAL umfasst alle optionalen Felder.
    • EXCLUDE_ALL_OPTIONAL (Standard) schließt alle optionalen Felder aus.
    • CUSTOM enthält eine benutzerdefinierte Liste optionaler Felder.
  • OPTIONAL_FIELDS: eine durch Kommas getrennte Liste optionaler Felder, wenn Sie den Modus CUSTOM auswählen

Nachdem Sie das Logging für den Back-End-Dienst aktiviert haben, werden HTTP- oder HTTPS-Anfragen mit Cloud Logging protokolliert.

Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf, um sich Logs anzusehen.

Weitere Informationen finden Sie in der Dokumentation zum Application Load Balancer auf den Seiten „Monitoring und Fehlerbehebung“, z. B. unter Logging und Monitoring für interne Application Load Balancer.

Nachrichten für einen Backend-Dienst protokollieren

Im Allgemeinen enthalten Application Load Balancer-Logeinträge Informationen, die für das Monitoring und die Fehlerbehebung bei Ihrem HTTP- oder HTTPS-Traffic nützlich sind. Folgende Informationen sind in ihnen enthalten:

  • Informationen, die in den meisten Google Cloud Logs angezeigt werden, wie z. B. Schweregrad, Projekt-ID, Projektnummer und Zeitstempel, wie im LogEntry-Log beschrieben.
  • HttpRequest-Logfelder.

Anfragelogs für HTTP- und HTTPS-Load-Balancer enthalten ein service_extension_info-Objekt in der JSON-Nutzlast des Load-Balancer-Logeintrags mit den folgenden Informationen:

Feld Typ Beschreibung
backend_target_name String Name des Backend-Ziels der Erweiterung.
backend_target_type String Typ des Backend-Ziels.
chain String Der Name der Erweiterungskette in der Diensterweiterungsressource, die der Anfrage entspricht.
extension String Name der Erweiterung in der Erweiterungskette.
grpc_status enum Der aktuelle Status des gRPC-Streams. Weitere Informationen finden Sie unter gRPC-Statuscodes.
per_processing_request_info Array Eine Liste mit entweder ProcessingRequest-Statistiken für ext_proc-Erweiterungen oder CheckRequest-Statistiken für ext_authz-Erweiterungen, die über den gRPC-Stream erfolgen.
per_processing_request_info[].event_type enum Der Ereignistyp von ProcessingRequest. Kann einer der folgenden Werte sein: REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS oder RESPONSE_BODY.
per_processing_request_info[].latency Dauer Die Dauer ab dem Zeitpunkt, an dem das erste Byte der ProcessingRequest-Nachricht an die Erweiterung gesendet wird, bis zu dem Zeitpunkt, an dem das letzte Byte der ProcessingResponse-Nachricht empfangen wird.
resource String Name der Erweiterungsressource

Monitoring

In diesem Abschnitt wird beschrieben, wie Sie Callouts überwachen, die mit Dienst-Extensions für Cloud Load Balancing konfiguriert wurden.

Monitoring-Dashboard aufrufen

Application Load Balancer exportieren Monitoringdaten nach Cloud Monitoring.

Monitoring-Messwerte können für Folgendes verwendet werden:

  • Bewertung der Konfiguration, Nutzung und Leistung eines Load-Balancers
  • Fehlerbehebung
  • Verbesserung der Ressourcenauslastung und Nutzerfreundlichkeit

So rufen Sie ein vordefiniertes Dashboard auf:

  1. Rufen Sie in der Google Cloud Console die Seite Dashboard-Übersicht auf.

    Zur Dashboard-Übersicht

  2. Klicken Sie im Bereich Kategorien auf GCP.
    • Wenn Sie eine Liste der Dashboards für alle Ihre Load-Balancer aufrufen möchten, klicken Sie in der Liste GCP-Dashboards auf das Dashboard mit dem Namen Google Cloud-Load-Balancer. Wenn Sie das Dashboard eines bestimmten Load-Balancers aufrufen möchten, suchen Sie den Load-Balancer in der Liste und klicken Sie auf den Namen.
    • Wählen Sie das entsprechende Dashboard aus, um nur die vordefinierten Dashboards für Ihre Load Balancer aufzurufen.

Zusätzlich zu den vordefinierten Dashboards in Monitoring können Sie über die Cloud Monitoring API benutzerdefinierte Dashboards erstellen, Benachrichtigungen einrichten und Messwerte abrufen.

Weitere Informationen finden Sie in der Dokumentation zum Application Load Balancer auf den Seiten „Monitoring und Fehlerbehebung“, z. B. unter Logging und Monitoring für interne Application Load Balancer.

Messwerte für Callouts überwachen

Sie können die folgenden Messwerte für Callout-Back-End-Dienste überwachen.

Diese Messwerte haben das Präfix loadbalancing.googleapis.com/. Das Präfix wurde in den Einträgen der Tabelle weggelassen.

Messwerttyp Anzeigename
Art, Typ, Einheit
Beschreibung
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
Anzahl der Backend-Anfragen
DELTAINT641
Die Anzahl der Aufrufe eines Callout-Backend-Dienstes durch den Application Load Balancer.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
Backend-Anfragebyte
DELTAINT64By
Die Anzahl der Byte, die vom Load-Balancer an den Callout-Backend-Dienst gesendet wurden.
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
Backend-Antwortbyte
DELTAINT64By
Die Anzahl der Byte, die der Load Balancer vom Erweiterungs-Backend empfangen hat.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
Backend-Latenz
DELTADISTRIBUTIONms
Eine Verteilung, die aus der Summe der Latenzen jedes Erweiterungsaufrufs zwischen dem Load Balancer und dem Callout-Backend-Dienst berechnet wird. Alle 60 Sekunden wird eine Stichprobe erstellt.

Nächste Schritte