Tipos de evento

Neste documento, descrevemos os tipos de evento que podem ser exibidos como anotações em gráficos. Um evento é uma atividade, como uma reinicialização ou uma falha, que afeta a operação de um sistema. Mostrar eventos pode ajudar você a correlacionar dados de diferentes fontes ao solucionar um problema.

Para cada evento, são fornecidos links de referências ou documentação de solução de problemas, além de informações sobre como consultar o evento. Por exemplo, quando os eventos são identificados pela análise dos registros, é fornecida uma consulta adequada para uso com a Análise de registros ou com uma política de alertas com base em registros.

Para adicionar anotações aos gráficos, configure o painel ou a guia que exibe o gráfico. Por exemplo, é possível configurar a maioria dos painéis listados na página Painéis do console do Google Cloud para mostrar eventos. Da mesma forma, é possível configurar algumas guias de Observabilidade específicas do serviço, como as do Compute Engine e do Google Kubernetes Engine, para mostrar eventos. Para informações de configuração, consulte Mostrar eventos em um painel.

A captura de tela a seguir ilustra um gráfico que mostra vários eventos identificados pela análise de entradas de registro e um evento do Service Health:

Gráfico mostrando anotações de evento informativo e de aviso.

Cada anotação pode listar vários eventos. Na captura de tela anterior, há um evento de uma implantação do GKE listado.

Tipos de evento de alerta

Esta seção descreve os tipos de evento de alerta que podem ser mostrados em um painel.

Alerta aberto

Os eventos de alerta abertos ajudam a correlacionar os dados nos gráficos ao momento em que os incidentes foram abertos. Um evento de alerta aberto é mostrado quando o seguinte é verdadeiro:

  • O incidente correspondente foi aberto durante o período especificado pelo painel.
  • O incidente correspondente não é encerrado.

Não há anotações feitas para incidentes que foram abertos fora do intervalo de tempo especificado pelo painel. Da mesma forma, um evento de alerta aberto não é mostrado quando o incidente correspondente foi aberto e fechado dentro do intervalo de tempo especificado pelo painel.

A dica para um evento de alerta aberto inclui o seguinte:

  • Nome da política de alertas.
  • Informações de resumo, quando disponíveis. Por exemplo, essas informações podem incluir o limite e o valor medido.
  • A duração e a data e a hora da abertura do incidente.
  • Rótulos de métricas e recursos. A dica pode não mostrar todos os rótulos.
  • Um botão Ver, que abre a página Detalhes do incidente.

Tipos de evento do Google Kubernetes Engine

Nesta seção, descrevemos os tipos de evento do Google Kubernetes Engine que podem ser exibidos em um painel.

Carga de trabalho do GKE que recebeu patch ou foi atualizada

Esse tipo de evento ajuda a solucionar problemas de implantação da carga de trabalho do GKE ou alterações de statefulset, já que esses eventos podem se correlacionar com regressões de desempenho ou outros problemas de desempenho. Esse tipo de evento é exibido quando uma carga de trabalho é criada, atualizada ou excluída.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=k8s_cluster protoPayload.methodName=(
    io.k8s.apps.v1.deployments.create OR io.k8s.apps.v1.deployments.patch OR
    io.k8s.apps.v1.deployments.update OR io.k8s.apps.v1.deployments.delete OR
    io.k8s.apps.v1.deployments.deletecollection OR io.k8s.apps.v1.statefulsets.create OR
    io.k8s.apps.v1.statefulsets.patch OR io.k8s.apps.v1.statefulsets.update OR
    io.k8s.apps.v1.statefulsets.delete OR io.k8s.apps.v1.statefulsets.deletecollection OR
    io.k8s.apps.v1.daemonsets.create OR io.k8s.apps.v1.daemonsets.patch OR
    io.k8s.apps.v1.daemonsets.update OR io.k8s.apps.v1.daemonsets.delete OR
    io.k8s.apps.v1.daemonsets.deletecollection
)
-protoPayload.authenticationInfo.principalEmail="system:addon-manager"
-protoPayload.request.metadata.namespace=(kube-system OR gmp-system OR gmp-public OR gke-gmp-system)

