Consultar, exportar e armazenar registros de integridade do serviço

O Personalized Service Health 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 do Service Health.

Antes de começar

Make sure that billing is enabled for your Google Cloud project.

  1. Ative a API Service Health no projeto em que você quer ver, exportar ou armazenar registros.
  2. Acesse os registros do Service Health.

Esquema de registro

Consulte a referência do esquema de registros para os campos que podem ser definidos na consulta.

Acessar os registros do Service Health

Para conferir os registros da Service Health:

  1. Acesse o console do Google Cloud .
  2. Selecione Operações > Geração de registros > Análise de registros.
  3. Selecione um projeto do Google Cloud na parte de cima da página.
  4. No menu suspenso Nome do registro, selecione Service Health.

    Explorador de registros

    Nome do registro

    Uma lista de registros para type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog aparece.

  5. Expanda uma entrada de registro para ver 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 da integridade do serviço

É possível usar o Explorador de registros para consultar registros do Service Health. 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 da integridade de serviço

É possível exportar registros do Service Health para qualquer destino de gravador do Cloud Logging usando o console, a API ou a CLI gcloud Google Cloud . Para configurar um coletor do Cloud Logging, consulte Configurar e gerenciar coletores.

É possível incluir e excluir registros do Service Health configurando os filtros de inclusão e exclusão do coletor.

Ao definir o produto ou local, use os valores encontrados em Google Cloud products e locations.

Agregar registros da integridade de serviço no nível da pasta

Enviar registros relacionados ao Service Health de todos os projetos em uma pasta para um projeto criado para registros do Service Health permite fazer consultas mais complexas neles.

Você vai criar um coletor no nível da pasta para enviar todos os registros relacionados ao Service Health a um novo projeto nessa pasta. Faça o seguinte:

  1. Crie um projeto em uma pasta. Esse projeto é alocado aos registros do Service Health.

    gcloud projects create PROJECT_ID --folder FOLDER_ID
    
  2. Crie um coletor agregado no nível da pasta para os outros projetos nela.

    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:

    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
    
  3. 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
    
  4. (Opcional) Se você não quiser enviar os registros para o coletor _Default, crie um bucket de registros para registros relacionados à Service Health 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 do Service Health com o BigQuery

É possível consultar os registros enviados ao Cloud Logging usando o BigQuery das seguintes maneiras:

  1. Criar consultas SQL.
  2. Usar a API BigQuery para transmitir os resultados das consultas a sistemas externos.

Faça o seguinte:

  1. Crie um bucket de registro no projeto que você criou para os registros do Service Health.

    gcloud logging buckets create BUCKET_ID  --location=LOCATION  --enable-analytics --async
    
  2. Ative a Análise de dados de registros.

    gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
    
  3. Crie um conjunto de dados do BigQuery vinculado ao bucket com registros do Service Health.

    gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
    
  4. Se necessário, ative a API BigQuery.

    gcloud services enable bigquery.googleapis.com
    

Agora é possível 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 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"'

Reter eventos anteriores

O Personalized Service Health oferece retenção limitada de eventos.

Se você precisar manter um registro de eventos passados do Service Health por mais de alguns meses, recomendamos armazenar os registros do Service Health.

  1. Configure os registros do Service Health.
  2. Armazenar registros em um bucket de registros.