Consulte, exporte e armazene registos de estado do serviço

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.

  1. Ative a API Service Health para o projeto para o qual quer ver, exportar ou armazenar registos.
  2. 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:

  1. Aceda à Google Cloud consola.
  2. Selecione Operações > Registo > Explorador de registos.
  3. Selecione um Google Cloud projeto na parte superior da página.
  4. No menu pendente Nome do registo, selecione Estado do serviço.

    Logs Explorer

    Nome de registo

    É apresentada uma lista de registos para type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog.

  5. 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:

  1. 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
    
  2. 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
    
  3. 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
    
  4. (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:

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

Faça o seguinte:

  1. 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
    
  2. Ative o Log Analytics.

    gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
    
  3. Crie um novo conjunto de dados do BigQuery que esteja associado ao contentor com registos de estado de funcionamento do serviço.

    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, 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.

  1. Configure os registos de estado de funcionamento do serviço.
  2. Armazenar registos num contentor de registos.