Para mais informações, consulte Visão geral da implantação de cargas de trabalho e Visualizar métricas de observabilidade.

Falha de um pod do GKE

Esse tipo de evento ajuda a identificar e solucionar falhas no pod do GKE. As falhas no pod podem ser causadas por esgotamento da memória ou um erro de aplicativo. Esse tipo de evento é exibido quando uma das seguintes situações ocorre:

  • O status do pod é CrashLoopBackoff
  • O pod é encerrado com um código de saída diferente de zero.
  • O pod é encerrado com uma condição de falta de memória.
  • O pod é removido.
  • Falha na sondagem de prontidão/ativação.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

(
    log_id(events)
    (
        (resource.type=k8s_pod jsonPayload.reason=(BackOff OR Unhealthy OR Killing OR Evicted)) OR
        (resource.type=k8s_node jsonPayload.reason=OOMKilling)
    )
    severity=WARNING
) OR (
    log_id(cloudaudit.googleapis.com%2Factivity) resource.type=k8s_cluster
    (protoPayload.methodName=io.k8s.core.v1.pods.eviction.create OR
        (protoPayload.methodName=io.k8s.core.v1.pods.delete
        protoPayload.response.status.containerStatuses.state.terminated.exitCode:*
        -protoPayload.response.status.containerStatuses.state.terminated.exitCode=0
        )
    )
)

Para informações sobre solução de problemas, consulte Solução de problemas: CrashLoopBackOff.

Falha ao programar um pod do GKE

Esse tipo de evento ajuda a identificar e resolver problemas quando os pods não podem ser programados em um nó. Esse tipo de evento é mostrado quando a programação de pods falha por qualquer um dos motivos a seguir:

  • CPU do nó insuficiente.
  • Memória de nó insuficiente.
  • Nenhum nó para taints ou tolerâncias.
  • Nós no limite máximo de pods.
  • O pool de nós está no tamanho máximo.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

(
    log_id(events) resource.type=k8s_pod jsonPayload.reason=(NotTriggerScaleUp OR FailedScheduling)
) OR (
    log_id(container.googleapis.com/cluster-autoscaler-visibility)
    resource.type=k8s_cluster jsonPayload.noDecisionStatus.noScaleUp:*
)

Para informações sobre solução de problemas, consulte Solução de problemas: pod não programável.

Falha ao criar um contêiner do GKE

Esse tipo de evento ajuda a identificar e solucionar problemas para criar um contêiner do GKE. A criação de contêineres pode falhar por diversos motivos, como falhas nas montagens de volume ou na extração de imagens.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

log_id(events) resource.type=k8s_pod jsonPayload.reason=(Failed OR FailedMount) severity=WARNING

Para informações sobre solução de problemas, consulte Solução de problemas: ImagePullBackOff e ErrImagePull.

Escalonar verticalmente automático de pods

Esse evento dá visibilidade aos redimensionamentos do escalonador automático horizontal de pods, que aumentam ou diminuem o número de pods em execução para uma carga de trabalho. Para mais informações, consulte Escalonamento automático horizontal de pods.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=k8s_cluster log_id(events)
jsonPayload.involvedObject.kind=HorizontalPodAutoscaler jsonPayload.reason=SuccessfulRescale

Escalonar verticalmente automático de cluster

Esse evento mostra quando o escalonador automático de cluster aumenta ou diminui o número de nós em um pool de nós do cluster. Para mais informações, consulte Sobre o escalonamento automático de clusters e Como visualizar eventos do escalonador automático de clusters.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

(resource.type=k8s_cluster log_id(container.googleapis.com%2Fcluster-autoscaler-visibility)
jsonPayload.decision:*)

Criação e exclusão de clusters

