Prometheus: Configuration d'Alert Manager

Cette documentation fait partie du guide Alertes. Consultez le guide complet ici : Comment fonctionnent les alertes Prometheus et comment les configurer.

👋 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 à Slack, Mattermost, PagerDuty, etc.
  • Serveur d'email dédié pour envoyer des alertes email illimitées.
  • Blackbox pour sonder HTTP, ICMP, TCP, et plus encore.
  • Configuration facile avec un éditeur de fichier de configuration en ligne.
  • Mises à jour sans effort en un clic.
  • Performance optimale et sécurité robuste 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. Dans votre tableau de bord Stackhero, sélectionnez votre service Prometheus, puis cliquez sur "Configuration d'Alert Manager".

Ci-dessous, nous présentons les bases. Pour plus de détails, veuillez vous référer à la documentation officielle.

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

Par exemple, vous pourriez créer un receiver nommé "critical_alert" pour les notifications déclenchées par des alertes de gravité critique. Alternativement, vous pourriez créer un receiver comme "devops_team" pour diriger les alertes vers votre équipe DevOps.

Définir un receiver avec le nom "critical_alert" seul n'enverra pas d'alertes. L'association entre les alertes et le receiver est faite dans la configuration des routes décrite ci-dessous.

Une fois un receiver défini, vous devrez configurer les intégrations de notification correspondantes. Celles-ci pourraient inclure des e-mails, des notifications Slack/Mattermost, PagerDuty, Opsgenie, Webhook, et plus encore.

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

receivers:
- name: "critical_alert"

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

  # Envoyer les alertes critiques à 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, vous pourriez en avoir un pour les alertes critiques, un autre pour les alertes d'erreur, et un autre pour d'autres types d'alertes.

Les instances de Stackhero pour 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, vous devez configurer les routes. Les routes indiquent à Alert Manager comment gérer les alertes entrantes de Prometheus et où les envoyer (généralement vers l'un de vos receivers préconfigurés).

Voici un exemple de base qui dirige les alertes avec une gravité de "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 pour Prometheus. Pour commencer à recevoir des alertes, mettez simplement à jour les sections email_configs et/ou slack_configs avec vos détails de notification.