Tipos de evento

Este documento descreve os tipos de evento que você pode exibir nos seus gráficos. Um evento é uma atividade, como uma reinicialização ou 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 tipo de evento, são fornecidas as seguintes informações:

  • Uma consulta adequada para uso com a Análise de registros ou com uma política de alertas com base em registros.
  • Referências a informações gerais ou documentação de solução de problemas.

A captura de tela a seguir ilustra um gráfico que está exibindo uma anotação, com a dica da anotação ativada:

Gráfico mostrando anotações de avisos e eventos informativos.

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

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

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 com patch ou atualização

Esse tipo de evento ajuda a solucionar problemas na implantação da carga de trabalho do GKE ou nas alterações do statefulset, já que esses eventos podem se correlacionar com regressões de desempenho ou outros problemas de desempenho. Esse tipo de evento é mostrado 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 Ver 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 nas seguintes situações:

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

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 solucionar problemas quando não é possível programar pods que não podem ser programados em um nó. Esse tipo de evento é mostrado quando a programação de pods falha por um dos seguintes motivos:

  • CPU de nó insuficiente.
  • Memória de nó insuficiente.
  • Nenhum nó para taints ou tolerâncias.
  • Nós no limite máximo de pods.
  • Pool de nós 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 falhas para criar um contêiner do GKE. A criação de contêineres pode falhar por motivos como falhas nas montagens de volume ou na extração de imagens com falha.

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 e diminuir o escalonamento automático do pod

Esse evento fornece visibilidade dos redimensionamentos do escalonador automático horizontal de pods, que aumentam ou reduzem o número de pods em execução de 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

Aumentar e diminuir o escalonamento automático de clusters

Este 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 ver 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 das versões do plano de controle, além dos upgrades manuais e da configuração do 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 das versões 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 exibidos 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 ao iniciar 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 eventos do Cloud SQL que podem ser exibidos 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 na instância ou zona e a instância de espera se torna a nova instância primária. 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 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 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, inclusive quando o armazenamento do banco de dados está cheio e quando um banco de dados é encerrado devido ao alcance da 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 eventos do Compute Engine que podem ser exibidos em um painel.

Encerramentos de máquina virtual

Esse tipo de evento ajuda a identificar encerramentos da máquina virtual (VM), incluindo redefinições e interrupções acionadas manualmente, encerramentos do SO convidado, encerramentos de manutenção e erros do 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 Solução de problemas de desligamentos e reinicializações de VMs.

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 exibe 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 acompanha erros específicos do sistema operacional 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 definindo 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 de instâncias gerenciadas.

Escalonador automático do grupo gerenciado de instâncias

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 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 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 exibidos 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 exibir eventos nos painéis, consulte Mostrar eventos em um painel.