Esse evento acompanha as ações de criação e exclusão cluster do GKE. Para mais informações, consulte Criar um cluster do Autopilot, Como criar um cluster zonal e Como excluir um cluster.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gke_cluster log_id(cloudaudit.googleapis.com%2Factivity)
protoPayload.methodName=(
    google.container.v1alpha1.ClusterManager.CreateCluster OR
    google.container.v1beta1.ClusterManager.CreateCluster OR
    google.container.v1.ClusterManager.CreateCluster OR
    google.container.v1alpha1.ClusterManager.DeleteCluster OR
    google.container.v1beta1.ClusterManager.DeleteCluster OR
    google.container.v1.ClusterManager.DeleteCluster
)
operation.first=true

Atualização do cluster

Esse evento monitora atualizações de clusters do GKE. As atualizações incluem upgrades automáticos de versão do plano de controle, bem como upgrades manuais e mudanças de configuração de cluster. Para mais informações, consulte Como fazer upgrade manual de um cluster ou pool de nós e Upgrades padrão de cluster.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gke_cluster log_id(cloudaudit.googleapis.com%2Factivity)
(
    protoPayload.methodName=(
        google.container.internal.ClusterManagerInternal.PatchCluster OR
        google.container.internal.ClusterManagerInternal.UpdateClusterInternal OR
        google.container.internal.ClusterManagerInternal.UpdateCluster
    )
) OR (
    protoPayload.methodName=(
        google.container.v1beta1.ClusterManager.UpdateCluster OR
        google.container.v1.ClusterManager.UpdateCluster
    )
    operation.first=true
)
protoPayload.metadata.operationType=(UPGRADE_MASTER OR REPAIR_CLUSTER OR UPDATE_CLUSTER)

Atualização do pool de nós

Este evento rastreia atualizações do pool de nós do GKE. As atualizações incluem atualizações automáticas da versão do pool de nós, assim como atualizações manuais, de configuração e redimensionamentos. Para mais informações, consulte Como fazer upgrade manual de um cluster ou pool de nós e Upgrades padrão de cluster.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gke_nodepool log_id(cloudaudit.googleapis.com%2Factivity)
(
    protoPayload.methodName=(
        google.container.internal.ClusterManagerInternal.UpdateClusterInternal OR
        google.container.internal.ClusterManagerInternal.RepairNodePool
    )
) OR (
    protoPayload.methodName=(
        google.container.v1beta1.ClusterManager.UpdateNodePool OR
        google.container.v1.ClusterManager.UpdateNodePool OR
        google.container.v1beta1.ClusterManager.SetNodePoolSize OR
        google.container.v1.ClusterManager.SetNodePoolSize OR
        google.container.v1beta1.ClusterManager.SetNodePoolManagement OR
        google.container.v1.ClusterManager.SetNodePoolManagement OR
        google.container.v1beta1.ClusterManager.SetNodePoolAutoscaling OR
        google.container.v1.ClusterManager.SetNodePoolAutoscaling
    )
    operation.first=true
)

Tipos de evento do Cloud Run

Nesta seção, descrevemos os tipos de evento do Cloud Run que podem ser mostrados em um painel.

Implantação do Cloud Run

Esse tipo de evento ajuda a identificar e solucionar falhas na implantação do Cloud Run. A implantação pode falhar por motivos como conta de serviço excluída, permissões incorretas, falha na importação de um contêiner ou falha na inicialização de um contêiner.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

log_id(cloudaudit.googleapis.com%2Factivity) resource.type=cloud_run_revision
protoPayload.methodName=google.cloud.run.v1.Services.ReplaceService

Para informações sobre solução de problemas, consulte Solução de problemas: problemas do Cloud Run.

Tipos de evento do Cloud SQL

Nesta seção, descrevemos os tipos de evento do Cloud SQL que podem ser mostrados em um painel.

Failover do Cloud SQL

Esse tipo de evento ajuda a identificar quando ocorrem failovers manuais ou automáticos. Um failover ocorre quando há uma falha em uma instância ou zona e a instância em espera se torna a nova instância principal. Durante um failover, o Cloud SQL muda automaticamente para a veiculação de dados da instância de espera.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=cloudsql_database
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=cloudsql.instances.failover
        operation.last=true
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=cloudsql.instances.autoFailover
    )
)

Para mais informações, consulte Sobre a alta disponibilidade.

Iniciar ou parar o Cloud SQL

