Administrar canales de notificaciones

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

En este documento, se describe cómo configurar los canales de notificaciones mediante Google Cloud Console. Cloud Monitoring usa estos canales para notificarte a ti o a tu equipo de guardia cuando se activa una política de alertas. Cuando creas una política de alertas, puedes seleccionar quién recibe notificaciones mediante selecciones en la lista de canales de notificaciones configurados. Por ejemplo, puedes configurar alertas que supervisen las instancias de Compute Engine para publicar un tema de Pub/Sub y notificar al canal de Slack del equipo de guardia.

Si tu canal de notificaciones preferido no es compatible, considera crear una canalización que se base en enviar tus notificaciones a Pub/Sub. Para ver un ejemplo de Python que usa Flask, consulta Crea notificaciones personalizadas con Cloud Monitoring y Cloud Run. Para obtener otros ejemplos, consulta el repositorio de Git de cloud-alerting-notification-forwarding.

Para configurar los canales de notificaciones mediante la API de Cloud Monitoring, consulta Administra canales de notificaciones.

Para obtener información sobre las notificaciones sobre la política de alertas, consulta las siguientes páginas:

  • Para obtener más información sobre el retraso entre el inicio de un problema y la creación de una alerta, consulta Latencia de las notificaciones.
  • Si deseas obtener información sobre la cantidad de notificaciones generadas para una política de alertas, consulta Notificaciones por incidente.

De forma predeterminada, una política de alertas envía una notificación solo cuando se crea un incidente. Para recibir una notificación cuando se abre el incidente y cuando se cierra, edita la política de alertas y, en la sección de notificaciones, selecciona Notificar sobre el cierre del incidente.

Antes de comenzar

Para configurar un canal de notificaciones, debes tener una de las siguientes funciones de administración de identidades y accesos en el proyecto de alcance de un permiso de métricas:

  • Editor de NotificationChannel de Monitoring
  • Editor de Monitoring
  • Administrador de Monitoring
  • Editor de proyecto
  • Propietario del proyecto

Para obtener más información sobre estas funciones, consulta Control de acceso.

Crear canal de notificaciones

Cuando creas una política de alertas, puedes seleccionar cualquier canal de notificación configurado y agregarlo a tu política. Puedes configurar de forma previa tus canales de notificaciones o configurarlos como parte del proceso de creación de una política de alertas. Para obtener más información, consulta Crear un canal a pedido.

Para crear un canal de notificación con Google Cloud Console, sigue las instrucciones específicas del canal que se muestran en la siguiente tabla:

Correo electrónico

Para agregar un canal de notificaciones por correo electrónico, haz lo siguiente:

  1. En Google Cloud Console, selecciona Monitoring.

    Ir a Monitoring

  2. Haz clic en Alertas y, luego, en Editar canales de notificaciones.
  3. En la sección Correo electrónico, haga clic en Agregar nuevo.
  4. Complete el cuadro de diálogo y haga clic en Guardar.

Puedes crear canales de correos electrónicos durante la creación de una política de alertas. Para obtener más información, consulta Crear un canal a pedido.

Si usas una dirección de correo electrónico del grupo como canal de notificaciones para una política de alertas, configura el grupo a fin de que acepte correos de alerting-noreply@google.com.

Aplicación para dispositivos móviles

Usa la app para dispositivos móviles de Google Cloud Console a fin de supervisar tus recursos de Google Cloud Console y la información de Monitoring desde cualquier lugar. Las notificaciones de la app para dispositivos móviles de Google Cloud Console se envían a un dispositivo específico o a un usuario específico:

Lista de canales de notificación de Google Cloud Console para dispositivos móviles}.

  • Dispositivo indica que las notificaciones se envían solo al dispositivo específico que creó el canal de notificaciones. Para los canales de notificaciones con alcance de dispositivo, el campo Nombre visible incluye información del dispositivo.
  • Usuario indica que las notificaciones se envían a todos los dispositivos que tienen instalada la app para dispositivos móviles de Google Cloud Console.

