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 das Logging für Application Load Balancer-Callouts beschrieben.

Logging für einen Backend-Dienst aktivieren

Sie können das Logging für Application Load Balancer-Callouts aktivieren, während Sie den Dienst erstellen. Dazu aktivieren Sie das Logging für den Backend-Dienst, der das Ziel einer Anfrage ist (und nicht für den Backend-Dienst, der mit der Erweiterung verknüpft ist).

Verwenden Sie den gcloud compute backend-services update Befehl, 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, dass 100% der Anfragen protokolliert werden. Der Standardwert ist 1.0. Diese Einstellung ist nur wirksam wenn sie mit dem enable-logging Parameter verwendet wird. Wenn Sie enable-logging weglassen, ist das Logging deaktiviert.
  • REGION: die Region des Back-Ends
  • LOGGING_OPTIONAL_MODE: aktiviert das Logging für optionale Felder in einem der folgenden Modi:

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

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

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

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

Logmeldungen für einen Backend-Dienst

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, 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 Name der Erweiterungskette in der Service Extension-Ressource, die mit der Anfrage übereinstimmt.
extension String Name der Erweiterung in der Erweiterungskette.
failed_open boolean Wenn für die Erweiterungskonfiguration failOpen auf true gesetzt ist, gibt der Wert true für diesen Messwert an, dass die Verarbeitung fortgesetzt wurde, als das Zeitlimit für die Erweiterung überschritten wurde oder sie fehlgeschlagen ist.

Gilt nur für regionale externe Application Load Balancer, regionale interne Application Load Balancer und regionenübergreifende interne Application Load Balancer.

grpc_status enum Der letzte 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 auftreten.
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 vom Senden des ersten Byte der ProcessingRequest Nachricht an die Erweiterung bis zum Empfang des letzten Byte der ProcessingResponse Nachricht.
per_processing_request_info[].processing_effect enum Das Ergebnis der Verarbeitung für jedes Ereignis in einer Verarbeitungs anfrage.

Gilt nur für regionale externe Application Load Balancer, regionale interne Application Load Balancer und regionenübergreifende interne Application Load Balancer.

Kann einer der folgenden Werte sein:

  • NONE: gibt an, dass der Inhalt nicht geändert wurde.
  • NONE_FAILED_OPEN: gibt an, dass keine Änderungen vorgenommen wurden, weil die Erweiterung fehlgeschlagen ist.
  • CONTENT_MODIFIED: gibt an, dass der Inhalt durch eine erfolgreich angewendete Änderungsanfrage geändert wurde.
  • IMMEDIATE_RESPONSE: gibt an, dass eine sofortige Antwort von der Erweiterung gesendet wurde, um die weitere Verarbeitung zu beenden.
  • MUTATION_REJECTED: gibt an, dass die Erweiterung mindestens eine nicht zulässige Änderung angefordert hat und die weitere Verarbeitung eingestellt wurde. Entsprechende Fehler meldungen werden protokolliert.
  • UNSPECIFIED: gibt an, dass die Auswirkungen der Verarbeitung nicht bekannt sind.
per_processing_request_info[].processing_effect_details String Wenn processing_effect den Wert MUTATION_REJECTED hat, sind hier die Details dazu angegeben, warum eine Änderung abgelehnt wurde.

Gilt nur für regionale externe Application Load Balancer, regionale interne Application Load Balancer und regionenübergreifende interne Application Load Balancer.

resource String Name der Erweiterungsressource

Monitoring

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

Monitoring-Dashboard aufrufen

Application Load Balancer exportieren Monitoringdaten nach Cloud Monitoring.

Sie können Monitoring-Messwerte für folgende Zwecke verwenden:

  • 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.

    Dashboard-Übersicht aufrufen

  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 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 seinen Namen.
    • Wenn Sie nur die vordefinierten Dashboards für Ihre Load Balancer aufrufen möchten, wählen Sie das entsprechende Dashboard aus.

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

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

Monitoring-Messwerte für Callouts

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

In Vorschau können Sie die folgenden Messwerte für Erweiterungen auf regionalen externen Application Load Balancern, regionalen internen Application Load Balancern und regionenübergreifenden internen Application Load Balancern überwachen. Diese Messwerte haben das Präfix networkservices.googleapis.com. Das Präfix wird in den Einträgen in der folgenden Tabelle weggelassen.

Die folgende Tabelle enthält den Messwerttyp, den Anzeigenamen, die Art, den Typ, die Einheit und die Beschreibung für jeden Messwert.

Messwerttyp Anzeigename
Art, Typ, Einheit
Beschreibung
extension/invocation_count Anzahl der Erweiterungsaufrufe
DELTAINT641
Die Anzahl der Aufrufe, die an die Erweiterung gesendet wurden.
extension/invocation_latencies Latenzen der Erweiterungsaufrufe
DELTADISTRIBUTIONms
Die Verteilung, die aus der Latenz jedes Erweiterungsaufrufs berechnet wird.
extension/sent_chunks_count Anzahl der gesendeten Erweiterungs-Chunks
DELTAINT641
Gilt nur für request_body und response_body Ereignisse. Die Anzahl der Daten-Chunks, die an die Erweiterung gesendet wurden.
extension/received_chunks_count Anzahl der empfangenen Erweiterungs-Chunks
DELTAINT641
Gilt nur für request_body und response_body Ereignisse. Die Anzahl der von der Erweiterung empfangenen Chunks.
extension/failed_open_count Anzahl der fehlgeschlagenen Erweiterungsaufrufe mit Fail-Open
DELTAINT641
Die Anzahl der Aufrufe, die fehlgeschlagen sind, als das System für Fail-Open konfiguriert war und die Anfrage fortgesetzt werden konnte.
extension/mutation_rejections_count Anzahl der abgelehnten Erweiterungsänderungen
DELTAINT641
Die Anzahl der Aufrufe, bei denen Änderungen an Headern, Textkörpern oder Trailern angefordert wurden, die aber abgelehnt wurden. Ablehnungen können aus verschiedenen Gründen erfolgen, z. B. wenn die Änderung ungültig ist oder Größenbeschränkungen überschreitet.
extension/sent_bytes_count Anzahl der gesendeten Erweiterungs-Byte
DELTAINT64By
Die Anzahl der Byte, die an die Erweiterung gesendet wurden.
extension/received_bytes_count Anzahl der empfangenen Erweiterungs-Byte
DELTAINT64By
Die Anzahl der von der Erweiterung empfangenen Byte.

Sie können auch die folgenden Messwerte überwachen. Diese Messwerte haben das Präfix loadbalancing.googleapis.com/. Das Präfix wird in den Einträgen in 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 vom Application Load Balancer.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
Backend-Anfragebyte
DELTA, INT64, By
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 vom Erweiterungs-Backend vom Load Balancer empfangen wurden.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
Backend-Latenz
DELTA, DISTRIBUTION, ms
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