Esse tipo de evento ajuda a identificar que uma instância do Cloud SQL foi iniciada, interrompida ou reiniciada manualmente. Quando uma instância é interrompida, todas as conexões, arquivos abertos e operações em execução também são.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

log_id(cloudaudit.googleapis.com%2Factivity) resource.type=cloudsql_database
protoPayload.methodName=cloudsql.instances.update operation.last=true
protoPayload.metadata.intents.intent=(START_INSTANCE OR STOP_INSTANCE)

Para mais informações, consulte Sobre a alta disponibilidade e Iniciar, interromper e reiniciar instâncias.

Armazenamento do Cloud SQL

Esse tipo de evento ajuda a identificar eventos relacionados ao armazenamento do Cloud SQL, incluindo quando o armazenamento do banco de dados está cheio e quando um banco de dados é encerrado por alcançar a capacidade de armazenamento. Os bancos de dados com capacidade de armazenamento e sem o armazenamento automático ativado podem ser encerrados para evitar a corrupção de dados.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=cloudsql_database
(
    (
        (log_id(cloudsql.googleapis.com%2Fpostgres.log) OR log_id(cloudsql.googleapis.com%2Fmysql.err))
        textPayload=~"No space left on device"
        severity=(ERROR OR EMERGENCY)
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=cloudsql.instances.databaseShutdownOutOfStorage
    )
)

Tipos de evento do Compute Engine

Nesta seção, descrevemos os tipos de evento do Compute Engine que podem ser mostrados em um painel.

Encerramentos de máquina virtual

Esse tipo de evento ajuda a identificar encerramentos de máquina virtual (VM), incluindo redefinições e interrupções acionadas manualmente, encerramentos do SO convidado, encerramentos de manutenção e erros de host.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=(
            beta.compute.instances.reset OR v1.compute.instances.reset OR
            beta.compute.instances.stop OR v1.compute.instances.stop
        )
        operation.first=true
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=(
            compute.instances.hostError OR
            compute.instances.guestTerminate OR
            compute.instances.terminateOnHostMaintenance
        )
    )
)

Para mais informações, consulte Interromper e iniciar uma VM e Como solucionar problemas de desligamento e reinicializações da VM.

Falha ao iniciar a instância de VM

Esse evento acompanha falhas na inicialização de instâncias de VMs do Compute Engine. O evento mostra falhas de inicialização devido a esgotamentos, esgotamento do espaço IP, cota excedida ou erros de integridade da VM protegida.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=(beta.compute.instances.insert OR v1.compute.instances.insert)
        protoPayload.status.message=(ZONE_RESOURCE_POOL_EXHAUSTED OR IP_SPACE_EXHAUSTED OR QUOTA_EXCEEDED)
    ) OR (
        log_id(compute.googleapis.com%2Fshielded_vm_integrity)
        severity="ERROR"
    )
)

Erro do SO convidado da instância de VM

Esse evento rastreia erros específicos do SO convidado da instância de VM do Compute Engine, conforme gravado pelos registros do console serial. Os erros rastreados são: disco cheio, falha na montagem do sistema de arquivos e falhas na inicialização que ativam o modo de emergência do Linux.

Para que esses eventos fiquem visíveis, ative a geração de registros de saída da porta serial para o Cloud Logging. Para isso, defina serial-port-logging-enable=true na VM ou nos metadados do projeto. Para mais informações, consulte Como ativar e desativar a geração de registros de saída da porta serial.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gce_instance
log_id(serialconsole.googleapis.com%2Fserial_port_1_output)
textPayload=~("No space left on device" OR "Failed to mount" OR "You are in emergency mode")

Atualização do grupo gerenciado de instâncias

Esse tipo de evento ajuda a identificar quando o grupo gerenciado de instâncias (MIG) foi atualizado. Por exemplo, VMs foram adicionadas ou removidas, ou o limite de tamanho foi atualizado. Para mais informações, consulte Aplicar atualizações de configuração de VM automaticamente em um MIG.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=gce_instance_group_manager
log_id(cloudaudit.googleapis.com%2Factivity) operation.first=true
protoPayload.methodName=(beta.compute.instanceGroupManagers.patch OR v1.compute.instanceGroupManagers.patch)

