Personalized Service Health registra gli eventi di integrità del servizio in Cloud Logging. Registra tutti gli aggiornamenti alla descrizione, alla pertinenza o allo stato dell'evento come log distinto.
Questo documento spiega come visualizzare, esportare e archiviare i log di Service Health.
Prima di iniziare
Make sure that billing is enabled for your Google Cloud project.
- Abilita l'API Service Health per il progetto per cui vuoi visualizzare, esportare o archiviare i log.
- Ottieni l'accesso ai log di Service Health.
Schema di log
Consulta il Riferimento allo schema dei log per i campi che puoi impostare nella query.
Visualizzare i log di Service Health
Per visualizzare i log di Service Health:
- Vai alla Google Cloud console.
- Seleziona Operazioni > Logging > Esplora log.
- Seleziona un Google Cloud progetto nella parte superiore della pagina.
Nel menu a discesa Nome log, seleziona Stato del servizio.
Viene visualizzato un elenco di log per
type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
.Espandi una voce di log per visualizzare i dettagli dell'evento. L'esempio seguente mostra un evento tipico.
"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", }
Esegui query sui log di Service Health
Puoi utilizzare Esplora log per eseguire query sui log di Service Health. Per creare la query, potresti aver bisogno dei seguenti riferimenti:
Esempi:
Condizione | Query |
Recuperare i log con una pertinenza specifica dell'incidente | jsonPayload.relevance = ("IMPACTED" OR "RELATED")
|
Combinare più filtri | jsonPayload.impactedLocations : "us-central1" AND jsonPayload.impactedProducts : "Google Compute Engine" AND jsonPayload.state = "ACTIVE"
|
Esportare i log di Service Health
Puoi esportare i log di Service Health in qualsiasi destinazione sink di Cloud Logging utilizzando la console Google Cloud , l'API o gcloud CLI. Per configurare un sink Cloud Logging, consulta Configura e gestisci i sink.
Puoi includere ed escludere i log di Service Health configurando i filtri di inclusione ed esclusione per il sink.
Quando imposti il prodotto o la località, utilizza i valori che trovi in Google Cloud products e locations.
Aggrega i log di integrità del servizio a livello di cartella
L'invio dei log correlati a Service Health da tutti i progetti in una cartella a un progetto creato per i log di Service Health consente di eseguire query più complesse.
Creerai un sink a livello di cartella per inviare tutti i log correlati a Service Health a un nuovo progetto nella cartella. Segui questi passaggi:
Crea un nuovo progetto in una cartella. Questo progetto è allocato ai log di Service Health.
gcloud projects create PROJECT_ID --folder FOLDER_ID
Crea un sink aggregato a livello di cartella per gli altri progetti nella cartella.
gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="LOG_FILTER"
Per ottenere i log di tutti gli incidenti pertinenti, imposta il valore di LOG_FILTER su:
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
Imposta le autorizzazioni per il service account sink.
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
(Facoltativo) Se non vuoi inviare i log al sink
_Default
, crea un bucket di log per i log correlati a Service Health nel progetto.gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Se hai creato un bucket di log, crea un sink per inviare i log al bucket.
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"
Esegui query sui log di Service Health con BigQuery
Puoi eseguire query sui log inviati a Cloud Logging utilizzando BigQuery:
- Creazione di query SQL.
- Utilizzo dell'API BigQuery per inviare i risultati delle query a sistemi esterni.
Segui questi passaggi:
Crea un bucket di log nel progetto che hai creato per i log di Service Health.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
-
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
Crea un nuovo set di dati BigQuery che si colleghi al bucket con i log di Service Health.
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
Se necessario, abilita l'API BigQuery.
gcloud services enable bigquery.googleapis.com
Ora puoi eseguire query SQL complesse su BigQuery, ad esempio:
Condizione | Query |
Recuperare i log con una pertinenza specifica dell'incidente | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["relevance"]) = "IMPACTED"'
|
Recuperare tutti gli eventi di log secondari per un evento principale | 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"'
|
Conservare gli eventi passati
Personalized Service Health offre una conservazione limitata degli eventi.
Se devi conservare un record degli eventi passati di Service Health per più di qualche mese, ti consigliamo di archiviare i log di Service Health.