Cloud Monitoring determina el permiso de la notificación cuando se crea el canal. No puedes seleccionar o cambiar el permiso.

A fin de configurar un canal de notificaciones de la app para dispositivos móviles de Google Cloud Console de un proyecto específico de Google Cloud, haz lo siguiente:

  1. Instala la app para dispositivos móviles de Google Cloud Console desde la tienda de aplicaciones de tu dispositivo móvil.
  2. Selecciona un proyecto para verlo en la app para dispositivos móviles de Google Cloud Console.

    Después de seleccionar un proyecto, se produce un intercambio de datos entre la aplicación y el proyecto de Google Cloud seleccionado. Un canal de notificaciones se crea cuando no existe, y después de unos minutos, este canal aparece en la sección Dispositivos móviles de la página Canales de notificaciones.

Si quieres agregar tu dispositivo móvil como canal de notificaciones para una política de alertas, en la sección Notificaciones de alertas, selecciona Google Cloud Console (móvil) y, luego, elige tu dispositivo móvil de la lista.

PagerDuty

La integración con PagerDuty permite la sincronización unidireccional o bidireccional. Independientemente de tu configuración, los siguientes enunciados son verdaderos:

  • Si se crea un incidente en Monitoring, se abre un incidente en PagerDuty.
  • No puedes usar PagerDuty para cerrar un incidente en Monitoring.

Si usas la sincronización unidireccional y resuelves el incidente en PagerDuty, el estado del incidente en PagerDuty se desvincula del estado del incidente en Monitoring. De hecho, si resuelves un incidente en PagerDuty, el incidente se cierra de forma permanente en PagerDuty y no se puede volver a abrir.

Si usas la sincronización bidireccional, Monitoring controla el estado que muestra PagerDuty. Si resuelves el incidente en PagerDuty y si Monitoring tiene el incidente abierto, el incidente se vuelve a abrir en PagerDuty.

Para configurar las notificaciones de PagerDuty, sigue estos pasos:

  1. En PagerDuty: crea una cuenta en el sitio de PagerDuty.
  2. Completa la integración entre PagerDuty y Monitoring mediante los pasos que se describen en la Guía de integración de Stackdriver de PagerDuty.

    En las capturas de pantalla de la Guía de integración de Stackdriver, el nombre del producto aparece como "Stackdriver" y está desactualizado. Sin embargo, los pasos que se indican en la guía son precisos.

  3. Agrega el canal de notificaciones de PagerDuty:
    1. En Google Cloud Console, selecciona Monitoring.
      Ir a Monitoring
    2. Haz clic en Alertas y, luego, en Editar canales de notificaciones.
    3. En la sección PagerDuty, haz clic en Agregar nuevo.
    4. Ingresa el Display Name (Nombre visible). Este nombre debe coincidir con el que se le proporcionó a PagerDuty cuando agregaste la integración.
    5. Ingresa la Clave de servicio de integración que genera PagerDuty en el campo Clave de servicio.
    6. Haz clic en Guardar.
  4. (Opcional) Si deseas configurar la sincronización bidireccional, haz lo siguiente:
    1. Abre PagerDuty.
    2. Selecciona Configuración, selecciona Servicios y, luego, el nombre del servicio que ingresaste cuando configuraste la integración.
    3. Haz clic en Editar configuración, selecciona Crear incidentes y, luego, borra Crear incidentes y alertas.

Cuando crees una política de alertas, selecciona PagerDuty en la sección Notificaciones y elige tu configuración de PagerDuty.

El paquete JSON para PagerDuty tiene el siguiente formato:

 {
     "description": A string of various fields in the incident,
     "details": JSON payload with schema version 1.2.
 }

Para ver un ejemplo y el esquema del campo details, expande las siguientes secciones.

Política de baja

