Configurar notificaciones de supervisión

Hay varias alertas predefinidas en los paneles de supervisión. Cuando el estado de una alerta cambia, se envían notificaciones. Para recibir alertas de Grafana, necesitas configurar un canal de notificación.

Grafana admite varios tipos de notificación (correo electrónico, Slack, webhooks, etc.). Consulta la documentación de Grafana para obtener más información sobre los demás tipos de notificación admitidos.

En este documento se describe la configuración de los canales comunes de notificación, como el correo electrónico, Slack, PagerDuty y los webhooks.

Antes de configurar una notificación, asegúrate de que los contenedores de supervisión estén activos y en funcionamiento.

Correo electrónico

  1. Define la configuración de SMTP en el archivo monitoring-compose.yml.
    services:
      ...
      grafana:
      ...
        environment:
          GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD:?Missing env GF_SECURITY_ADMIN_PASSWORD for Grafana admin password}
          WA_PROMETHEUS_ENDPOINT: ${WA_PROMETHEUS_ENDPOINT:-http://prometheus:9090}
          GF_SERVER_ROOT_URL: your-grafana-public-endpoint #(ex. https://foo.bar.com:3000)
          GF_SMTP_ENABLED: 1
          GF_SMTP_HOST: your-smtp-host #(ex. smtp.gmail.com:465)
          GF_SMTP_USER: your-smtp-auth-user #(ex. you@email.com)
          GF_SMTP_PASSWORD: your-smtp-auth-password
          GF_SMTP_SKIP_VERIFY: 1
        depends_on:
          - 'prometheus'
    
  2. Reinicia Grafana.
    docker-compose -f monitoring-compose.yml up -d
  3. Accede a Notification channels (Canales de notificación) en el panel Alerting (Alertas).
    Canales de notificación
  4. Introduce tu dirección de correo electrónico y haz clic en el botón Send Test (Enviar prueba) para probar la configuración.
    Enviar prueba
    Si la configuración es correcta, deberías recibir un mensaje de correo electrónico como el siguiente:
    Mensaje de correo electrónico de Grafana
    En caso contrario, consulta los registros de contenedor de Grafana para llevar a cabo la depuración.
  5. Haz clic en Save (Guardar) para guardar la configuración. Después de eso, recibirás alertas de Grafana. Consulta la documentación sobre notificaciones por correo electrónico de Grafana para obtener más información.

Slack

  1. Crea una aplicación de Slack. Para ello, introduce un nombre (p. ej., alerta) y elige un área de trabajo para descargar la aplicación.
  2. Haz clic en el botón Incoming Webhooks (Webhooks entrantes) para añadir esta función a tu aplicación.
    Webhooks entrantes
  3. Haz clic en la opción Activate Incoming Webhooks (Activar webhooks entrantes) para activarla y, a continuación, haz clic en Add New Webhook to Workspace (Añadir nuevo webhook al área de trabajo).
    Añadir nuevo webhook al área de trabajo
  4. Elige un canal en que la aplicación realizará las publicaciones y haz clic en el botón Authorize (Autorizar) para autorizar tu aplicación.
  5. Copia la URL del webhook (p. ej., https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX) para configurar la notificación de Slack en Grafana. Haz clic en el botón Send Test (Enviar prueba) para probar la configuración. Si la configuración es correcta, deberías recibir un mensaje como el siguiente en el canal configurado:
    Notificación de Slack
    En caso contrario, consulta los registros de contenedor de Grafana para llevar a cabo la depuración.
  6. Haz clic en Save (Guardar) para guardar la configuración. Después, recibirás alertas de Grafana. Consulta la documentación sobre notificaciones de Slack de Grafana para obtener más información.

PagerDuty

  1. Añade un nuevo servicio (p. ej., https://XXXX.pagerduty.com/services/new) y selecciona Use our API directly (Usar nuestra API directamente) en Integration Type (Tipo de integración).
    Añadir un servicio
  2. Copia el valor del campo Integration Key (Clave de integración), como de7439f367354513b9e1ba4042f0e3b8, para configurar una notificación de PagerDuty en Grafana. Haz clic en el botón Send Test (Enviar prueba) para probar la configuración. Si la configuración es correcta, deberías recibir una alerta como la siguiente en la página de alertas de PagerDuty:
    Notificación de PagerDuty
    En caso contrario, consulta los registros de contenedor de Grafana para llevar a cabo la depuración.
  3. Haz clic en Save (Guardar) para guardar la configuración. Después, recibirás alertas de Grafana. Consulta la documentación sobre notificaciones de PagerDuty de Grafana para obtener más información.

Webhooks

También puedes configurar un servidor de webhooks para recibir alertas.

  1. Configura las notificaciones de webhooks en Grafana. Haz clic en el botón Send Test (Enviar prueba) para probar la configuración. Si la configuración es correcta, deberías recibir una carga útil JSON como la siguiente:
    {
        "evalMatches": [
            {
                "metric": "High value",
                "tags": null,
                "value": 100
            },
            {
                "metric": "Higher Value",
                "tags": null,
                "value": 200
            }
        ],
        "message": "Someone is testing the alert notification within grafana.",
        "ruleId": 0,
        "ruleName": "Test notification",
        "ruleUrl": "http://localhost:3000/",
        "state": "alerting",
        "title": "[Alerting] Test notification"
    }
    
    En caso contrario, consulta los registros de contenedor de Grafana para llevar a cabo la depuración.
  2. Haz clic en Save (Guardar) para guardar la configuración. Después, recibirás alertas de Grafana. Consulta la documentación sobre notificaciones de webhooks de Grafana para obtener más información.