Tipos de eventos

En este documento, se describen los tipos de eventos que puedes mostrar en tus gráficos. Un evento es una actividad, como un reinicio o una falla, que afecta el funcionamiento de un sistema. Mostrar eventos puede ayudarte a correlacionar datos de diferentes fuentes cuando solucionas un problema.

Para cada tipo de evento, se proporciona la siguiente información:

  • Una consulta adecuada para usar con el Explorador de registros o con una política de alertas basada en registros.
  • Referencias a información general o a documentación de solución de problemas

En la siguiente captura de pantalla, se ilustra un gráfico que muestra una anotación, con la información sobre la herramienta para la anotación activada:

Gráfico que muestra anotaciones de advertencias y eventos informativos.

Cada anotación puede enumerar varios eventos. En la captura de pantalla anterior, se muestra un evento para una implementación de GKE.

Para obtener información sobre cómo mostrar eventos en tus paneles personalizados, consulta Muestra eventos en un panel.

Tipos de eventos de Google Kubernetes Engine

En esta sección, se describen los tipos de eventos de Google Kubernetes Engine que se pueden mostrar en un panel.

Carga de trabajo de GKE con parches o actualizaciones

Este tipo de evento te ayuda a solucionar problemas relacionados con la implementación de cargas de trabajo de GKE o los cambios de StatefulSet, ya que estos eventos pueden correlacionarse con regresiones de rendimiento o con otros problemas de rendimiento. Este tipo de evento se muestra cuando se crea, actualiza o borra una carga de trabajo.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener información adicional, consulta Descripción general de la implementación de cargas de trabajo y Visualiza las métricas de observabilidad.

Falla de un Pod de GKE

Este tipo de evento te ayuda a identificar y solucionar fallas del Pod de GKE. Las fallas de Pods pueden deberse al agotamiento de la memoria o a un error de la aplicación. Este tipo de evento se muestra cuando se produce alguna de las siguientes situaciones:

  • El estado del Pod es CrashLoopBackoff
  • El Pod finaliza con un código de salida distinto de cero.
  • El Pod finaliza con una condición de falta de memoria.
  • Se expulsa el Pod.
  • El sondeo de preparación/funcionamiento falla.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener información sobre la solución de problemas, consulta Solución de problemas: CrashLoopBackOff.

No se pudo programar un Pod de GKE

Este tipo de evento te ayuda a identificar y solucionar problemas en los Pods que no se pueden programar en un nodo. Este tipo de evento se muestra cuando falla la programación de Pods por alguno de los siguientes motivos:

  • CPU del nodo insuficiente.
  • Memoria de nodo insuficiente.
  • No hay nodos para taints o tolerancias.
  • Nodos en el límite máximo de Pods.
  • Grupo de nodos de tamaño máximo.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener información sobre la solución de problemas, consulta Solución de problemas: Pod no programable.

No se pudo crear un contenedor de GKE

Este tipo de evento te ayuda a identificar y solucionar fallas para crear un contenedor de GKE. La creación de contenedores puede fallar por motivos como fallas en las activaciones de volúmenes o las extracciones de imágenes.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente consulta:

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

Para obtener información sobre la solución de problemas, consulta Solución de problemas: ImagePullBackOff y ErrImagePull.

Aumenta y reduce la escala verticalmente del escalador automático de Pods

Este evento te brinda visibilidad de los reescalas del Horizontal Pod Autoscaler, lo que aumenta o disminuye la cantidad de Pods en ejecución para una carga de trabajo. Para obtener más información, consulta Ajuste de escala automático horizontal de Pods.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente consulta:

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

Aumenta y reduce la escala verticalmente del escalador automático de clúster

Este evento te brinda visibilidad del momento en que el escalador automático del clúster escala verticalmente la cantidad de nodos en un grupo de nodos de tu clúster. Para obtener más información, consulta Acerca del ajuste de escala automático de clústeres y Visualiza eventos del escalador automático de clústeres.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente consulta:

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

Creación y eliminación de clústeres

Este evento realiza un seguimiento de las acciones de creación y eliminación de clúster de GKE. Para obtener más información, consulta Crea un clúster de Autopilot, Crea un clúster zonal y Borra un clúster.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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

Actualización del clúster

Este evento realiza un seguimiento de las actualizaciones de los clústeres de GKE. Las actualizaciones incluyen actualizaciones automáticas de la versión del plano de control, así como actualizaciones manuales y cambios en la configuración de clústeres. Para obtener más información, consulta Actualiza un clúster o grupo de nodos de forma manual y Actualizaciones de clústeres estándar.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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)

Actualización del grupo de nodos

Este evento realiza un seguimiento de las actualizaciones del grupo de nodos de GKE. Las actualizaciones incluyen actualizaciones automáticas de la versión del grupo de nodos, así como actualizaciones manuales, cambios de configuración y cambios de tamaño. Para obtener más información, consulta Actualiza un clúster o grupo de nodos de forma manual y Actualizaciones de clústeres estándar.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 eventos de Cloud Run