El esquema de carga útil está sujeto a la política de baja de Google Cloud que se describe en la Sección 1.4(d) de las Condiciones del Servicio de Google Cloud Platform. Ten en cuenta que el esquema no controla los formatos de los valores de campo generados, y estos formatos pueden cambiar sin aviso previo. Por ejemplo, incident.summary, incident.documentation.content y incident.url están destinados a incluir datos relacionados con sus campos, pero el esquema no tiene restricciones para garantizar un análisis preciso de campos. Puedes consumir el valor como un todo y esperar que cumpla con la política de baja, pero no dependas del análisis de los campos generados.

SMS

Para configurar las notificaciones por SMS, sigue estos pasos:

  1. En Google Cloud Console, selecciona Monitoring.

    Ir a Monitoring

  2. Haz clic en Alertas y, luego, en Editar canales de notificaciones.
  3. En la sección SMS, haz clic en Agregar nuevo.
  4. Complete el cuadro de diálogo y haga clic en Guardar.

Cuando configures tu política de alertas, selecciona el tipo de notificación SMS y elige un número de teléfono verificado de la lista.

Slack

La integración de Slack con Monitoring permite que tus políticas de alertas realicen publicaciones en un canal de Slack cuando se crea un incidente nuevo. Para configurar las notificaciones de Slack, haz lo siguiente:

  1. En Slack: crea un lugar de trabajo y un canal de Slack en el sitio de Slack. Registra la URL del canal.

  2. En la consola de Google Cloud, selecciona Monitoring:

    Ir a Monitoring

  3. Haz clic en Alertas y, luego, en Editar canal de notificaciones.

  4. En la sección Slack, haz clic en Agregar nuevo para abrir la página de acceso de Slack:

    1. Selecciona tu lugar de trabajo de Slack.
    2. Haz clic en Permitir para habilitar el acceso de Google Cloud Monitoring a tu lugar de trabajo de Slack. Esta acción te lleva de vuelta a la página de configuración de Monitoring para tu canal de notificaciones.
    3. Ingresa el nombre del canal de Slack que deseas usar para las notificaciones.
    4. Ingresa un nombre visible para el canal de notificaciones de Slack.
    5. Para probar la conexión entre Cloud Monitoring y el lugar de trabajo de Slack, haz clic en Enviar notificación de prueba (opcional). Si la conexión se realiza de forma correcta, verás un mensaje This is a test alert notification... en el canal de notificaciones de Slack que especificaste. Revisa el canal de notificaciones para confirmar la recepción.
  5. Si el canal de Slack que deseas usar para las notificaciones es un canal privado, debes invitar a la app de Monitoring de forma manual:

    1. Abre Slack.
    2. Ve al canal que especificaste como tu canal de notificaciones de Monitoring.

    3. Invita a la app de Monitoring al canal. Para ello, ingresa y envía el siguiente mensaje:

      /invite @Google Cloud Monitoring

      Asegúrate de invitar la app de Monitoring al canal privado que especificaste cuando creaste el canal de notificación en Monitoring. Invitar a la app de Monitoring a canales públicos es opcional.

    Cuando crees una política de alertas, selecciona Slack en la sección Notificaciones y elige tu configuración de Slack.

Webhooks

Para configurar las notificaciones de Webhooks, haz lo siguiente:

  1. El controlador de webhook: Identifica la URL del extremo público para recibir los datos de webhook desde Monitoring.
  2. En Google Cloud Console, selecciona Monitoring.

    Ir a Monitoring

  3. Haz clic en Alertas y, luego, en Editar canales de notificaciones.
  4. En la sección Webhook, haz clic en Agregar nuevo.
  5. Completa el cuadro de diálogo.
  6. Haz clic en Probar conexión para enviar una carga útil de prueba al extremo de Webhook. Puedes ir al extremo receptor para verificar la entrega.
  7. Haz clic en Guardar.