Para mais informações, consulte Trabalhar com instâncias gerenciadas e Como solucionar problemas de grupos gerenciados de instâncias.

Escalonador automático de grupo de instâncias gerenciadas

Esse evento rastreia decisões de escalonamento tomadas pelo escalonador automático de um MIG. Essas decisões podem incluir alterações no tamanho recomendado para um MIG ou uma alteração no status do próprio escalonador automático. Para mais informações, consulte Escalonamento automático de grupos de instâncias.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

resource.type=autoscaler log_id(cloudaudit.googleapis.com%2Fsystem_event)
protoPayload.methodName=(compute.autoscalers.resize OR compute.autoscalers.changeStatus)

Tipos de evento do Personalized Service Health

Nesta seção, descrevemos os tipos do Personalized Service Health que podem ser exibidos em um painel.

Incidente do Google Cloud

Ao solucionar problemas, é possível diferenciar entre falhas causadas por um serviço seu de um serviço do Google Cloud que você usa. Ao ativar as anotações do Personalized Service Health em um painel, é possível visualizar interrupções ou eventos de integridade do serviço nos serviços do Google Cloud. Para uma lista de serviços integrados ao Service Health, consulte Produtos do Google compatíveis.

Ao contrário de outros tipos de evento, os incidentes do Google Cloud não são identificados por meio da análise das entradas de registro. Se você quiser receber notificações quando esses eventos ocorrerem, crie uma política de alertas. É possível selecionar uma política de alertas pré-configurada usando as opções na página Painel do Service Health. Para mais informações, consulte Guia de início rápido: configurar um alerta.

O Monitoring identifica incidentes do Google Cloud emitindo uma solicitação para a API Service Health e filtrando a resposta a esses incidentes que são relevantes para os dados que você está visualizando. A solicitação tem a seguinte configuração:

  • A enumeração Relevance está definida como RELATED, IMPACTED ou PARTIALLY_RELATED. Essa restrição garante que o painel exiba apenas eventos para os serviços do Google Cloud que seu projeto do Google Cloud está usando.

  • A enumeração DetailedState não está definida como FALSE_POSITIVE.

As anotações do Service Health são exibidas com um horário de início e uma duração. A duração é exibida alterando a cor de fundo do gráfico. A dica para um incidente do Google Cloud identifica o seguinte:

  • O serviço do Google Cloud.
  • Se o incidente está aberto ou resolvido.
  • Data e hora de início do evento.
  • Ícones que mostram o número de produtos e locais afetados. Para listar os produtos ou locais afetados, coloque o ponteiro no ícone correspondente.
  • Um botão Visualizar que, quando selecionado, abre a página de detalhes do incidente.

Para informações sobre como emitir uma solicitação para a API Service Health, consulte Verificar interrupções com o Service Health.

Para informações sobre solução de problemas, consulte Resolver problemas comuns no Service Health.

Tipos de evento de verificação de tempo de atividade

Nesta seção, descrevemos os tipos de evento de verificação de tempo de atividade que podem ser mostrados em um painel.

Falha na verificação de tempo de atividade

Esse tipo de evento ajuda a identificar falhas na verificação de tempo de atividade das regiões configuradas.

Se você quiser criar uma política de alertas com base em registros para esse tipo de evento, use a seguinte consulta:

log_id(monitoring.googleapis.com%2Fuptime_checks)
(
  resource.type=uptime_url OR resource.type=gce_instance OR
  resource.type=gae_app OR resource.type=k8s_service OR
  resource.type=servicedirectory_service OR resource.type=cloud_run_revision OR
  resource.type=aws_ec2_instance OR resource.type=aws_elb_load_balancer
)
labels.uptime_result_type=UptimeCheckResult
severity=NOTICE

Para informações sobre solução de problemas, consulte Resolver problemas de monitores sintéticos e verificações de tempo de atividade.

A seguir

Para saber como mostrar eventos nos painéis, consulte Mostrar eventos em um painel.