O Personalized Service Health regista eventos de estado de funcionamento do serviço no Cloud Logging. Regista todas as atualizações à descrição, relevância ou estado do evento como um registo distinto.
Este documento explica como ver, exportar e armazenar registos de estado do serviço.
Antes de começar
Verify that billing is enabled for your Google Cloud project.
- Ative a API Service Health para o projeto para o qual quer ver, exportar ou armazenar registos.
- Aceder aos registos do Service Health.
Esquema de registo
Consulte a referência do esquema de registo para os campos que pode definir na sua consulta.
Veja os registos do Service Health
Para ver os registos de estado de funcionamento do serviço:
- Aceda à Google Cloud consola.
- Selecione Operações > Registo > Explorador de registos.
- Selecione um Google Cloud projeto na parte superior da página.
No menu pendente Nome do registo, selecione Estado do serviço.
É apresentada uma lista de registos para
type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
.Expanda uma entrada de registo para ver os detalhes do evento. O exemplo seguinte mostra um evento típico.
"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", }
Consulte os registos do Service Health
Pode usar o Explorador de registos para consultar os registos de estado do serviço. Pode precisar das seguintes referências para criar a sua consulta:
Exemplos:
Condição | Consulta |
Obtenha registos com uma relevância de incidente específica | jsonPayload.relevance = ("IMPACTED" OR "RELATED")
|
Combine vários filtros | jsonPayload.impactedLocations : "us-central1" AND jsonPayload.impactedProducts : "Google Compute Engine" AND jsonPayload.state = "ACTIVE"
|
Exporte registos do Service Health
Pode exportar registos de estado de funcionamento do serviço para qualquer destino do coletor do Cloud Logging através da Google Cloud consola, da API ou da CLI gcloud. Para configurar um destino do Cloud Logging, consulte o artigo Configure e faça a gestão de destinos.
Pode incluir e excluir registos de estado de funcionamento do serviço configurando os filtros de inclusão e exclusão para o destino.
Quando definir o produto ou a localização, use os valores encontrados em Google Cloud products e locations.
Agregue registos de estado de funcionamento do serviço ao nível da pasta
O envio de registos relacionados com a saúde do serviço de todos os projetos numa pasta para um projeto criado para registos da saúde do serviço permite-lhe fazer consultas mais complexas sobre os mesmos.
Cria um destino ao nível da pasta para enviar todos os registos relacionados com o estado de funcionamento do serviço para um novo projeto nessa pasta. Faça o seguinte:
Crie um novo projeto numa pasta. Este projeto está atribuído aos registos de estado do serviço.
gcloud projects create PROJECT_ID --folder FOLDER_ID
Crie um destino agregado ao nível da pasta para os outros projetos na pasta.
gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="LOG_FILTER"
Para obter registos de todos os incidentes relevantes, defina o valor de LOG_FILTER da seguinte forma:
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
Defina autorizações para a conta de serviço de destino.
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
(Opcional) Se não quiser enviar os registos para o destino
_Default
, crie um contentor de registos para os registos relacionados com o estado do serviço no projeto.gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Se criou um contentor de registos, crie um destino para enviar esses registos para o contentor.
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"
Consulte registos de estado de funcionamento do serviço com o BigQuery
Pode consultar os registos enviados para o Cloud Logging através do BigQuery das seguintes formas:
- Criar consultas SQL.
- Usar a API BigQuery para introduzir os resultados das consultas em sistemas externos.
Faça o seguinte:
Crie um contentor de registos no projeto que criou para os registos do Service Health.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
-
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
-
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
Se necessário, ative a API BigQuery.
gcloud services enable bigquery.googleapis.com
Agora, pode executar consultas SQL complexas no BigQuery, como:
Condição | Consulta |
Obtenha registos com uma relevância de incidente específica | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["relevance"]) = "IMPACTED"'
|
Obtenha todos os eventos de registo secundários de um evento principal | 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"'
|
Mantenha eventos anteriores
O estado de saúde do serviço personalizado oferece uma retenção limitada de eventos.
Se precisar de reter um registo de eventos de estado de funcionamento do serviço anteriores durante mais de alguns meses, recomendamos que armazene os registos do estado de funcionamento do serviço.
- Configure os registos de estado de funcionamento do serviço.
- Armazenar registos num contentor de registos.