A integridade personalizada de serviço registra eventos de integridade do serviço no Cloud Logging. Ele registra todas as atualizações na descrição, relevância ou estado do evento como um registro distinto.
Este documento explica como visualizar, exportar e armazenar registros de integridade do serviço.
Antes de começar
Make sure that billing is enabled for your Google Cloud project.
É necessário ter acesso aos registros do Service Health.
Esquema de registro
Consulte a Referência do esquema de registro para saber quais campos podem ser definidos na consulta.
Conferir os registros de integridade de serviço
Para conferir os registros de integridade do serviço:
- Acesse o console do Google Cloud.
- Selecione Operações > Geração de registros > Análise de registros.
- Selecione um projeto do Google Cloud na parte superior da página.
No menu suspenso Nome do registro, selecione Saúde do serviço.
Uma lista de registros de
type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
será exibida.Abra uma entrada de registro para conferir os detalhes do evento. O exemplo a seguir 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", }
Consultar registros do Service Health
Use o Explorador de registros para consultar os registros de integridade do serviço. Talvez você precise das seguintes referências para criar sua consulta:
Exemplos:
Condição | Consulta |
Receber registros com uma relevância de incidente específica | jsonPayload.relevance = ("IMPACTED" OR "RELATED")
|
Combinar vários filtros | jsonPayload.impactedLocations : "us-central1" AND jsonPayload.impactedProducts : "Google Compute Engine" AND jsonPayload.state = "ACTIVE"
|
Exportar registros de integridade de serviço
É possível exportar registros de integridade do serviço para qualquer destino de destino do Cloud Logging usando o console do Google Cloud, a API ou a CLI gcloud. Para configurar um coletor do Cloud Logging, consulte Configurar e gerenciar coletores.
É possível incluir e excluir registros de integridade do serviço configurando os filtros de inclusão e exclusão para o coletor.
Ao definir o produto ou local, use os valores encontrados em Google Cloud products e locations.
Agrupar registros de integridade de serviço no nível da pasta
O envio de registros relacionados à integridade do serviço de todos os projetos de uma pasta para um projeto criado para registros de integridade do serviço permite que você faça consultas mais complexas neles.
Você vai criar um sink no nível da pasta para enviar todos os registros relacionados à integridade do serviço para um novo projeto nessa pasta. Faça o seguinte:
Crie um novo projeto em uma pasta. Este projeto é alocado nos registros do Service Health.
gcloud projects create PROJECT_ID --folder FOLDER_ID
Crie um coletor agregado no nível da pasta para os outros projetos.
gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="LOG_FILTER"
Para receber registros de todos os incidentes relevantes, defina o valor de LOG_FILTER como este:
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 permissões para a conta de serviço do coletor.
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 você não quiser enviar os registros para o coletor
_Default
, crie um bucket de registro para registros relacionados à integridade do serviço no projeto.gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Se você criou um bucket de registros, crie um coletor para enviar esses registros ao 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"
Consultar registros de integridade do serviço com o BigQuery
Para consultar os registros enviados ao Cloud Logging usando o BigQuery, faça o seguinte:
- Criação de consultas SQL.
- Usar a API BigQuery para alimentar os resultados das consultas em sistemas externos.
Faça o seguinte:
Crie um bucket de registro no projeto que você criou para os registros de integridade do serviço.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Ative a Análise de dados de registros.
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 você pode executar consultas SQL complexas no BigQuery, como:
Condição | Consulta |
Receber registros 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"'
|
Receber todos os eventos de registro filhos de um evento pai | 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"'
|
Reter eventos anteriores
A integridade personalizada de serviço oferece retenção limitada de eventos.
Se você precisar manter um registro de eventos de integridade de serviço anteriores por alguns meses, recomendamos armazenar os registros do Service Health.