Echobell

Intégration Prometheus Alertmanager - Notifications de Surveillance Serveur et Infrastructure

Guide complet pour intégrer Prometheus Alertmanager avec Echobell pour des alertes mobiles instantanées. Recevez des notifications push pour la surveillance serveur, les alertes d'infrastructure, les avertissements d'utilisation CPU/mémoire et les événements système critiques via webhook ou email.

Intégration Prometheus

Prometheus avec Alertmanager est un stack de monitoring et d'alerting open-source largement utilisé. En intégrant Alertmanager avec Echobell, vous pouvez recevoir des notifications mobiles instantanées (y compris des alertes sensibles au temps ou de type appel) chaque fois que vos règles d'alerte se déclenchent.

Prérequis

  • Un compte Echobell avec au moins un canal créé
  • Une installation Prometheus + Alertmanager en fonctionnement
  • Accès pour modifier votre configuration Alertmanager (alertmanager.yml)

Aperçu

  1. Créer un canal Echobell
  2. Configurer les modèles de notification
  3. Choisir une méthode d'intégration (Webhook ou Email)
  4. Créer ou mettre à jour les règles d'alerte
  5. Tester et affiner

Guide Étape par Étape

Créer un Canal Echobell

  1. Ouvrir l'application Echobell
  2. Créer un nouveau canal (ex. "Alertes Prometheus")
  3. Choisir une couleur pour une identification facile

Configurer les Modèles de Notification

Le payload webhook d'Alertmanager contient des champs structurés comme status, commonLabels, commonAnnotations, externalURL et un tableau alerts.

Modèle de Titre :

{{commonLabels.alertname}} - {{status}}

Modèle de Corps :

🔔 Alerte : {{commonLabels.alertname}}
📊 Sévérité : {{commonLabels.severity}}
🖥️ Instance : {{alerts[0].labels["instance"]}}
⏰ Début : {{alerts[0].startsAt}}
ℹ️ Résumé : {{commonAnnotations.summary}}

Modèle de Lien Optionnel (Paramètres Avancés) :

{{alerts[0].generatorURL || externalURL}}

Méthode A — Webhook (Recommandée)

  1. Dans votre canal Echobell, copiez l'URL Webhook depuis Déclencheurs
  2. Dans Alertmanager, configurez un récepteur webhook :
route:
  receiver: echobell-webhook

receivers:
  - name: echobell-webhook
    webhook_configs:
      - url: "https://hook.echobell.one/t/REPLACE_WITH_YOUR_TOKEN"
        send_resolved: true
        http_config:
          follow_redirects: true

Note : send_resolved: true notifiera aussi quand les alertes sont résolues.

Méthode B — Email (Alternative)

Si vous préférez l'email, utilisez le récepteur email d'Alertmanager :

  1. Dans Echobell, copiez l'adresse email du canal depuis Déclencheurs
  2. Configurez un récepteur email dans Alertmanager :
receivers:
  - name: echobell-email
    email_configs:
      - to: "PASTE_CHANNEL_EMAIL_ADDRESS"
        send_resolved: true
        subject: "{{ .CommonLabels.alertname }} - {{ .Status }}"
        html: |
          <p><strong>Résumé :</strong> {{ .CommonAnnotations.summary }}</p>
          <p>{{ .CommonAnnotations.description }}</p>

Créer une Règle d'Alerte Exemple

groups:
  - name: example
    rules:
      - alert: HighCPU
        expr: avg(rate(process_cpu_seconds_total[5m])) > 0.8
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "Utilisation CPU élevée"
          description: "CPU supérieur à 80% depuis 2 minutes"

Une fois cette alerte déclenchée, Alertmanager enverra l'événement à Echobell.

Types de Notification

  • Sensible au temps : Pannes critiques de production, incidents de niveau paging
  • Appel : Pannes sévères nécessitant d'interrompre les modes focus
  • Normal : Alertes routinières, avertissements ou avis informatifs

Meilleures Pratiques

  1. Garder les modèles concis mais informatifs
  2. Utiliser le modèle de lien pour accéder directement au graphique/tableau de bord
  3. Grouper et router les alertes dans Alertmanager
  4. Protéger l'URL webhook comme un secret

Dépannage

Si les alertes n'apparaissent pas dans Echobell :

  • Vérifier l'URL webhook ou l'email du canal
  • S'assurer que le canal est actif et a des abonnés
  • Vérifier les logs Alertmanager pour les erreurs de livraison
  • Vérifier la route dans alertmanager.yml

Ressources Supplémentaires

Table des matières