Personalized Service Health protokolliert Dienststatusereignisse in Cloud Logging. Alle Aktualisierungen der Beschreibung, Relevanz oder des Status des Ereignisses werden als separater Logeintrag erfasst.
In diesem Dokument wird beschrieben, wie Sie Service Health-Logs ansehen, exportieren und speichern.
Hinweise
Verify that billing is enabled for your Google Cloud project.
- Aktivieren Sie die Service Health API für das Projekt, für das Sie Logs ansehen, exportieren oder speichern möchten.
- Zugriff auf Service Health-Logs
Logs-Schema
Informationen zu den Feldern, die Sie in Ihrer Abfrage festlegen können, finden Sie in der Referenz zum Logs-Schema.
Service Health-Logs ansehen
So rufen Sie Service Health-Logs auf:
- Rufen Sie die Google Cloud Console auf.
- Wählen Sie Vorgänge > Logging > Log-Explorer aus.
- Wählen Sie oben auf der Seite ein Google Cloud -Projekt aus.
Wählen Sie im Drop-down-Menü Logname die Option Service Health aus.
Eine Liste der Logs für
type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
wird angezeigt.Maximieren Sie einen Logeintrag, um die Ereignisdetails anzusehen. Das folgende Beispiel zeigt ein typisches Ereignis.
"insertId":"1pw1msgf6a3zc6", "timestamp":"2022-06-14T17:17:55.722035096Z", "receiveTimestamp":"2022-06-14T17:17:55.722035096Z", "logName":"projects/PROJECT_ID/logs/servicehealth.googleapis.com%2Factivity", "resource":{ "type":"servicehealth.googleapis.com/Event", "labels":{ "resource_container":"797731824162", "location":"global", "event_id":"U4AqrjwFQYi5fFBmyAX-Gg" } } "labels":{ "new_event":"true" "updated_fields": "[]" }, "jsonPayload":{ "@type":"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "category":"INCIDENT", "title":"We are experiencing a connectivity issue affecting Cloud SQL in us-east1, australia-southeast2.", "description":"We are experiencing an issue with Google Cloud infrastructure components at us-east1, australia-southeast2. Our engineering team continues to investigate the issue. We apologize to all who are affected by the disruption.", "updateTime":"2023-11-14T22:26:40Z", "endTime":"2023-11-14T22:13:20Z", "impactedLocations":"['us-east1','australia-southeast2']", "impactedProducts":"['Google Cloud SQL']", "impactedProductIds":"['hV87iK5DcEXKgWU2kDri']", "nextUpdateTime":"2023-11-14T22:40:00Z", "startTime":"2020-09-13T12:26:40Z", "state":"ACTIVE", "detailedState":"CONFIRMED", "relevance":"RELATED", }
Service Health-Logs abfragen
Sie können den Log-Explorer verwenden, um Logs zum Dienststatus abzufragen. Möglicherweise benötigen Sie die folgenden Referenzen, um Ihre Abfrage zu erstellen:
Beispiele:
Bedingung | Abfrage |
Logs mit einer bestimmten Relevanz für Vorfälle abrufen | jsonPayload.relevance = ("IMPACTED" OR "RELATED")
|
Mehrere Filter kombinieren | jsonPayload.impactedLocations : "us-central1" AND jsonPayload.impactedProducts : "Google Compute Engine" AND jsonPayload.state = "ACTIVE"
|
Service Health-Logs exportieren
Sie können Service Health-Logs mit der Google Cloud Console, API oder gcloud CLI in ein beliebiges Cloud Logging-Senkenziel exportieren. Informationen zum Einrichten einer Cloud Logging-Senke finden Sie unter Senken konfigurieren und verwalten.
Sie können Service Health-Logs ein- und ausschließen, indem Sie die Ein- und Ausschlussfilter für die Senke konfigurieren.
Verwenden Sie beim Festlegen des Produkts oder Standorts die Werte unter Google Cloud products und locations.
Service Health-Logs auf Ordnerebene zusammenfassen
Wenn Sie Service Health-bezogene Logs aus allen Projekten in einem Ordner an ein Projekt senden, das für Service Health-Logs erstellt wurde, können Sie komplexere Abfragen für diese Logs ausführen.
Sie erstellen eine Senke auf Ordnerebene, um alle Logs, die sich auf den Dienststatus beziehen, an ein neues Projekt in diesem Ordner zu senden. Gehen Sie dazu so vor:
Neues Projekt in einem Ordner erstellen Dieses Projekt ist den Service Health-Logs zugewiesen.
gcloud projects create PROJECT_ID --folder FOLDER_ID
Erstellen Sie eine aggregierte Senke auf Ordnerebene für die anderen Projekte im Ordner.
gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="LOG_FILTER"
Wenn Sie Logs für alle relevanten Vorfälle abrufen möchten, legen Sie den Wert LOG_FILTER auf Folgendes fest:
resource.type=servicehealth.googleapis.com/Event AND jsonPayload.category=INCIDENT AND jsonPayload.relevance!=NOT_IMPACTED AND jsonPayload.@type=type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
Berechtigungen für das Dienstkonto der Senke festlegen
gcloud projects add-iam-policy-binding PROJECT_ID --member=SERVICE_ACCT_NAME --role=roles/logging.bucketWriter gcloud projects add-iam-policy-binding PROJECT_ID --member=SERVICE_ACCT_NAME --role=roles/logging.logWriter
Optional: Wenn Sie die Protokolle nicht an die Senke
_Default
senden möchten, erstellen Sie einen Log-Bucket für Service Health-bezogene Protokolle im Projekt.gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Wenn Sie einen Log-Bucket erstellt haben, erstellen Sie eine Senke, um die Logs an den Bucket zu senden.
gcloud logging sinks create SINK_NAME_BUCKET \ logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID \ --project=PROJECT_ID --log-filter="LOG_FILTER"
Service Health-Logs mit BigQuery abfragen
Sie können mit BigQuery Logs abfragen, die an Cloud Logging gesendet wurden. Dazu haben Sie folgende Möglichkeiten:
- SQL-Abfragen erstellen.
- Die Ergebnisse der Abfragen über die BigQuery API in externe Systeme einlesen.
Gehen Sie dazu so vor:
Erstellen Sie einen Log-Bucket in dem Projekt, das Sie für Service Health-Logs erstellt haben.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
-
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
Neues BigQuery-Dataset erstellen, das mit dem Bucket mit Service Health-Logs verknüpft ist:
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
Aktivieren Sie die BigQuery API, falls Sie dies noch nicht getan haben.
gcloud services enable bigquery.googleapis.com
Sie können jetzt komplexe SQL-Abfragen für BigQuery ausführen, z. B.:
Bedingung | Abfrage |
Logs mit einer bestimmten Relevanz für Vorfälle abrufen | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["relevance"]) = "IMPACTED"'
|
Alle untergeordneten Log-Ereignisse für ein übergeordnetes Ereignis abrufen | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["parentEvent"]) = "projects/PROJECT_ID/locations/global/events/EVENT_ID"'
|
Vergangene Ereignisse beibehalten
Bei Personalized Service Health werden Ereignisse nur für einen begrenzten Zeitraum aufbewahrt.
Wenn Sie einen Datensatz mit vergangenen Service Health-Ereignissen über einige Monate hinaus aufbewahren müssen, empfehlen wir, Service Health-Logs zu speichern.