Cuando crees una política de alertas, selecciona Webhook en la sección Notificaciones y elige tu configuración de webhook. Las notificaciones que envía Error Reporting siguen el esquema 1.0, mientras que las notificaciones que envía Monitoring siguen el esquema 1.2:

Autenticación básica

Además de la solicitud de webhook enviada por Cloud Monitoring, la autenticación básica usa la especificación HTTP para el nombre de usuario y la contraseña. Cloud Monitoring requiere que tu servidor muestre una respuesta 401 con el encabezado WWW-Authenticate adecuado. Para obtener más información sobre la autenticación básica, consulta lo siguiente:

Autenticación con token

La autenticación de tokens requiere un parámetro de string de consulta en la URL del extremo y una clave que el servidor espera que sea un secreto entre sí y Monitoring. La siguiente es una URL de muestra en la que se incluye un token:

https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd

Si Monitoring publica un incidente en la URL del extremo, tu servidor puede validar el token adjunto. Este método de autenticación es más eficaz cuando se usa con SSL/TLS para encriptar la solicitud HTTP, lo que evita que los espías conozcan el token.

Para ver un servidor de ejemplo en Python, consulta este servidor de muestra.

Política de baja

El esquema de carga útil está sujeto a la política de baja de Google Cloud que se describe en la Sección 1.4(d) de las Condiciones del Servicio de Google Cloud Platform. Ten en cuenta que el esquema no controla los formatos de los valores de campo generados, y estos formatos pueden cambiar sin aviso previo. Por ejemplo, incident.summary, incident.documentation.content y incident.url están destinados a incluir datos relacionados con sus campos, pero el esquema no tiene restricciones para garantizar un análisis preciso de campos. Puedes consumir el valor como un todo y esperar que cumpla con la política de baja, pero no dependas del análisis de los campos generados.

Pub/Sub

En esta sección, se describe cómo configurar los canales de notificaciones de Pub/Sub. Para agregar redundancia, te recomendamos que crees varios canales de notificaciones. Se recomienda sincronizar Pub/Sub con la app para dispositivos móviles de Google Cloud Console, PagerDuty, Webhooks o Slack, ya que Pub/Sub usa un mecanismo de entrega diferente.

Para configurar un canal de notificación de Pub/Sub, haz lo siguiente:

  1. Habilite la API de Pub/Sub y cree un tema
  2. Configura el canal de notificaciones para un tema
  3. Autoriza una cuenta de servicio
  4. Configura el canal de notificaciones en una política de alertas

Para recibir notificaciones de alertas, también debes crear una suscripción de Pub/Sub. Cuando la suscripción esté en un proyecto diferente al tema, crea una cuenta de servicio en el proyecto de suscriptor y otórgale la función roles/pubsub.subscriber para el tema.

Antes de comenzar

Cuando agregas el primer canal de notificaciones de un proyecto de Google Cloud, Cloud Monitoring crea una cuenta de servicio para ese proyecto. También otorga la función de agente de servicio de notificación de supervisión de la administración de identidades y accesos a la cuenta de servicio. Esta cuenta de servicio permite que Monitoring envíe notificaciones a los canales de notificaciones basados en Pub/Sub de este proyecto.

La cuenta de servicio tiene el siguiente formato:

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

El nombre de la cuenta de servicio de notificaciones incluye un número de proyecto de Cloud único. Puedes encontrar el nombre, el ID y el número del proyecto en el panel del proyecto en Google Cloud Console, o puedes recuperarlo con el siguiente comando:

gcloud projects describe PROJECT_ID --format="value(project_number)"

Puedes ver y editar la cuenta de servicio mediante Google Cloud Console o Google Cloud CLI.

