Prometheus: Configuração do Alert Manager

Esta documentação faz parte do guia Alertas. Consulte o guia completo aqui: Como funcionam os alertas do Prometheus e como configurá-los.

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece uma solução Prometheus cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Alert Manager incluído para enviar alertas para Slack, Mattermost, PagerDuty, etc.
  • Servidor de email dedicado para enviar alertas de email ilimitados.
  • Blackbox para sondar HTTP, ICMP, TCP, e mais.
  • Configuração fácil com editor de ficheiros de configuração online.
  • Atualizações sem esforço com apenas um clique.
  • Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de hospedagem cloud Prometheus da Stackhero!

Para configurar o Alert Manager, edite o ficheiro alert-manager.yml. No seu painel Stackhero, selecione o seu serviço Prometheus e clique em "Configuração do Alert Manager".

Abaixo, apresentamos o básico. Para mais detalhes, consulte a documentação oficial.

O primeiro passo é configurar os receivers. Cada receiver é um conjunto de integrações de notificação (como email, Slack, etc.) identificado por um name único.

Por exemplo, pode criar um receiver chamado "critical_alert" para notificações acionadas por alertas com gravidade crítica. Alternativamente, pode criar um receiver como "devops_team" para direcionar alertas para a sua equipa DevOps.

Definir um receiver com o nome "critical_alert" sozinho não enviará alertas. A associação entre alertas e o receiver é feita na configuração das routes descrita abaixo.

Uma vez definido um receiver, precisará configurar as integrações de notificação correspondentes. Estas podem incluir emails, notificações Slack/Mattermost, PagerDuty, Opsgenie, Webhook, entre outros.

Abaixo está um exemplo de um receiver chamado "critical_alert" que envia um email para dois utilizadores e uma mensagem Slack para o canal #alerts:

receivers:
- name: "critical_alert"

  # Enviar alertas críticos por email
  email_configs:
    - send_resolved: true
      to: "[email protected]"

  # Enviar alertas críticos para Slack ou Mattermost
  slack_configs:
    - send_resolved: true
      api_url: "<your Slack or Mattermost API URL>"
      channel: "#alerts"
      title: "{{ range .Alerts }}{{ .Annotations.summary }}\n{{ end }}"
      text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"

Pode definir múltiplos receivers para lidar com diferentes tipos de alertas. Por exemplo, pode ter um para alertas críticos, outro para alertas de erro, e outro para outros tipos de alertas.

As instâncias de Stackhero para Prometheus incluem um servidor de email dedicado e privado que lhe permite enviar um número ilimitado de alertas por email sem custo adicional.

Depois de configurar os seus receivers, precisa configurar as routes. As routes dizem ao Alert Manager como lidar com os alertas recebidos do Prometheus e para onde enviá-los (tipicamente para um dos seus receivers pré-configurados).

Abaixo está um exemplo básico que direciona alertas com uma gravidade de "critical" para o receiver chamado "critical_alert":

route:
  routes:
    - match:
        severity: "critical"
      receiver: "critical_alert"

Pré-configurámos algumas routes no ficheiro alert-manager.yml fornecido com a sua instância Stackhero para Prometheus. Para começar a receber alertas, basta atualizar as secções email_configs e/ou slack_configs com os seus detalhes de notificação.