Configurar notificações de monitoramento

Há diversos alertas predefinidos nos painéis de monitoramento. Quando um alerta muda de estado, ele envia notificações. Para receber alertas do Grafana, é necessário configurar um canal de notificação.

O Grafana é compatível com diferentes tipos de notificação (email, Slack, Webhooks, entre outros). Confira a documentação do Grafana para saber mais sobre os tipos de notificação compatíveis.

Este documento abrange a configuração de canais de notificação comuns, como email, Slack, PagerDuty e Webhooks.

Antes de você configurar uma notificação, verifique se os contêineres de monitoramento estão funcionando.

Email

  1. Defina as configurações de SMTP no arquivo 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. Reinicie o Grafana.
    docker-compose -f monitoring-compose.yml up -d
  3. No painel Alerting, acesse Notification channels.
    Canais de notificação
  4. Insira o seu endereço de email e teste a configuração clicando no botão Send Test.
    Enviar teste
    Se a configuração estiver correta, você receberá um email como este:
    Email Grafana
    Caso você não receba, verifique os registros do seu contêiner Grafana para depurar.
  5. Clique em Save para salvar a configuração. Depois disso, você receberá alertas do Grafana. Para ver mais informações, consulte a documentação sobre notificações por email do Grafana.

Slack

  1. Insira um nome (por exemplo, alerta) e escolha um workspace para criar um Slack App.
  2. Clique no botão Incoming Webhooks para adicionar o recurso ao seu app.
    Webhooks de entrada
  3. Coloque o botão Activate Incoming Webhooks na posição de ativado. Depois, clique em Add New Webhook to Workspace.
    Adicionar novo Webhook ao workspace
  4. Escolha um canal em que o app publicará e clique no botão Authorize para autorizar.
  5. Copie a URL do Webhook (por exemplo, https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX) para configurar a notificação do Slack no Grafana. Teste a configuração clicando no botão Send Test. Se a configuração estiver correta, você receberá uma mensagem como esta no canal configurado:
    Notificação do Slack
    Caso você não receba, verifique os registros do seu contêiner Grafana para depurar.
  6. Clique em Save para salvar a configuração. Depois disso, você receberá alertas do Grafana. Para ver mais informações, consulte a documentação sobre notificações do Slack do Grafana.

PagerDuty

  1. Adicione um novo serviço (por exemplo, https://XXXX.pagerduty.com/services/new) e selecione Use our API directly como o Integration Type.
    Adicionar um serviço
  2. Copie a Integration Key (por exemplo, de7439f367354513b9e1ba4042f0e3b8) para configurar uma notificação do PagerDuty no Grafana. Teste a configuração clicando no botão Send Test. Se a configuração estiver correta, você receberá um alerta como este na Página de alertas do PagerDuty:
    Notificação do PagerDuty
    Caso você não receba, verifique os registros do seu contêiner Grafana para depurar.
  3. Clique em Save para salvar a configuração. Depois disso, você receberá alertas do Grafana. Para ver mais informações, consulte a documentação sobre notificações do PagerDuty do Grafana.

Webhooks

Você também pode configurar um servidor Webhook para receber alertas.

  1. Configure notificações do Webhook no Grafana. Teste a configuração clicando no botão Send Test. Se a configuração estiver correta, você receberá uma carga JSON como esta:
    {
        "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"
    }
    
    Caso você não receba, verifique os registros do seu contêiner Grafana para depurar.
  2. Clique em Save para salvar a configuração. Depois disso, você receberá alertas do Grafana. Para ver mais informações, consulte a documentação sobre notificações do Webhook do Grafana.