Cómo solucionar problemas de notificaciones faltantes

En esta página, se explica por qué no recibes las notificaciones como esperas y ofrece posibles soluciones.

No se reciben notificaciones

Configuras los canales de notificaciones y esperas de seguridad cuando se producen los incidentes. No recibirás ninguna notificación.

Para recopilar información sobre la causa de la falla, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Selecciona el proyecto de Google Cloud adecuado.
  3. Consulta los registros en busca de eventos del canal de notificaciones:

    1. Expande el menú Nombre del registro y selecciona notification_channel_events.
    2. Expande el menú Gravedad y selecciona Error.
    3. Opcional: Para seleccionar un intervalo de tiempo personalizado, usa el selector de intervalo de tiempo.
    4. Haz clic en Ejecutar consulta.

    En los pasos anteriores, se crea la siguiente consulta:

    resource.type:"stackdriver_notification_channel"
    logName="projects/PROJECT_ID/logs/monitoring.googleapis.com%2Fnotification_channel_events"
    severity=ERROR
    

    La línea de resumen y el campo jsonPayload suelen contener errores información. Por ejemplo, cuando se produce un error de puerta de enlace, la línea de resumen incluye “error con el error 502 de la puerta de enlace incorrecta”.

No se reciben notificaciones de webhook

Configura un canal de notificaciones de webhook de seguridad cuando se producen los incidentes. No recibirás ninguna notificación.

Extremo privado

No puedes usar webhooks para notificaciones, a menos que el extremo sea público.

Para resolver esta situación, usa las notificaciones de Pub/Sub. en combinación con una suscripción de extracción a ese tema de notificación.

Cuando configuras un canal de notificaciones de Pub/Sub, las notificaciones se envían a una cola de Pub/Sub que tiene Identity and Access Management controles de seguridad. Cualquier servicio que pueda consultar o escuchar un tema de Pub/Sub pueden consumir estas notificaciones. Por ejemplo, las aplicaciones que se ejecutan en Las máquinas virtuales de App Engine, Cloud Run o Compute Engine pueden consumir estas notificaciones.

Si usas una suscripción de extracción, se envía una solicitud a Google que espera que llegue un mensaje. Estas suscripciones requieren acceso a Google, pero y no requieren reglas de firewall ni acceso entrante.

Extremo público

Para identificar por qué falló la entrega, examina tus entradas de registro de Cloud Logging. información de fallas.

Por ejemplo, puedes buscar entradas de registro para el canal de notificaciones mediante el Explorador de registros, con un filtro como el siguiente:

resource.type="stackdriver_notification_channel"

No se reciben las notificaciones de Pub/Sub

Configuras un canal de notificaciones de Pub/Sub, pero no recibes ninguna notificación.

Para solucionar esta condición, prueba lo siguiente:

  • Asegúrate de que exista la cuenta de servicio de notificaciones. Las notificaciones no son que se envía cuando se borra la cuenta de servicio.

    Para verificar que la cuenta de servicio existe, haz lo siguiente:

    1. En la consola de Google Cloud, ve a la página IAM:

      Ir a IAM

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

    2. Busca una cuenta de servicio que tenga la siguiente convención de nombres:

      service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

      Si esta cuenta de servicio no aparece en la lista, selecciona Incluye asignaciones de roles proporcionadas por Google.

    Si no existe la cuenta de servicio de notificaciones, comenzar el proceso de creación del canal de notificaciones de Pub/Sub para que Monitoring cree la cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página  Alertas.

      Ir a las Alertas

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    2. Haz clic en Editar canales de notificaciones.
    3. En la sección Pub/Sub, haz clic en Agregar nuevo.

      Monitoring crea la cuenta de servicio de notificaciones cuando no existe uno. Diálogo Crear canal de Pub/Sub muestra el nombre de la cuenta de servicio de notificaciones.

    4. Si no quieres agregar un canal de notificaciones, haz clic en Cancelar. De lo contrario, termina de crear el canal de notificaciones y haz clic en Agregar canal.

    5. Otorga permisos a la cuenta de servicio para publicar tu contenido de Pub/Sub temas:

      1. En una nueva pestaña del navegador, abre la Crea un documento de canal de notificaciones.
      2. Selecciona la pestaña de Pub/Sub y, luego, sigue los pasos que se indican a continuación. en la sección Autorizar cuenta de servicio de la página.
  • Asegúrate de que la cuenta de servicio de notificaciones esté autorizada para enviar notificaciones de los temas de Pub/Sub que te interesan.

    Para ver los permisos de una cuenta de servicio, puedes usar el Consola de Google Cloud o el comando de Google Cloud CLI:

    • En la página IAM de la consola de Google Cloud, se enumeran los roles de cada uno de ellos. cuenta de servicio.
    • La página Temas de Pub/Sub en la consola de Google Cloud enumera cada una en el tema. Cuando seleccionas un tema, la pestaña Permisos enumera los roles otorgada a cuentas de servicio.
    • Para enumerar todas las cuentas de servicio y sus roles, ejecuta el siguiente comando: Comando de Google Cloud CLI:

      gcloud projects get-iam-policy PROJECT_ID
      

      La siguiente es una respuesta parcial para este comando:

          serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
             role: roles/monitoring.notificationServiceAgent
           - members:
             [...]
             role: roles/owner
           - members:
             - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
             role: roles/pubsub.publisher
      

      La respuesta del comando solo incluye roles, no incluye autorización.

    • Para enumerar las vinculaciones de IAM de un tema específico, ejecuta el comando siguiente comando:

      gcloud pubsub topics get-iam-policy TOPIC
      

      La siguiente es una respuesta de ejemplo para este comando:

          bindings:
          - members:
            - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
            role: roles/pubsub.publisher
          etag: BwXPRb5WDPI=
          version: 1
      

    Para obtener información sobre cómo autorizar la cuenta de servicio de notificaciones, consulta Autoriza una cuenta de servicio.

