Configurer des notifications de surveillance

Plusieurs alertes sont prédéfinies dans les tableaux de bord de surveillance. Lorsqu’une alerte change d’état, des notifications sont envoyées. Afin de recevoir des alertes de Grafana, vous devez configurer un canal de notification.

Grafana prend en charge divers types de notification (adresse e-mail, Slack, Webhooks, etc.). Pour connaître les autres types de notification pris en charge, consultez la documentation de Grafana.

Ce document aborde la configuration des canaux de notification courants, tels que : adresse e-mail, Slack, PagerDuty et Webhooks.

Avant de configurer une notification, veillez à ce que vos conteneurs de surveillance soient opérationnels.

Adresse e-mail

  1. Configurez les paramètres SMTP dans le fichier 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. Redémarrez Grafana.
    docker-compose -f monitoring-compose.yml up -d
  3. Accédez aux canaux de notification dans le panneau Alerting (Notifications d’alerte).
    Canaux de notification
  4. Saisissez votre adresse e-mail et testez votre configuration en cliquant sur le bouton Envoi test.
    Envoi test
    Si la configuration est correcte, vous devez recevoir un e-mail de type suivant :
    E-mail Grafana
    Dans le cas contraire, vérifiez les journaux de votre conteneur Grafana pour débuguer.
  5. Cliquez sur Enregistrer pour enregistrer votre configuration. Vous recevrez ensuite des alertes de Grafana. Consultez la documentation sur les notifications par e-mail de Grafana pour en savoir plus.

Slack

  1. Créez une application Slack en saisissant un nom (alerte, par exemple) et en choisissant un espace de travail pour installer votre application.
  2. Cliquez sur le bouton Webhooks entrants pour ajouter cette fonctionnalité à votre application.
    Webhooks entrants
  3. Cliquez sur la case à cocher Activate Incoming Webhooks (Activer les webhooks entrants), puis sur Ajouter un nouveau webhook à l’espace de travail.
    Ajouter un nouveau webhook à l’espace de travail
  4. Choisissez un canal sur lequel l’application va publier et cliquez sur le bouton Authorize (Autoriser) pour autoriser votre application.
  5. Copiez l’URL du webhook (https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX, par exemple) pour configurer la notification Slack dans Grafana. Testez votre configuration en cliquant sur le bouton Envoi test. Si la configuration est correcte, vous devez recevoir un message sur un canal configuré de type suivant :
    Notification Slack
    Dans le cas contraire, vérifiez les journaux de votre conteneur Grafana pour débuguer.
  6. Cliquez sur Enregistrer pour enregistrer votre configuration. Vous recevrez ensuite des alertes de Grafana. Consultez la documentation sur les notifications Slack de Grafana pour en savoir plus.

PagerDuty

  1. Ajoutez un nouveau service (https://XXXX.pagerduty.com/services/new, par exemple), et sélectionnez Use our API directly (Utiliser notre API directement) comme type d’intégration.
    Ajouter un service
  2. Copiez la clé d’intégration (de7439f367354513b9e1ba4042f0e3b8, par exemple) pour configurer une notification PagerDuty dans Grafana. Testez votre configuration en cliquant sur le bouton Envoi test. Si la configuration est correcte, vous devez recevoir une alerte sur la page d’alertes PagerDuty de type suivant :
    Notification PagerDuty
    Dans le cas contraire, vérifiez les journaux de votre conteneur Grafana pour corriger.
  3. Cliquez sur Enregistrer pour enregistrer votre configuration. Vous recevrez ensuite des alertes de Grafana. Consultez la documentation sur les notifications PagerDuty de Grafana pour en savoir plus.

Webhooks

Vous pouvez également configurer un serveur Webhook de manière à recevoir des alertes.

  1. Configurez les notifications Webhook dans Grafana. Testez votre configuration en cliquant sur le bouton Envoi test. Si la configuration est correcte, vous devez recevoir une charge utile JSON de type suivant :
    {
        "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"
    }
    
    Dans le cas contraire, vérifiez les journaux de votre conteneur Grafana pour débuguer.
  2. Cliquez sur Enregistrer pour enregistrer votre configuration. Vous recevrez ensuite des alertes de Grafana. Consultez la documentation sur les notifications Webhook de Grafana pour en savoir plus.