En esta sección, se describen los tipos de eventos de Cloud Run que se pueden mostrar en un panel.

Implementación de Cloud Run

Este tipo de evento te ayuda a identificar y solucionar los errores de implementación de Cloud Run. Deployment puede fallar por motivos como la eliminación de la cuenta de servicio, permisos incorrectos, la importación de un contenedor o el inicio de un contenedor.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente consulta:

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

Para obtener información sobre cómo solucionar problemas, consulta el artículo sobre solución de problemas de Cloud Run.

Tipos de eventos de Cloud SQL

En esta sección, se describen los tipos de eventos de Cloud SQL que se pueden mostrar en un panel.

Conmutación por error de Cloud SQL

Este tipo de evento te ayuda a identificar cuándo se producen conmutaciones por error manuales o automáticas. Una conmutación por error ocurre cuando hay una falla de instancia o zona y la instancia en espera se convierte en la nueva instancia principal. Durante una conmutación por error, Cloud SQL cambia automáticamente a entregar datos desde la instancia en espera.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener más información, consulta Acerca de la alta disponibilidad.

Iniciar o detener Cloud SQL

Este tipo de evento te ayuda a identificar que una instancia de Cloud SQL se inició, detuvo o reinició de forma manual. Cuando se detiene una instancia, también se detienen todas las conexiones, los archivos abiertos y las operaciones en ejecución.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener información adicional, consulta Acerca de la alta disponibilidad y, también, Inicia, detén y reinicia instancias.

Almacenamiento de Cloud SQL

Este tipo de evento te ayuda a identificar eventos relacionados con el almacenamiento de Cloud SQL, incluso cuando el almacenamiento de la base de datos está lleno y cuando una base de datos se cierra debido a que alcanzó la capacidad de almacenamiento. Es posible que las bases de datos que tengan capacidad de almacenamiento y que no tengan habilitado el almacenamiento automático se cierren para evitar que se dañen los datos.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 eventos de Compute Engine

En esta sección, se describen los tipos de eventos de Compute Engine que se pueden mostrar en un panel.

Cierres de máquinas virtuales

Este tipo de evento te ayuda a identificar las finalizaciones de máquina virtual (VM), incluidos los restablecimientos y las detenciones activados de forma manual, los cierres de SO invitado, los cierres de mantenimiento y los errores de host.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener más información, consulta Inicia y detén una VM y Soluciona problemas de apagado y reinicio de VM.

Falla en el inicio de la instancia de VM

Este evento hace un seguimiento de los errores de inicio de la instancia de VM de Compute Engine. El evento muestra las fallas de inicio debido a desabastecimiento, agotamiento del espacio de la IP, cuota excedida o errores de integridad de la VM protegida.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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"
    )
)

Error del SO invitado de la instancia de VM

Este evento realiza un seguimiento de errores específicos del SO invitado de la instancia de VM de Compute Engine tal como se registra en los registros de la consola en serie. Los errores registrados son disco lleno, fallo en la activación del sistema de archivos y fallas de inicio que activan el modo de emergencia de Linux.

Para que estos eventos sean visibles, debes habilitar el registro de salidas de puerto en serie en Cloud Logging mediante la configuración de serial-port-logging-enable=true en la VM o en los metadatos del proyecto. Para obtener más información, consulta Habilita e inhabilita el registro de salidas de puertos en serie.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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")

Actualización del grupo de instancias administrado

Este tipo de evento te ayuda a identificar cuándo se actualizó tu grupo de instancias administrado (MIG). Por ejemplo, si se agregaron o quitaron VMs, o se actualizó el límite de tamaño. Para obtener más información, consulta Aplica de forma automática las actualizaciones de configuración de VM en un MIG.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener más información, consulta Trabaja con instancias administradas y Soluciona problemas de grupos de instancias administrados.

Escalador automático de grupo de instancias administrado

Este evento realiza un seguimiento de las decisiones de escalamiento tomadas por el escalador automático de un MIG. Estas decisiones pueden incluir cambios en el tamaño recomendado de un MIG o en el estado del escalador automático. Si quieres obtener más información, consulta Ajuste de escala automático para grupos de instancias.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente consulta:

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

Tipos de eventos de verificación de tiempo de actividad

En esta sección, se describen los tipos de eventos de verificación de tiempo de actividad que se pueden mostrar en un panel.

Falla de la verificación de tiempo de actividad

Este tipo de evento te ayuda a identificar fallas en las verificaciones de tiempo de actividad de las regiones configuradas.

Si deseas crear una política de alertas basada en registros para este tipo de evento, usa la siguiente 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 obtener información sobre la solución de problemas, consulta Cómo solucionar problemas de monitores sintéticos y verificaciones de tiempo de actividad.

¿Qué sigue?

Para obtener información sobre cómo mostrar eventos en tus paneles, consulta Muestra eventos en un panel.