No se reciben las notificaciones de las políticas de alertas de verificaciones de tiempo de actividad

Quieres recibir una notificación si una máquina virtual (VM) se reinicia o se apaga, por lo que crear una política de alertas que supervise la métrica compute.googleapis.com/instance/uptime. Creas y configuras la condición para generar un incidente cuando hay no hay datos de métricas. No se define la condición mediante Lenguaje de consulta de Monitoring (MQL)1. No recibes notificaciones cuando la máquina virtual (VM) se reinicia o se apaga.

Esta política de alertas solo supervisa las series temporales de las instancias de VM de Compute Engine que se encuentran en el estado RUNNING. Series temporales para VMs que se encuentran en cualquier otro como STOPPED o DELETED, se filtran antes se evalúa la condición. Debido a este comportamiento, no puedes usar un política de alertas con una condición de alerta de ausencia de métrica para determinar si una instancia de VM se esté ejecutando. Para obtener más información sobre los estados de las instancias de VM, consulta Ciclo de vida de la instancia de VM.

Para resolver este problema, crea una política de alertas para supervisar un verificación de tiempo de actividad. Para extremos privados, usa tiempo de actividad privado y verificaciones de control.

Una posible alternativa a las alertas de las verificaciones de tiempo de actividad es usar políticas de alertas que supervisan la ausencia de datos. Recomendamos generar alertas sobre el tiempo de actividad en lugar de ausencias de datos: políticas de alertas de ausencia de métricas pueden generar falsos positivos si hay problemas transitorios con la disponibilidad. de los datos de Monitoring.

Sin embargo, si no es posible usar las verificaciones de tiempo de actividad, puedes crear una con MQL que te notifica que la VM se apagó. Las condiciones definidas por MQL no filtran previamente los datos de series temporales en función del estado de la instancia de VM. Debido a que MQL no filtra datos por estados de VM, puedes usarlo para detectar la ausencia de datos de las VMs apagar.

Considera la siguiente condición de MQL que supervisa las compute.googleapis.com/instance/cpu/utilization métrica:

fetch gce_instance::compute.googleapis.com/instance/cpu/utilization
|absent_for 3m

Si una VM supervisada por esta condición se apaga, y, luego, tres minutos después, se genera un incidente notificaciones. El valor absent_for debe ser al menos tres minutos.

Para obtener más información sobre MQL, consulta Políticas de alertas con MQL.

1: MQL es un lenguaje un lenguaje basado en texto que se puede usar con las llamadas a la API de Cloud Monitoring y en la Consola de Google Cloud Para configurar una condición con MQL cuando usas la consola de Google Cloud, debes usar el editor de código.

No se reciben las notificaciones de las políticas de alertas de recuento de solicitudes

Quieres supervisar la cantidad de solicitudes completadas. Creaste un política de alertas que supervisa que supervisa la métrica serviceruntime.googleapis.com/api/request_count, pero tú no reciben notificaciones cuando la cantidad de solicitudes supera el umbral que configurado.

El período de alineación máximo para la métrica de recuento de solicitudes es 7 horas y 30 minutos.

Para resolver este problema, verifica el valor del período de alineación en tu alerta . Si el valor es mayor que el máximo para esta métrica, reduzca el valor y que no supere las 7 horas y 30 minutos.