Dieses Dokument bietet grundlegende Informationen zu Logging- und Monitoring-Messwerten für das Interne HTTP(S)-Load-Balancing.
Logging
Sie können Logging für jeden Back-End-Dienst aktivieren. Die URL-Zuordnung eines einzelnen internen HTTP(S)-Load-Balancers kann auf mehr als einen Back-End-Dienst verweisen. Daher müssen Sie das Logging je nach Konfiguration möglicherweise für mehr als einen Back-End-Dienst aktivieren.
Logging für vorhandenen Back-End-Dienst aktivieren
Console
- Öffnen Sie in der Google Cloud Console die Seite „Load-Balancing“.
Zur Seite "Load-Balancing" - Klicken Sie auf den Namen des Load-Balancers.
- Klicken Sie auf Bearbeiten .
- Klicken Sie auf Back-End-Konfiguration.
- Klicken Sie neben Ihrem Back-End-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 einen Wert von
0.0
bis1.0
(Standard) angeben. - Klicken Sie auf Aktualisieren.
gcloud
Aktualisieren Sie den Back-End-Dienst, um das Logging mit dem Befehl gcloud compute instance-templates create zu aktivieren.
gcloud compute backend-services update BACKEND_SERVICE \ --enable-logging \ --logging-sample-rate=RATE \ --region=REGION
Dabei 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.
Nachdem Sie das Logging für den Back-End-Dienst aktiviert haben, wird jede HTTP(S)-Anfrage mit Cloud Logging protokolliert.
Logs aufrufen
Öffnen Sie zum Aufrufen von Logs die Loganzeige.
Interne HTTP(S)-Load-Balancer-Logs werden zuerst nach Netzwerk und dann nach Region indexiert.
- Wählen Sie zum Aufrufen von Logs für alle internen HTTP(S)-Load-Balancer im ersten Drop-down-Menü die Option Interne HTTP(S)-Load-Balancing-Regel aus.
- Wählen Sie zum Aufrufen von Logs für nur ein Netzwerk Interne HTTP(S)-Load-Balancing-Regel und anschließend den Namen eines Netzwerks aus.
- Wählen Sie zum Aufrufen von Logs für nur eine Region des Netzwerks Interne HTTP(S)-Load-Balancing-Regel >
NETWORK
>REGION
aus.
Boolesche Logfelder werden normalerweise nur aufgeführt, 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 "Interne HTTP/S-Load-Balancing-Regel (logbasierte Messwerte)", die in Cloud Monitoring-Dashboards verfügbar ist:
Was wird protokolliert?
Die Logeinträge für das interne HTTP(S)-Load-Balancing bieten Informationen, die Sie für das Monitoring und die Fehlerbehebung bei Ihrem HTTP(S)-Traffic verwenden können. Folgende Informationen sind in Ihnen enthalten:
- Allgemeine Informationen, die in den meisten Google Cloud-Logs angezeigt werden, wie z. B. Schweregrad, Projekt-ID, Projektnummer, Zeitstempel usw.
- HttpRequest-Logfelder.
Logfelder
Logs sind LogEntry-Protos.
Feld | Typ | Beschreibung |
---|---|---|
logName
|
String |
Ressourcenname des Logs, dessen Bestandteil der Logeintrag ist. Im Format "projects/PROJECT_ID/logs/requests" .
|
timestamp
|
Timestamp-Format | Der Zeitpunkt, an dem die Anfrage gestellt wurde. |
severity
|
LogSeverity-Format |
Der Schweregrad des Logeintrags. Die Standardeinstellung ist LogSeverity.DEFAULT .
|
httpRequest
|
HttpRequest-Objekt | Ein HttpRequest-Proto, das die protokollierte HTTP(S)-Anfrage beschreibt. |
trace
|
String |
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
|
spanId
|
String |
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 .
|
resource
|
MonitoredResource-Objekt | Die mit diesem Logeintrag verknüpfte überwachte Ressource. Siehe MonitoredResource-Objekt. |
MonitoredResource
Feld | Typ | Beschreibung |
---|---|---|
networkName
|
String | Der Name des VPC-Netzwerks des Load-Balancers. |
region
|
String | Der Name der Google Cloud-Region des Load-Balancers. |
urlMapName
|
String | Der Name des URL-Zuordnungsobjekts, das für die Auswahl eines Back-End-Dienstes konfiguriert ist. |
forwardingRuleName
|
String | Der Name des Weiterleitungsregelobjekts. |
targetProxyName
|
String | Der Name des Ziel-Proxy-Objekts, auf das die Weiterleitungsregel verweist. |
matchedUrlPathRule
|
String |
Die Pfadregel oder Routingregel der URL-Zuordnung, die als Teil des URL-Zuordnungsschlüssels konfiguriert ist. Kann UNMATCHED oder UNKNOWN als Fallback sein.
|
backendTargetName
|
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. |
backendTargetType
|
String | Der Typ des Back-End-Ziels (BACKEND_SERVICE /UNKNOWN ). |
backendName |
String | Der Name der Back-End-Instanzgruppe oder der NEG. |
backendType
|
String | Der Typ des Back-Ends, entweder Instanzgruppe oder NEG. |
backendScope
|
String |
Der Umfang des Back-Ends (entweder Zonenname oder Regionsname). Könnte UNKNOWN sein, wenn backendName unbekannt ist.
|
backendScopeType
|
String | Der Bereich des Back-Ends (REGION /ZONE ). Könnte UNKNOWN sein, wenn backendName unbekannt ist. |
Monitoring
Das interne HTTP(S)-Load-Balancing exportiert Monitoringdaten in 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
So rufen Sie mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:
- Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wenn Sie Cloud Monitoring noch nie verwendet haben, wird beim ersten Zugriff auf Monitoring in der Google Cloud Console automatisch ein Arbeitsbereich erstellt und Ihr Projekt mit diesem Arbeitsbereich verknüpft. Wenn Ihr Projekt nicht mit einem Arbeitsbereich verknüpft ist, wird ein Dialogfeld angezeigt, in dem Sie entweder einen Arbeitsbereich erstellen oder dieses Projekt zu einem vorhandenen Arbeitsbereich hinzufügen können. Wir empfehlen, einen Arbeitsbereich zu erstellen. Klicken Sie nach der Auswahl auf Hinzufügen.
- Klicken Sie im Navigationsbereich von Monitoring auf
Metrics Explorer.
- Prüfen Sie, ob der Tab Messwert ausgewählt ist.
- Treffen Sie im Feld Ressourcentyp und Messwert finden Ihre Auswahl über das Menü oder geben Sie den Namen für die Ressource und den Messwert ein. Verwenden Sie die folgenden Informationen, um die Felder auszufüllen:
- Wählen Sie für Ressource den Wert internal_http_lb_rule aus oder geben Sie ihn ein. Dadurch wird die Ressource Interne HTTP/S-Load-Balancing-Regel ausgewählt.
- Treffen Sie für Messwert eine Auswahl im Menü.
- Mit den Menüs Filter, Gruppieren nach und Aggregator können Sie die Darstellung der Daten ändern. Sie können beispielsweise nach Ressourcen- oder Messwertlabels gruppieren. Weitere Informationen finden Sie unter Messwerte auswählen.
Benachrichtigungsrichtlinien definieren
Sie können Benachrichtigungsrichtlinien erstellen, um Messwerte zu beobachten und sich informieren zu lassen, wenn diese gegen eine Bedingung verstoßen.
So erstellen Sie eine Benachrichtigungsrichtlinie, die eine oder mehrere interne HTTP/S-Load-Balancer-Ressourcen überwacht:
- Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wenn Sie Cloud Monitoring noch nie verwendet haben, wird beim ersten Zugriff auf Monitoring in der Google Cloud Console automatisch ein Arbeitsbereich erstellt und Ihr Projekt mit diesem Arbeitsbereich verknüpft. Wenn Ihr Projekt nicht mit einem Arbeitsbereich verknüpft ist, wird ein Dialogfeld angezeigt, in dem Sie entweder einen Arbeitsbereich erstellen oder dieses Projekt zu einem vorhandenen Arbeitsbereich hinzufügen können. Wir empfehlen, einen Arbeitsbereich zu erstellen. Klicken Sie nach der Auswahl auf Hinzufügen.
- Wählen Sie im Navigationsbereich für das Monitoring notificationsBenachrichtigungen und dann Richtlinie erstellen aus.
- Klicken Sie auf Bedingung hinzufügen:
- Die Einstellungen im Bereich Ziel geben die Ressource und den Messwert an, die überwacht werden sollen. Wählen Sie im Feld Ressourcentyp und Messwert suchen die Ressource Interner HTTP/S-Load-Balancer aus. Wählen Sie als Nächstes einen Messwert aus der Messwertliste aus.
- Die Einstellungen im Bereich Konfiguration der Benachrichtigungsrichtlinie geben an, wann die Benachrichtigung ausgelöst wird. Die meisten Felder in diesem Bereich sind bereits mit Standardwerten gefüllt. Weitere Informationen zu den Feldern in diesem Bereich finden Sie in der Dokumentation zu Benachrichtigungsrichtlinien unter Konfiguration.
- Klicken Sie auf Hinzufügen.
- Klicken Sie auf Weiter, um zum Abschnitt "Benachrichtigungen" zu gelangen.
- 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.
Wenn ein hinzuzufügender Benachrichtigungskanal nicht aufgeführt ist, klicken Sie auf Benachrichtigungskanäle verwalten. Die Seite Benachrichtigungskanäle wird in einem neuen Browsertab angezeigt. Auf dieser Seite können Sie die konfigurierten Benachrichtigungskanäle aktualisieren. Wenn Sie damit fertig sind, kehren Sie zum ursprünglichen Tab zurück, klicken Sie auf autorenewAktualisieren und wählen Sie dann die Benachrichtigungskanäle aus, die zur Benachrichtigungsrichtlinie hinzugefügt werden sollen.
- Klicken Sie auf Weiter, um zum Abschnitt „Dokumentation“ zu gelangen.
- Klicken Sie auf Name und geben Sie einen Namen für die Benachrichtigungsrichtlinie ein.
- Optional: Klicken Sie auf Dokumentation und tragen Sie alle Informationen ein, die in einer Benachrichtigung angezeigt werden sollen.
- Klicken Sie auf Speichern.
Benutzerdefinierte Monitoring-Dashboards definieren
Sie können benutzerdefinierte Monitoring-Dashboards über interne HTTP(S)-Load-Balancing-Messwerte erstellen:
- Rufen Sie Monitoring in der Google Cloud Console auf.
Zu „Monitoring” - Wählen Sie Dashboards > Dashboard erstellen aus.
- Klicken Sie auf Add Chart (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 HTTP(S)-Load-Balancer überwachen
Die folgenden Messwerte für interne HTTP(S)-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 HTTP(S)-Load-Balancer verarbeitet wurden. |
Anzahl der Anfragebytes | loadbalancing.googleapis.com/https/internal/request_bytes |
Die Anzahl der Byte, die als Anfragen von Clients an den internen HTTP(S)-Load-Balancer gesendet wurden. |
Anzahl der Antwortbytes | 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 ab dem Zeitpunkt, an dem das erste Byte der Anfrage vom Proxy empfangen wird, bis zu dem Zeitpunkt, an dem das letzte Byte der Antwort vom Proxy gesendet wird. |
Back-End-Latenzen | loadbalancing.googleapis.com/https/internal/backend_latencies |
Eine Verteilung der Latenz in Millisekunden ab dem Zeitpunkt, an dem das erste Byte der Anfrage vom Proxy an das Back-End gesendet wird, bis zu dem Zeitpunkt, an dem der Proxy das letzte Byte der Antwort vom Back-End empfängt. |
Dimensionen für interne HTTP(S)-Load-Balancer-Messwerte filtern
Die Messwerte werden für jeden internen HTTP(S)-Load-Balancer aggregiert. 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 HTTP(S)-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 zum internen HTTP(S)-Load-Balancing lesen
- Einen internen HTTP(S)-Load-Balancer erstellen
- Informationen zu verfügbaren DNS-Namen, die der Load-Balancer verwenden kann, finden Sie unter Internes Load-Balancing und DNS-Namen.