Prometheus: Configuration d'Alert Manager

Cette documentation fait partie du guide Alertes. Consultez le guide complet ici : Fonctionnement des alertes Prometheus et configuration.

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Prometheus cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Alert Manager inclus pour envoyer des alertes vers Slack, Mattermost, PagerDuty, etc.
  • Serveur email dédié pour envoyer un nombre illimité d'alertes par e-mail.
  • Blackbox pour sonder HTTP, ICMP, TCP et bien plus.
  • Configuration simple grâce à l'éditeur de fichier de configuration en ligne.
  • Mises à jour faciles en un clic.
  • Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Prometheus cloud hosting de Stackhero !

Pour configurer Alert Manager, modifiez le fichier alert-manager.yml. Depuis votre tableau de bord Stackhero, sélectionnez votre service Prometheus, puis cliquez sur "Configuration d'Alert Manager".

Nous présentons ci-dessous les bases. Pour plus de détails, consultez la documentation officielle.

La première étape consiste à configurer les receivers. Chaque receiver correspond à un ensemble d'intégrations de notification (comme e-mail, Slack, etc.) identifié par un name unique.

Par exemple, vous pouvez créer un receiver nommé "critical_alert" pour les notifications déclenchées par des alertes de sévérité critique. Vous pouvez aussi créer un receiver comme "devops_team" pour adresser les alertes à votre équipe DevOps.

Attribuer simplement le nom "critical_alert" à un receiver ne suffit pas à envoyer les alertes. L'association entre les alertes et le receiver se fait dans la configuration des routes décrite ci-dessous.

Une fois un receiver défini, il faut configurer les intégrations de notification correspondantes. Cela peut inclure des e-mails, des notifications Slack/Mattermost, PagerDuty, Opsgenie, Webhook, et bien d'autres.

Voici un exemple de receiver nommé "critical_alert" qui envoie un e-mail à deux utilisateurs et un message Slack sur le canal #alerts :

receivers:
- name: "critical_alert"

  # Envoi des alertes critiques par e-mail
  email_configs:
    - send_resolved: true
      to: "[email protected]"

  # Envoi des alertes critiques sur 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 }}"

Vous pouvez définir plusieurs receivers pour gérer différents types d'alertes. Par exemple, un pour les alertes critiques, un autre pour les erreurs, et un autre pour d'autres types d'alertes.

Les instances Stackhero for Prometheus incluent un serveur e-mail dédié et privé qui vous permet d'envoyer un nombre illimité d'alertes par e-mail sans coût supplémentaire.

Après avoir configuré vos receivers, il faut définir les routes. Les routes indiquent à Alert Manager comment traiter les alertes reçues de Prometheus et vers quel receiver les envoyer (généralement l'un de ceux que vous avez configurés).

Voici un exemple simple qui dirige les alertes de sévérité "critical" vers le receiver nommé "critical_alert" :

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

Nous avons préconfiguré certaines routes dans le fichier alert-manager.yml fourni avec votre instance Stackhero for Prometheus. Pour commencer à recevoir des alertes, il suffit de mettre à jour les sections email_configs et/ou slack_configs avec vos informations de notification.