Habilita la API de Pub/Sub y crea un tema

  1. Habilita la API de Pub/Sub para tu proyecto de Cloud:
    Habilita la API de Pub/Sub.

    1. Selecciona el proyecto de Cloud en el que deseas crear el tema de Pub/Sub.
    2. Haz clic en Habilitar cuando se muestre. No se requiere ninguna acción cuando se muestra API habilitada.
  2. Crea un tema de Pub/Sub. Para obtener información sobre cómo crear un tema, consulta Crea un tema. Por ejemplo, para crear un tema llamado notificationTopic mediante Google Cloud CLI, ejecuta el siguiente comando:

    gcloud pubsub topics create notificationTopic

A continuación, configura los canales de notificaciones de Pub/Sub.

Configurar las notificaciones de un tema

Para crear un canal de notificación de Pub/Sub, puedes usar la API de Monitoring, Google Cloud CLI o Google Cloud Console. Después de crear el canal de notificaciones, autoriza a la cuenta de servicio de notificaciones a publicar cada tema que uses como canal de notificaciones.

Si quieres obtener información sobre el uso de la API de Monitoring o de Google Cloud CLI para crear el canal de notificación, consulta Crea canales.

Si deseas usar Google Cloud Console para crear el canal de notificaciones, haz lo siguiente:

  1. En Google Cloud Console, selecciona Monitoring.

    Ir a Monitoring

  2. Selecciona el proyecto de Cloud que contiene el tema de Pub/Sub que creaste.
  3. Haz clic en Alertas y, luego, en Editar canales de notificaciones.
  4. En la sección Pub/Sub, haz clic en Agregar nuevo.

    En el cuadro de diálogo Canal de Pub/Sub creado, se muestra el nombre de la cuenta de servicio que creó Monitoring.

  5. Autoriza la cuenta de servicio. Tu cuenta de servicio puede publicar todos los temas o temas específicos:

    • Para publicar todos los temas, selecciona Administrar funciones y agrega la función de publicador de Pub/Sub.

      Después de completar estos pasos para configurar el canal de notificaciones, omite la siguiente sección, titulada Autoriza la cuenta de servicio, y continúa con la sección Establece el canal de notificaciones en una política de alertas.

    • Para publicar temas específicos, continúa con el siguiente paso y autoriza a la cuenta de servicio a publicar temas específicos después de completar la configuración del canal de notificaciones. Si deseas obtener instrucciones para autorizar la cuenta de servicio, consulta Autoriza la cuenta de servicio.
  6. Ingresa un nombre visible para tu canal y el nombre del tema de Pub/Sub.
  7. (Opcional) Para verificar que el canal esté configurado correctamente, haz clic en Enviar notificación de prueba.
  8. Selecciona Agregar canal.

A continuación, autorice la cuenta de servicio.

Autorizar cuenta de servicio

La autorización permite que la cuenta de servicio de notificaciones publique cada tema de Pub/Sub que usas como canal de notificación. En esta sección, se describe cómo hacer lo siguiente:

  • Autoriza una cuenta de servicio para un tema específico.
  • Autoriza una cuenta de servicio para todos los temas.

Autoriza una cuenta de servicio para un tema específico

Puedes autorizar a una cuenta de servicio a publicar un tema específico mediante Google Cloud Console y Google Cloud CLI. En esta sección, se describen ambos enfoques.

A fin de autorizar tu cuenta de servicio para un tema específico mediante Google Cloud Console, haz lo siguiente:

  1. Ve a la página Temas de Pub/Sub:
    Ir a Temas
  2. Seleccione el tema.
  3. En la pestaña Permisos, selecciona Agregar principal.
  4. En el campo Principal principal, ingresa el nombre de la cuenta de servicio de notificaciones. La cuenta de servicio tiene la siguiente convención de nombres:
    service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
  5. Selecciona la función Publicador de Pub/Sub y, luego, selecciona Guardar.

A fin de autorizar tu cuenta de servicio para un tema específico mediante Google Cloud CLI, otorga la función de IAM pubsub.publisher del tema a la cuenta de servicio. Por ejemplo, con el siguiente comando, se configura la función de IAM para el tema notificationTopic:

