Datos Cohen Blog

Varios temas del área de Data & Business Intelligence
es en

Enviar Notificaciones de Google Cloud Logging a Slack

2024-01-30 GCP Juan Cruz Parise

Tabla de contenidos

TL;DR: Configura notificaciones automáticas de Google Cloud Logging a Slack para recibir alertas específicas de tus aplicaciones en GCP.

Cuando gestionas proyectos en Google Cloud Platform (GCP), contar con un control efectivo de lo que sucede en tu proyecto es esencial. En este artículo, exploraremos el paso a paso de cómo poder notificar alertas de logs de Cloud Logging directamente a un canal de Slack.

¿Qué es Google Cloud Logging?

Es una herramienta que permite administrar los logs en tiempo real, con búsqueda, análisis y almacenamiento.

Para ingresar a Google Cloud Logging se debe:

  1. Ingresar a Google Cloud
  2. Debemos buscar “Logging”
  3. Una vez que ingresamos veremos una consola de SQL Log y los logs en tiempo real

Logs Explorer

La consola tiene una sintaxis particular y permite filtrar los logs de una manera sencilla ya sea con palabras o expresiones regulares.

Logs explorer .

Pasos previos para crear una alerta

Google Cloud Monitoring en Slack

Para agregar Google Cloud Monitoring a Slack e invitarlo a un canal, se deben seguir los pasos de este enlace

Permisos necesarios

Los permisos de GCP necesarios para este procedimiento son:

Agregar canal de Slack a Cloud Logging

Para agregar un canal, se debe hacer clic en Manage Notification Channel y abrirá una nueva ventana donde se debe agregar un nuevo canal de Slack

Botón para crear alerta

Luego se debe permitir que Google Cloud Monitoring tenga acceso a Slack

Aprobacion

Una vez permitido, se debe ingresar el nombre del canal que queremos agregar.

Parámetros para crear una alerta

Una vez detectado en el panel de Log explorer los logs que queremos notificar, procedemos a crear la alerta. Para ello, simplemente hacemos clic en el botón ‘Crear Alerta’ ubicado en el mismo panel.

Botón para crear alerta

Luego debemos completar un formulario, el cual contiene los siguientes parámetros:

1: Detalles de la alerta

  • Alert Policy Name: Nombre que aparecerá en la alerta en Slack.
  • Policy Severity Lever: Aquí se selecciona la gravedad. Las opciones son “No Severity”, “Critical”, “Error” y “Warning”
  • Documentation: Es la documentación que queremos incluir con el mensaje, podría ser cómo resolver la alerta o puede referenciar a una wiki, también se le puede dar formato a los mensajes e incluir campos específicos sobre la alerta.

2: Elija logs para incluir en la alerta

  • Define log entries to alert on: Son los filtros que va a tener en cuenta Cloud Logging para encontrar la alerta. Para este ejemplo buscaremos logs donde se avise que se superó la memoria limite de una app corriendo en CloudRun:

    resource.type = "cloud_run_revision"
    severity=ERROR
    textPayload: "Memory limit of"
    

3: Establecer la frecuencia de notificación y la duración del cierre automático

  • Set notification frequency and autoclose duration: Es la frecuencia con la cual se envían las notificaciones, actualmente el tiempo mínimo son 5 minutos.
  • Incident autoclose duration: Es el período de tiempo que transcurre antes de que un incidente se cierre automáticamente.

4: ¿A quién se debe notificar?

  • Who should be notified?: Aquí se marca el canal de Slack a donde enviaremos la notificación.

Paso a paso

Resultado

Cuando se active la alerta se enviará un mensaje de Slack con el contenido (link a el log pre-filtrado en Log Explorer, documentación, nombre de la alerta, etc), algo parecido al siguiente ejemplo. 🚀

Slack Message