Dieses Dokument bietet grundlegende Informationen zu Logging- und Monitoring-Messwerten für Interne Application Load Balancer. Die Logging- und Monitoring-Messwerte sind sowohl für regionale interne als auch für regionenübergreifende interne Application Load Balancer identisch.
Logging
Sie können Logging für jeden Backend-Dienst aktivieren. Die URL-Zuordnung eines einzelnen internen Application Load Balancers kann auf mehr als einen Backend-Dienst verweisen. Je nach Konfiguration müssen Sie möglicherweise das Logging für mehrere Backend-Dienste aktivieren.
Stichprobenentnahme und Erfassung von Logs
Google Cloud nimmt Stichproben der ausgehenden und eingehenden Pakete des Load-Balancer-Back-Ends der VM-Instanzen (virtuelle Maschine). Diese Stichprobenpakete werden verarbeitet, um Logs zu generieren.
Nicht jedes Paket wird als Stichprobe verwendet. Google Cloud nimmt je nach Umfang des Traffics auf dem physischen Host eine variable Teilmenge von Paketen. Die niedrigste Abtastrate beträgt 1 von 1.024 Paketen. Die Abtastrate wird dynamisch von Google Cloud gesteuert. Sie können die Abtastrate nicht anpassen.
Der Entnahmeprozess von Stichproben interagiert auf folgende Weise mit Firewallregeln:
- Pakete werden vor dem Anwenden von Firewallregeln für ausgehenden Traffic als Stichprobe erfasst.
- Pakete werden nach dem Anwenden von Firewallregeln für eingehenden Traffic als Stichprobe erfasst.
Nach dem Entnahmeprozess von Stichproben verarbeitet Google Cloud die Stichprobenpakete gemäß dem folgenden Verfahren:
Aggregation: Die Stichprobenpakete werden über ein Intervall von fünf Sekunden aggregiert, um einen einzelnen Ablaufeintrag zu erzeugen.
Konfigurierbare (sekundäre) Stichproben von Logs: Dies ist ein zweiter Entnahmeprozess von Stichproben, der die Abläufe erfasst. Sie steuern den Anteil der Ablaufeinträge, die als Logeinträge gemäß dem Parameter logConfig.sampleRate ausgegeben werden. Wenn
logConfig.sampleRate
den Wert1.0
(100 %) hat, werden alle Stichprobenpakete verarbeitet.In Logging schreiben: Die endgültigen Logeinträge werden in Cloud Logging geschrieben.
Optionale Felder
Logdatensätze umfassen Pflichtfelder und optionale Felder. Im Abschnitt Was wird protokolliert? werden die optionalen Felder und die erforderlichen Felder aufgeführt. Alle Pflichtfelder sind immer enthalten. Sie können festlegen, welche optionalen Felder beibehalten werden.
Wenn Sie Alle optionalen einschließen auswählen, sind alle optionalen Felder im Logdatensatzformat in den Flusslogs enthalten. Wenn dem Eintragsformat neue optionale Felder hinzugefügt werden, enthalten die Flusslogs automatisch die neuen Felder.
Wenn Sie Alle optionalen ausschließen auswählen, werden alle optionalen Felder weggelassen.
Wenn Sie Benutzerdefiniert auswählen, können Sie die optionalen Felder angeben, die Sie einschließen möchten, z. B.
tls.protocol,tls.cipher
.
Eine Anleitung zum Anpassen optionaler Felder finden Sie unter Logging auf einem vorhandenen Backend-Dienst aktivieren.
Logging für vorhandenen Backend-Dienst aktivieren
Führen Sie für regionale interne Application Load Balancer die folgenden Schritte aus:
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Namen des Load-Balancers.
Klicken Sie auf
Bearbeiten.Klicken Sie auf Backend-Konfiguration.
Klicken Sie neben Ihrem Backend-Dienst auf
Bearbeiten.Klicken Sie auf Erweiterte Konfigurationen (Sitzungsaffinität, Zeitlimit für Verbindungsausgleich).
Klicken Sie auf Logging aktivieren.
Legen Sie einen Anteilswert für die Abtastrate fest. Sie können eine Zahl von
0.0
bis1.0
festlegen, wobei0.0
bedeutet, dass keine Anfragen in Logs erfasst werden, und1.0
bedeutet, dass 100 % der Anfragen in Logs erfasst werden. Der Standardwert ist1.0
Optional: Wenn Sie alle optionalen Felder in die Logs aufnehmen möchten, klicken Sie im Abschnitt Optionale Felder auf Alle optionalen Felder einschließen.
Klicken Sie auf Aktualisieren, um das Bearbeiten des Backend-Dienstes abzuschließen.
Klicken Sie auf Aktualisieren, um die Bearbeitung des Load-Balancers abzuschließen.
gcloud
Verwenden Sie den Befehl gcloud compute
backend-services update
, um den Backend-Dienst zur Aktivierung des Loggings zu aktualisieren.
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
Wobei Folgendes gilt:
--enable-logging
aktiviert das Logging für diesen Back-End-Dienst.- Mit
--logging-sample-rate
können Sie einen Wert von0.0
bis1.0
angeben, wobei0.0
bedeutet, dass keine Anfragen protokolliert werden, und1.0
bedeutet, dass 100 % der Anfragen protokolliert werden. Dies ist nur mit dem Parameter--enable-logging
sinnvoll. Wenn Sie das Logging aktivieren und die Abtastrate auf0.0
festlegen, entspricht dies einer Deaktivierung des Loggings. Der Standardwert ist1.0
. Mit
--logging-optional
können Sie die optionalen Felder angeben, die in den Logs enthalten sein sollen:INCLUDE_ALL_OPTIONAL
, um alle optionalen Felder einzuschließen.EXCLUDE_ALL_OPTIONAL
(Standard), um alle optionalen Felder auszuschließen.CUSTOM
zum Hinzufügen einer benutzerdefinierten Liste von optionalen Feldern, die Sie inOPTIONAL_FIELDS
angeben.
Mit
--logging-optional-fields
können Sie eine durch Kommas getrennte Liste optionaler Felder angeben, die in die Logs aufgenommen werden sollen.Beispiel:
tls.protocol,tls.cipher
kann nur festgelegt werden, wennLOGGING_OPTIONAL_MODE
aufCUSTOM
eingestellt ist.
Führen Sie für regionenübergreifende interne Application Load Balancer die folgenden Schritte aus:
Console
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Klicken Sie auf den Namen des Load-Balancers.
Klicken Sie auf
Bearbeiten.Klicken Sie auf Backend-Konfiguration.
Klicken Sie neben Ihrem Backend-Dienst auf
Bearbeiten.Klicken Sie auf Erweiterte Konfigurationen (Sitzungsaffinität, Zeitlimit für Verbindungsausgleich).
Klicken Sie auf Logging aktivieren.
Legen Sie einen Anteilswert für die Abtastrate fest. Sie können eine Zahl von
0.0
bis1.0
festlegen, wobei0.0
bedeutet, dass keine Anfragen in Logs erfasst werden, und1.0
bedeutet, dass 100 % der Anfragen in Logs erfasst werden. Der Standardwert ist1.0
Optional: Wenn Sie alle optionalen Felder in die Logs aufnehmen möchten, klicken Sie im Abschnitt Optionale Felder auf Alle optionalen Felder einschließen.
Klicken Sie auf Aktualisieren, um das Bearbeiten des Backend-Dienstes abzuschließen.
Klicken Sie auf Aktualisieren, um die Bearbeitung des Load-Balancers abzuschließen.
gcloud
Verwenden Sie den Befehl gcloud compute
backend-services update
, um den Backend-Dienst zur Aktivierung des Loggings zu aktualisieren.
gcloud compute backend-services update BACKEND_SERVICE \ --enable-logging \ --logging-sample-rate=RATE \ --global \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
Wobei Folgendes gilt:
--enable-logging
aktiviert das Logging für diesen Back-End-Dienst.- Mit
--logging-sample-rate
können Sie einen Wert von0.0
bis1.0
angeben, wobei0.0
bedeutet, dass keine Anfragen protokolliert werden, und1.0
bedeutet, dass 100 % der Anfragen protokolliert werden. Dies ist nur mit dem Parameter--enable-logging
sinnvoll. Wenn Sie das Logging aktivieren und die Abtastrate auf0.0
festlegen, entspricht dies einer Deaktivierung des Loggings. Der Standardwert ist1.0
. Mit
--logging-optional
können Sie die optionalen Felder angeben, die in den Logs enthalten sein sollen:INCLUDE_ALL_OPTIONAL
, um alle optionalen Felder einzuschließen.EXCLUDE_ALL_OPTIONAL
(Standard), um alle optionalen Felder auszuschließen.CUSTOM
zum Hinzufügen einer benutzerdefinierten Liste von optionalen Feldern, die Sie inOPTIONAL_FIELDS
angeben.
Mit
--logging-optional-fields
können Sie eine durch Kommas getrennte Liste optionaler Felder angeben, die in die Logs aufgenommen werden sollen.Beispiel:
tls.protocol,tls.cipher
kann nur festgelegt werden, wennLOGGING_OPTIONAL_MODE
aufCUSTOM
eingestellt ist.
Nachdem Sie das Logging für den Backend-Dienst aktiviert haben, wird jede HTTP(S)-Anfrage mit Cloud Logging protokolliert.
Logs aufrufen
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf, um sich Logs anzusehen.
Interne Logs des Application Load Balancers werden zuerst nach Netzwerk und dann nach Region indexiert.
- Wählen Sie zum Anzeigen von Logs für alle internen Application Load Balancer im ersten Drop-down-Menü die Option Regel für internen Application Load Balancer aus.
- Wählen Sie zum Aufrufen von Logs für nur ein Netzwerk Regel für internen Application Load Balancer und anschließend den Namen eines Netzwerks aus.
- Wählen Sie zum Anzeigen von Logs für nur eine Region des Netzwerks Regel für internen Application Load Balancer >
NETWORK
>REGION
aus.
Boolesche Logfelder werden normalerweise nur angezeigt, wenn sie den Wert true
haben.
Wenn ein boolesches Feld einen Wert false
hat, erscheint dieses Feld nicht im Log.
Für Logfelder wird eine UTF-8-Codierung erzwungen. Zeichen, bei denen es sich nicht um UTF-8-Zeichen handelt, werden durch Fragezeichen ersetzt.
Sie können den Export von logbasierten Messwerten für Ressourcenlogs (resource.type="internal_http_lb_rule"
) konfigurieren. Die erstellten Messwerte basieren auf der Ressource „Regel für internen Application Load Balancer“, die in Cloud Monitoring-Dashboards verfügbar ist:
Was wird protokolliert?
Die Logeinträge für den internen Application Load Balancer enthalten Informationen, die Sie für das Monitoring und die Fehlerbehebung bei Ihrem HTTP(S)-Traffic verwenden können. Logeinträge enthalten Pflichtfelder, die die Standardfelder jedes Logeintrags sind, und optionale Felder, die zusätzliche Informationen zu Ihrem HTTP(S)-Traffic hinzufügen. Sie können weggelassen werden, um Speicherkosten zu sparen. Folgende Informationen sind in Ihnen enthalten:
- Allgemeine Informationen, die in Google Cloud-Logs angezeigt werden, wie Schweregrad, Projekt-ID, Projektnummer und Zeitstempel, wie in LogEntry beschrieben.
- HttpRequest-Logfelder.
Einige Logfelder haben ein Mehrfeldformat mit mehr als einem Datenelement in einem bestimmten Feld. Das Feld tls
hat beispielsweise das Format TlsDetails
. Dieses Format enthält das TLS-Protokoll und die TLS-Chiffre in einem einzelnen Feld.
Diese Felder mit Mehrfeldformat werden in der Datensatzformattabelle beschrieben.
Feld | Typ | Feldtyp: Erforderlich oder optional | Beschreibung |
---|---|---|---|
logName
|
String | Erforderlich |
Ressourcenname des Logs, dessen Bestandteil der Logeintrag ist. Im Format "projects/PROJECT_ID/logs/requests" .
|
timestamp
|
String | Erforderlich | Der Zeitpunkt, an dem die Anfrage gestellt wurde. |
severity
|
LogSeverity-Format | Erforderlich |
Der Schweregrad des Logeintrags. Die Standardeinstellung ist LogSeverity.DEFAULT .
|
httpRequest
|
HttpRequest-Objekt | Erforderlich | Ein HttpRequest-Proto, das die protokollierte HTTP(S)-Anfrage beschreibt. |
trace
|
String | Erforderlich |
Der Ressourcenname des Trace, das, falls vorhanden, mit dem Logeintrag verknüpft ist. Wenn ein relativer Ressourcennamen enthalten ist, wird angenommen, dass der Name relativ zu https://tracing.googleapis.com ist. Beispiel: projects/PROJECT_ID/traces/06796866738c859f2f19b7cfb3214824
Interne Application Load Balancer unterstützen dieses Feld nicht. |
spanId
|
String | Erforderlich |
Die Span-ID innerhalb des Trace, das mit dem Logeintrag verknüpft ist. Für Trace-Spans ist dies das Format, das die Trace API v2 verwendet, d. h. eine aus 16 Zeichen bestehende hexadezimale Codierung eines 8-Byte-Arrays, z. B. 000000000000004a .
Interne Application Load Balancer unterstützen dieses Feld nicht. |
resource
|
MonitoredResource-Objekt | Erforderlich |
Der überwachten Ressource, von der der Logeintrag erzeugt wurde. Das Objekt Beispiel: Überwachte Ressourcendeskriptoren für interne Application Load Balancer haben den Ressourcentyp |
jsonPayload | object (Struct format) | Erforderlich | Nutzlast des Logeintrags, die als JSON-Objekt ausgedrückt wird. Das JSON-Objekt enthält die folgenden Felder:
|
String | Erforderlich | Das Feld Das Feld wird nicht protokolliert, wenn der Wert ein leerer String ist. Weitere Informationen finden Sie unter der ProxyStatus-Nachricht. |
|
String | Erforderlich | Das Feld backendTargetProjectNumber enthält die Projektnummer, die den Inhaber des Backend-Dienstes oder Backend-Buckets identifiziert.
|
|
String | Erforderlich | Das Feld serviceDirectoryService enthält den Namen des Service Directory-Dienstes, bei dem der Cloud FIT-Fehler konfiguriert wurde. |
|
String | Erforderlich | Das Feld cloudFitExperiment enthält den Namen des Cloud FIT-Tests. |
|
String | Erforderlich | Das Feld cloudFitFault enthält den Namen des Fehlers, der von einem Cloud FIT-Fehlertest in diesem Anfragepfad eingefügt wurde. |
|
ServiceExtensionInfo | Erforderlich | Im Feld serviceExtensionInfo werden Informationen zu den gRPC-Streams vom Load Balancer zu Diensterweiterungen gespeichert. Weitere Informationen finden Sie unter
Was für Erweiterungen mit Zusatzinformationen protokolliert wird. |
|
TlsDetails | Optional | Das Feld tls enthält die TlsDetails, die die TLS-Metadaten für die Verbindung zwischen dem Client und dem internen Application Load Balancer angeben. Dieses Feld ist nur verfügbar, wenn der Client die TLS/SSL-Verschlüsselung verwendet. |
|
MtlsDetails | Optional | Das Feld mtls enthält den Wert MtlsDetails, der die mTLS-Metadaten für die Verbindung zwischen dem Client und dem internen Application Load Balancer angibt. Dieses Feld ist nur verfügbar, wenn der Load-Balancer das gegenseitige TLS (mTLS) des Front-Ends verwendet.
|
Feldformat von TlsDetails
Feld | Feldformat | Feldtyp: Erforderlich oder optional | Beschreibung |
---|---|---|---|
protocol | String | Optional | TLS-Protokoll, mit dem Clients eine Verbindung mit dem Load Balancer herstellen können. Mögliche Werte sind TLS 1.0, 1.1, 1.2,
1.3 oder QUIC .
Dieser Wert wird auf NULL gesetzt, wenn der Client keine TLS/SSL-Verschlüsselung verwendet.
|
cipher | String | Optional | TLS-Chiffre, mit der Clients eine Verbindung mit dem Load Balancer herstellen können. Dieser Wert wird auf NULL gesetzt, wenn der Client kein HTTP(S) verwendet oder der Client keine TLS/SSL-Verschlüsselung verwendet.
|
Feldformat von MtlsDetails
Feld | Feldformat | Feldtyp: Erforderlich oder optional | Beschreibung |
---|---|---|---|
clientCertPresent | bool | Optional |
|
clientCertChainVerified | bool | Optional |
|
clientCertError | String | Optional | Vordefinierte Strings, die die Fehlerbedingungen darstellen. Weitere Informationen zu den Fehlerstrings finden Sie unter mTLS-Clientvalidierungsmodi. |
clientCertSha256Fingerprint | String | Optional | Base64-codierter SHA-256-Fingerabdruck des Clientzertifikats. |
clientCertSerialNumber | String | Optional | Die Seriennummer des Clientzertifikats.
Wenn die Seriennummer länger als 50 Bytes ist, wird der String |
clientCertValidStartTime | String | Optional | Zeitstempel (Datumsstringformat gemäß RFC 3339), vor dem das Clientzertifikat ungültig ist.
Beispiel: |
clientCertValidEndTime | String | Optional | Zeitstempel (Datumsstringformat gemäß RFC 3339), nach dem das Clientzertifikat ungültig ist.
Beispiel: |
clientCertSpiffeId | String | Optional | Die SPIFFE-ID aus dem Feld „Alternativer Antragstellername“ (SAN) Wenn der Wert ungültig ist oder 2.048 Byte überschreitet, wird die SPIFFE-ID auf einen leeren String gesetzt. Wenn die SPIFFE-ID länger als 2.048 Bytes ist, wird der String |
clientCertUriSans | String | Optional | Durch Kommas getrennte Liste mit Base64-codierten SAN-Erweiterungen vom Typ URI. Die SAN-Erweiterungen werden aus dem Clientzertifikat extrahiert.
Die SPIFFE-ID ist nicht im Feld Wenn das Feld |
clientCertDnsnameSans | String | Optional | Durch Kommas getrennte Liste mit Base64-codierten SAN-Erweiterungen vom Typ DNSName. Die SAN-Erweiterungen werden aus dem Clientzertifikat extrahiert. Wenn das Feld |
clientCertIssuerDn | String | Optional | Base64-codiertes vollständiges Ausstellerfeld aus dem Zertifikat. Wenn das Feld |
clientCertSubjectDn | String | Optional | Base64-codiertes vollständiges Subject-Feld aus dem Zertifikat. Wenn das Feld |
clientCertLeaf | String | Optional | Das untergeordnete Clientzertifikat für eine hergestellte mTLS-Verbindung, bei der das Zertifikat die Validierung bestanden hat. Die Zertifikatscodierung ist RFC 9440-konform: Das binäre DER-Zertifikat wird mit Base64 codiert (ohne Zeilenumbrüche, Leerzeichen oder andere Zeichen außerhalb des Base64-Alphabets) und durch Doppelpunkte auf beiden Seiten getrennt. Wenn |
clientCertChain | String | Optional | Die durch Kommas getrennte Liste der Zertifikate in Standard-TLS-Reihenfolge der Clientzertifikatskette für eine hergestellte mTLS-Verbindung, bei der das Clientzertifikat die Validierung bestanden hat, ohne das untergeordnete Zertifikat. Die Zertifikatscodierung ist konform mit RFC 9440. Wenn die Gesamtgröße von |
Ressourcenlabels
In der folgenden Tabelle sind die Ressourcenlabels für resource.type="internal_http_lb_rule"
aufgeführt.
Feld | Typ | Beschreibung |
---|---|---|
network_name |
String | Der Name des VPC-Netzwerks des Load-Balancers. |
project_id | String | Die Kennung des Google Cloud-Projekts, das dieser Ressource zugeordnet ist. |
region |
String | Die Region, in der der Load-Balancer definiert ist. |
url_map_name | String | Der Name des URL-Zuordnungsobjekts, das für die Auswahl eines Backend-Dienstes konfiguriert ist. |
forwarding_rule_name |
String | Der Name des Weiterleitungsregelobjekts. |
target_proxy_name | String | Der Name des Ziel-Proxy-Objekts, auf das die Weiterleitungsregel verweist. |
matched_url_path_rule |
String |
Die Pfadregel oder Routingregel der URL-Zuordnung, die als Teil des URL-Zuordnungsschlüssels konfiguriert ist. Kann UNMATCHED oder UNKNOWN als Fallback sein.
|
backend_target_name |
String | Der Name des Back-Ends, das für die Anfrage ausgewählt wurde, auf Basis der Pfadregel oder Routingregel der URL-Zuordnung, die mit der Anfrage übereinstimmt. |
backend_target_type | String | Der Typ des Backend-Ziels (BACKEND_SERVICE /UNKNOWN ). |
backend_name |
String | Der Name der Backend-Instanzgruppe oder der NEG. |
backend_type |
String | Der Typ des Back-Ends, entweder eine Instanzgruppe oder eine NEG oder unbekannt. Cloud Logging protokolliert Anfragen, wenn |
backend_scope |
String |
Der Bereich des Back-Ends (entweder ein Zonenname oder ein Regionsname). Kann UNKNOWN sein, wenn backend_name unbekannt ist.
|
backend_scope_type |
String | Der Bereich des Back-Ends (REGION /ZONE ). Kann UNKNOWN sein, wenn backend_name unbekannt ist. |
proxyStatus-Nachrichten
Die im Feld proxyStatus protokollierten Strings lauten:
proxyStatus | Bedeutung | Häufige zugehörige Antwortcodes |
---|---|---|
destination_unavailable
|
Der Load-Balancer betrachtet das Backend als nicht verfügbar. Beispiel: Die letzten Kommunikationsversuche mit dem Backend sind fehlgeschlagen oder eine Systemdiagnose kann auf einen Fehler hinweisen. | 500, 503 |
connection_timeout
|
Beim Versuch, eine Verbindung zum Backend zu öffnen, ist eine Zeitüberschreitung aufgetreten. | 504 |
connection_terminated
|
Die Verbindung des Load-Balancers mit dem Backend wurde geschlossen, bevor eine vollständige Antwort empfangen wurde. | 502, 503 |
connection_refused
|
Die Verbindung des Load-Balancers zum Backend wurde abgelehnt. | 502, 503 |
connection_limit_reached
|
Der Load-Balancer ist so konfiguriert, dass er die Anzahl seiner Verbindungen zum Backend begrenzt und dieses Limit wurde überschritten. | 502, 503 |
destination_not_found
|
Der Load-Balancer kann nicht feststellen, welches Backend für diese Anfrage zu verwenden ist, z. B. weil es nicht konfiguriert ist. | 500, 404 |
dns_error
|
Der Load Balancer hat bei der Suche nach einer IP-Adresse für den Backend-Hostnamen einen DNS-Fehler festgestellt. | 502, 503 |
http_response_timeout
|
Der Load-Balancer hat beim Warten auf die vollständige Antwort vom Backend ein konfiguriertes Zeitlimit erreicht. | 504, 408 |
http_request_error
|
Der Load-Balancer generiert im Namen des Clients eine Clientantwort (4xx). | 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417, oder 429 |
proxy_configuration_error
|
Der Load-Balancer hat einen Fehler in Bezug auf seine Konfiguration festgestellt. | 500 |
http_protocol_error
|
Der Load-Balancer hat bei der Kommunikation mit dem Backend einen HTTP-Protokollfehler festgestellt. | 502 |
proxy_internal_error
|
Der Load Balancer hat einen internen Fehler festgestellt. | 500, 502 |
proxy_internal_response
|
Der Load Balancer hat die Antwort generiert, ohne zu versuchen, eine Verbindung zum Backend herzustellen. | Je nach Art des Problems wird möglicherweise ein HTTP-Statuscode angezeigt. Der HTTP-Statuscode 410 bedeutet beispielsweise, dass das Backend aufgrund von Zahlungsrückstand nicht verfügbar ist. |
Logs für die Validierung des mTLS-Clientzertifikats ansehen
Führen Sie die folgenden Schritte aus, um die protokollierten Fehler für geschlossene Verbindungen während der gegenseitigen TLS-Clientzertifikat-Validierung aufzurufen.
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf den Schalter Abfrage anzeigen, um den Abfrageeditor zu aktivieren.
Fügen Sie Folgendes in das Abfragefeld ein. Ersetzen Sie
FORWARDING_RULE_NAME
durch den Namen der Weiterleitungsregel.jsonPayload.statusDetails=~"client_cert" jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
Klicken Sie auf Abfrage ausführen.
Monitoring
Interne Application Load Balancer exportieren Monitoringdaten nach 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
Zusätzlich zu den vordefinierten Dashboards in Monitoring können Sie über die Monitoring API benutzerdefinierte Dashboards erstellen, Benachrichtigungen einrichten und Messwerte abrufen.
Cloud Monitoring-Messwerte anzeigen
Console
So rufen Sie mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:
-
Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend leaderboard Metrics Explorer aus:
- Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie
Internal Application Load Balancer Rule
in die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:- Wählen Sie im Menü Aktive Ressourcen die Option Regel für internen Application Load Balancer aus.
- Einen Messwert wählen Sie in den Menüs Aktive Messwertkategorien und Aktive Messwerte aus.
- Klicken Sie auf Anwenden.
Verwenden Sie das Element Filter, um Zeitreihen aus der Anzeige zu entfernen.
Verwenden Sie zum Kombinieren von Zeitreihen die Menüs im Element Aggregation. Wenn Sie beispielsweise die CPU-Auslastung für Ihre VMs basierend auf ihrer Zone anzeigen möchten, legen Sie das erste Menü auf Mittelwert und das zweite Menü auf Zone fest.
Alle Zeitreihen werden angezeigt, wenn das erste Menü des Elements Aggregation auf Nicht aggregiert gesetzt ist. Die Standardeinstellungen für das Element Aggregation werden durch den ausgewählten Messwerttyp bestimmt.
- Gehen Sie für Kontingente und andere Messwerte, die eine Stichprobe pro Tag melden, so vor:
- Legen Sie im Bereich Anzeige den Widget-Typ auf Gestapeltes Balkendiagramm fest.
- Legen Sie als Zeitraum mindestens eine Woche fest.
Benachrichtigungsrichtlinien definieren
Console
Sie können Benachrichtigungsrichtlinien erstellen, um Messwerte zu beobachten und sich informieren zu lassen, wenn diese gegen eine Bedingung verstoßen.
-
Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend notifications Benachrichtigungen aus:
- Wenn Sie keine Benachrichtigungskanäle erstellt haben und Benachrichtigungen erhalten möchten, klicken Sie auf Benachrichtigungskanäle bearbeiten und fügen Sie Benachrichtigungskanäle hinzu. Kehren Sie nach dem Hinzufügen der Kanäle zur Seite Benachrichtigungen zurück.
- Klicken Sie auf der Seite Benachrichtigungen auf Richtlinie erstellen.
- Maximieren Sie zum Auswählen des Messwerts das Menü Messwert auswählen und gehen Sie dann so vor:
- Um das Menü auf relevante Einträge zu beschränken, geben Sie in die Filterleiste
Internal Application Load Balancer Rule
ein. Wenn nach dem Filtern des Menüs keine Ergebnisse angezeigt werden, deaktivieren Sie die Option Nur aktive Ressourcen und Messwerte anzeigen. - Wählen Sie als Ressourcentyp die Option Regel für internen Application Load Balancer aus.
- Wählen Sie eine Messwertkategorie und einen Messwert aus und klicken Sie dann auf Übernehmen.
- Um das Menü auf relevante Einträge zu beschränken, geben Sie in die Filterleiste
- Klicken Sie auf Next (Weiter).
- Die Einstellungen auf der Seite Benachrichtigungstrigger konfigurieren bestimmen, wann die Benachrichtigung ausgelöst wird. Wählen Sie einen Bedingungstyp aus und geben Sie ggf. einen Schwellenwert an. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien mit Messwertschwellen erstellen.
- Klicken Sie auf Next (Weiter).
- Optional: Klicken Sie auf Benachrichtigungskanäle, um Benachrichtigungen zu Ihrer Benachrichtigungsrichtlinie hinzuzufügen. Wählen Sie im Dialogfeld einen oder mehrere Benachrichtigungskanäle aus dem Menü aus und klicken Sie dann auf OK.
- Optional: Aktualisieren Sie die Dauer bis zur automatischen Schließung von Vorfällen. Dieses Feld bestimmt, wann Monitoring Vorfälle ohne Messwertdaten schließt.
- Optional: Klicken Sie auf Dokumentation und geben Sie alle Informationen ein, die in einer Benachrichtigung angezeigt werden sollen.
- Klicken Sie auf Name der Benachrichtigung und geben Sie einen Namen für die Benachrichtigungsrichtlinie ein.
- Klicken Sie auf Richtlinie erstellen.
Benutzerdefinierte Monitoring-Dashboards definieren
Console
Sie können benutzerdefinierte Monitoring-Dashboards über interne Messwerte des Application Load Balancers erstellen:
Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wählen Sie Dashboards > Dashboard erstellen aus.
Klicken Sie auf Diagramm hinzufügen.
Geben Sie dem Diagramm einen Namen.
Wählen Sie Messwerte und Filter aus. Bei Messwerten lautet der Ressourcentyp Interner HTTP(S)-Load-Balancer.
Klicken Sie auf Speichern.
Häufigkeit und Speicherung von Messwertberichten
Messwerte für die Load-Balancer werden in Batches mit einminütiger Granularität in Monitoring exportiert. Monitoring-Daten werden sechs (6) Wochen beibehalten. Im Dashboard werden Datenanalysen in Standardintervallen von einer Stunde, sechs Stunden, einem Tag, einer Woche und sechs Wochen bereitgestellt. Sie können manuell Analysen in jedem beliebigen Intervall von sechs Wochen bis zu einer Minute anfordern.
Messwerte für interne Application Load Balancer überwachen
Die folgenden Messwerte für interne Application Load Balancer werden an Monitoring gemeldet:
Messwert | FQDN | Beschreibung |
---|---|---|
Anzahl der Anfragen | loadbalancing.googleapis.com/https/internal/request_count |
Die Anzahl der Anfragen, die vom internen Application Load Balancer verarbeitet wurden. |
Anzahl der Anfragebyte | loadbalancing.googleapis.com/https/internal/request_bytes |
Die Anzahl der Byte, die als Anfragen von Clients an den internen Application Load Balancer gesendet wurden. |
Anzahl der Antwortbyte | loadbalancing.googleapis.com/https/internal/response_bytes |
Die Anzahl der Byte, die als Antworten vom internen HTTP(S)-Load-Balancer an den Client gesendet wurden. |
Gesamtlatenzen | loadbalancing.googleapis.com/https/internal/total_latencies |
Eine Verteilung der Latenz in Millisekunden. Die Latenz wird von dem Zeitpunkt, an dem der Proxy das erste Byte der Anfrage empfängt, bis zu dem Zeitpunkt gemessen, an dem der Proxy das letzte Byte der Antwort sendet. |
Back-End-Latenzen | loadbalancing.googleapis.com/https/internal/backend_latencies |
Eine Verteilung der Latenz in Millisekunden. Die Latenz wird ab dem Zeitpunkt gemessen, an dem der Proxy das erste Byte der Anfrage an das Backend sendet, bis zu dem Zeitpunkt, an dem der Proxy das letzte Byte der Antwort vom Backend empfängt. |
Dimensionen für interne Application Load Balancer-Messwerte filtern
Die Messwerte werden für jeden internen Application Load Balancer zusammengefasst. Sie können zusammengefasste Messwerte nach den folgenden Dimensionen filtern:
Attribut | Beschreibung |
---|---|
BACKEND_SCOPE | Die Google Cloud-Zone oder -Region der Back-End-Gruppe, von der die Clientanfrage verarbeitet wurde, oder ein spezieller String für Fälle, in denen die Back-End-Gruppe nicht zugewiesen wurde.
Beispiele: us-central1-a , europe-west1-b , asia-east1 , UNKNOWN .
|
PROXY_REGION | Region des internen Application Load Balancers, des Clients und des Back-Ends. Beispiele: us-central1 , europe-west1 oder asia-east1 .
|
BACKEND | Der Name der Back-End-Instanzgruppe oder der NEG, von denen die Clientanfrage verarbeitet wurde. |
BACKEND_TARGET | Der Name des Back-End-Dienstes, von dem die Clientanfrage verarbeitet wurde. |
MATCHED_URL_RULE | Die Pfadregel oder Routingregel der URL-Zuordnung, die mit dem Präfix der HTTP(S)-Clientanfrage übereinstimmte (bis zu 50 Zeichen). |
Der Messwert Response code class fraction
wird für den gesamten Load-Balancer unterstützt. Es wird keine weitere Granularität unterstützt.
Nächste Schritte
- Konzeptionelle Informationen zu internen Application Load Balancern
- Einen internen Application Load Balancer erstellen
- Informationen zu verfügbaren DNS-Namen, die der Load-Balancer verwenden kann, finden Sie unter Internes Load-Balancing und DNS-Namen.