Tipos de eventos

En este documento, se describen los tipos de eventos que se pueden mostrar como anotaciones en los 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 evento, se proporcionan vínculos a referencias o documentación de solución de problemas, junto con información sobre cómo consultar el evento. Por ejemplo, cuando los eventos se identifican mediante el análisis de tus registros, se proporciona una consulta adecuada para usar con el Explorador de registros o con una política de alertas basada en registros.

Para agregar anotaciones a tus gráficos, configura el panel o la pestaña que muestra el gráfico. Por ejemplo, puedes configurar la mayoría de los paneles enumerados en la página Paneles de la consola de Google Cloud para mostrar eventos. De manera similar, puedes configurar algunas pestañas de Observabilidad específicas del servicio, como las de Compute Engine y Google Kubernetes Engine, para mostrar eventos. Para obtener información sobre la configuración, consulta Muestra eventos en un panel.

En la siguiente captura de pantalla, se muestra un gráfico con varios eventos que se identificaron mediante el análisis de entradas de registro y un evento de Service Health:

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.

Tipos de eventos de alerta

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

Alerta abierta

Los eventos de alerta abierta te ayudan a correlacionar tus datos del gráfico con el momento en que se abrieron los incidentes. Se muestra un evento de alerta abierta cuando se cumplen las siguientes condiciones:

  • El incidente correspondiente se abrió durante el intervalo de tiempo especificado en el panel.
  • No se cierra el incidente correspondiente.

No hay anotaciones creadas para los incidentes que se abrieron fuera del intervalo de tiempo especificado en el panel. Del mismo modo, un evento abierto de alerta no se muestra cuando el incidente correspondiente se abrió y, luego, se cerró dentro del intervalo de tiempo especificado en el panel.

La información sobre la herramienta para un evento de alerta abierta incluye lo siguiente:

  • Nombre de la política de alertas.
  • Información resumida, cuando está disponible. Por ejemplo, esta información puede incluir el umbral y el valor medido.
  • La duración del incidente y la fecha y hora en que se abrió.
  • Etiquetas de métricas y recursos. Es posible que la información sobre la herramienta no muestre todas las etiquetas.
  • Un botón Ver, que abre la página Detalles del incidente.

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 actualizada

Este tipo de evento te ayuda a solucionar problemas en la implementación de cargas de trabajo de GKE o cambios en el conjunto de estados, ya que estos eventos pueden correlacionarse con regresiones de rendimiento y 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 más información, consulta Descripción general de la implementación de cargas de trabajo y Consulta las métricas de observabilidad.

Falla de un Pod de GKE

Este tipo de evento te ayuda a identificar y solucionar problemas de fallas del Pod de GKE. Las fallas de los Pods pueden deberse al agotamiento de la memoria o a un error de la aplicación. Este tipo de evento se muestra cuando ocurre 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 memoria insuficiente.
  • 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 cuando Pods que no se pueden programar en un nodo. Este tipo de evento se muestra cuando la programación de Pods falla por cualquiera de los siguientes motivos:

  • No hay suficiente CPU de nodo.
  • Memoria de nodo insuficiente.
  • No hay nodos para taints o tolerancias.
  • Nodos en el límite máximo de Pods.
  • El grupo de nodos tiene el 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 del contenedor 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.

Aumento y reducción de la escala vertical del escalador automático de Pods

Este evento te brinda visibilidad sobre el reescalamiento de 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

Aumento y reducción de la escala vertical del escalador automático de clúster

Este evento te permite ver cuándo el escalador automático del clúster aumenta o reduce la escala verticalmente de la cantidad de nodos en un grupo de nodos del 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:*)

Crea y borra 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, actualizaciones manuales y cambios en la configuración del clúster. Para obtener más información, consulta Actualiza un clúster o un grupo de nodos de forma manual y Actualizaciones estándar del 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.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 un grupo de nodos de forma manual y Actualizaciones estándar del 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_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 problemas de implementación de Cloud Run. Deployment puede fallar por motivos como la eliminación de una cuenta de servicio, los permisos incorrectos, la importación de un contenedor o un contenedor no se pudo iniciar.

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 la solución de problemas, consulta 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 instancia principal nueva. Durante una conmutación por error, Cloud SQL cambia de forma automática 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 si una instancia de Cloud SQL se inició, detuvo o reinició manualmente. 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 más información, 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, incluidos los momentos en que 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. Las bases de datos que tengan capacidad de almacenamiento y que no tengan habilitado el almacenamiento automático podrían cerrarse 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 los cierres de máquina virtual (VM), incluidos los restablecimientos y las detenciones activados de forma manual, los cierres de SO invitado, los 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.

Error de inicio de instancia de VM

Este evento hace un seguimiento de los errores de inicio de la instancia de VM de Compute Engine. El evento muestra 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 rastreados son el disco lleno, la activación del sistema de archivos falló 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 información adicional, consulta Trabaja con instancias administradas y Soluciona problemas de grupos de instancias administrados.

Escalador automático de grupo de instancias administrado

Este evento hace 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 Personalized Service Health

En esta sección, se describen los tipos de Personalized Service Health que se pueden mostrar en un panel.

Incidente de Google Cloud

Cuando estés solucionando problemas, es posible que desees diferenciar entre las fallas causadas por un servicio de tu propiedad y una causada por un servicio de Google Cloud que usas. Cuando habilitas las anotaciones de Personalized Service Health en un panel, puedes ver las interrupciones o los eventos de estado del servicio de los servicios de Google Cloud. Para obtener una lista de los servicios que están integrados en Service Health, consulta Productos de Google compatibles.

A diferencia de otros tipos de eventos, los incidentes de Google Cloud no se identifican mediante el análisis de las entradas de registro. Si deseas recibir notificaciones cuando ocurran estos eventos, crea una política de alertas. Puedes seleccionar una política de alertas preconfigurada con las opciones de la página Service Health Dashboard. Para obtener más información, consulta la Guía de inicio rápido: Configura una alerta.

Monitoring identifica incidentes de Google Cloud mediante la emisión de una solicitud a la API de Service Health y, luego, filtrando la respuesta a esos incidentes que son relevantes para los datos que estás viendo. La solicitud tiene la siguiente configuración:

  • La enumeración Relevance se establece en RELATED, IMPACTED o PARTIALLY_RELATED. Esta restricción garantiza que el panel solo muestre eventos para los servicios de Google Cloud que usa tu proyecto de Google Cloud.

  • La enumeración DetailedState no está configurada como FALSE_POSITIVE.

Las anotaciones de Service Health se muestran con una hora de inicio y una duración. La duración se muestra cambiando el color de fondo del gráfico. La información sobre un incidente de Google Cloud identifica lo siguiente:

  • El servicio de Google Cloud
  • Si el incidente está abierto o resuelto.
  • Fecha y hora de inicio del evento.
  • Chips que muestran la cantidad de productos y ubicaciones afectados. Para enumerar los productos o las ubicaciones afectados, coloca tu puntero en el chip correspondiente.
  • Un botón Ver, que cuando se selecciona abre la página de detalles del incidente.

Para obtener información sobre cómo emitir una solicitud a la API de Service Health, consulta Verifica si hay interrupciones con Service Health.

Para obtener información sobre la solución de problemas, consulta Soluciona problemas comunes en Service Health.

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.

Error en 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 Soluciona 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.