gcloud pubsub topics add-iam-policy-binding \
projects/PROJECT_NUMBER/topics/notificationTopic --role=roles/pubsub.publisher \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
 

Una respuesta a una ejecución exitosa del comando add-iam-policy-binding es como la siguiente:

 Updated IAM policy for topic [notificationTopic].
 bindings:
 ‐ members:
    ‐ serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
    role: roles/pubsub.publisher
 etag: BwWcDOIw1Pc=
 version: 1
 

Para obtener más información, consulta la página de referencia de pubsub topics add-iam-policy-binding.

Autoriza una cuenta de servicio para todos los temas

A fin de autorizar tu cuenta de servicio para todos los temas, haz lo siguiente:

  1. Ve a la página IAM:
    Ir a IAM
  2. Selecciona Incluir asignaciones de funciones proporcionadas por Google, como se muestra en la siguiente imagen:
    Selecciona la opción Incluir otorgamientos de funciones que proporciona Google.
  3. Busca la cuenta de servicio que tiene el siguiente formato:
    service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

    Vuelve a cargar la página cuando la cuenta de servicio no aparezca en la lista.

  4. Selecciona Editar para la cuenta de servicio de notificaciones, selecciona Agregar otra función y, luego, agrega la función Publicador de Pub/Sub.

A continuación, configura el canal de notificaciones en una política de alertas.

Configurar el canal de notificaciones en una política de alertas

Para usar un canal de notificaciones de Pub/Sub en una política de alertas, selecciona Pub/Sub como el tipo de canal y, luego, selecciona el tema.

Ejemplo de esquema

Para ver un ejemplo de paquete JSON y el esquema, expande las siguientes secciones.

Política de baja

El esquema de carga útil está sujeto a la política de baja de Google Cloud que se describe en la Sección 1.4(d) de las Condiciones del Servicio de Google Cloud Platform. Ten en cuenta que el esquema no controla los formatos de los valores de campo generados, y estos formatos pueden cambiar sin aviso previo. Por ejemplo, incident.summary, incident.documentation.content y incident.url están destinados a incluir datos relacionados con sus campos, pero el esquema no tiene restricciones para garantizar un análisis preciso de campos. Puedes consumir el valor como un todo y esperar que cumpla con la política de baja, pero no dependas del análisis de los campos generados.

Crea un canal on demand

Cuando agregas un canal de notificaciones a una política de alertas, debes seleccionar un canal de una lista. Para actualizar la lista de opciones cuando creas una política de alertas, usa el siguiente proceso:

  1. En el diálogo de notificaciones, haz clic en Administrar canales de notificaciones. Se abrirá la ventana Canales de notificaciones en una nueva pestaña del navegador.
  2. Para agregar un canal de notificaciones nuevo, ubica el tipo de canal, haz clic en Agregar nuevo y, luego, sigue las instrucciones específicas del canal que se encuentran en la tabla anterior.
  3. Regresa a la pestaña original y, en el diálogo de notificaciones, haz clic en Actualizar .

    Cuadro de diálogo de notificaciones en el que se muestran los botones para actualizar y administrar canales.

  4. Selecciona el canal de notificaciones de la lista actualizada.

Cómo editar y borrar canales de notificaciones

Para editar o borrar un canal de notificaciones mediante Google Cloud Console, haz lo siguiente:

  1. En Google Cloud Console, selecciona Monitoring o haz clic en el siguiente botón:

    Ir a Monitoring

  2. En el panel de navegación de Monitoring, haga clic en Alertas.

  3. Haz clic en Editar canales de notificaciones.

    El panel Canales de notificaciones contiene una sección para cada tipo de canal de notificaciones. En cada sección se muestran todas las configuraciones para ese tipo:

    • Para modificar una entrada, haz clic en Editar . Haz clic en Guardar una vez que se hayan completado los cambios.
    • Para borrar una entrada, haz clic en Borrar . Haz clic en Borrar en el cuadro de diálogo de confirmación.