cloudalchemy.alertmanager

VERALTET

Diese Rolle wurde zugunsten der prometheus-community/ansible Sammlung veraltet.

Ansible Rolle: alertmanager

Build Status Lizenz Ansible Rolle GitHub-Tag

Beschreibung

Stellen Sie den Prometheus alertmanager Dienst mit Ansible bereit und verwalten Sie ihn.

Anforderungen

  • Ansible >= 2.7 (Es könnte auch mit älteren Versionen funktionieren, aber wir können das nicht garantieren)

Es wäre schön, wenn Prometheus irgendwo installiert wäre.

Rollenvariablen

Alle überschreibbaren Variablen sind in der Datei defaults/main.yml sowie in der folgenden Tabelle gespeichert.

Name Standardwert Beschreibung
alertmanager_version 0.21.0 Version des Alertmanager-Pakets. Akzeptiert auch latest als Parameter.
alertmanager_binary_local_dir "" Erlaubt die Verwendung lokaler Pakete anstelle der auf GitHub verteilten. Nimmt als Parameter ein Verzeichnis, in dem die alertmanager UND amtool Binaries auf dem Host, auf dem Ansible ausgeführt wird, gespeichert sind. Überschreibt den Parameter alertmanager_version.
alertmanager_web_listen_address 0.0.0.0:9093 Adresse, auf der der Alertmanager hören wird.
alertmanager_web_external_url http://localhost:9093/ Externe Adresse, unter der der Alertmanager verfügbar ist. Nützlich, wenn er hinter einem Reverse-Proxy steht. Z.B. example.org/alertmanager
alertmanager_config_dir /etc/alertmanager Pfad zum Verzeichnis mit der Alertmanager-Konfiguration.
alertmanager_db_dir /var/lib/alertmanager Pfad zum Verzeichnis mit der Alertmanager-Datenbank.
alertmanager_config_file alertmanager.yml.j2 Variable für die Bereitstellung einer benutzerdefinierten Alertmanager-Konfigurationsdatei in Form einer Ansible-Vorlage.
alertmanager_config_flags_extra {} Zusätzliche Konfigurationsflags, die beim Start an die Prometheus-Binärdatei übergeben werden.
alertmanager_template_files ['alertmanager/templates/*.tmpl'] Liste von Ordnern, in denen Ansible nach Vorlagendateien sucht, die nach {{ alertmanager_config_dir }}/templates/ kopiert werden. Dateien müssen die Erweiterung *.tmpl haben.
alertmanager_resolve_timeout 3m Zeit, nach der ein Alarm als gelöst erklärt wird.
alertmanager_smtp {} SMTP (E-Mail)-Konfiguration.
alertmanager_http_config {} HTTP-Konfiguration für die Verwendung benutzerdefinierter Webhooks.
alertmanager_slack_api_url "" Slack-Webhook-URL.
alertmanager_pagerduty_url "" PagerDuty-Webhook-URL.
alertmanager_opsgenie_api_key "" Opsgenie-Webhook-Schlüssel.
alertmanager_opsgenie_api_url "" Opsgenie-Webhook-URL.
alertmanager_victorops_api_key "" VictorOps-Webhook-Schlüssel.
alertmanager_victorops_api_url "" VictorOps-Webhook-URL.
alertmanager_hipchat_api_url "" Hipchat-Webhook-URL.
alertmanager_hipchat_auth_token "" Hipchat-Authentifizierungstoken.
alertmanager_wechat_url "" Unternehmens-WeChat-Webhook-URL.
alertmanager_wechat_secret "" Unternehmens-WeChat-Geheimtoken.
alertmanager_wechat_corp_id "" Unternehmens-WeChat-Unternehmens-ID.
alertmanager_cluster {listen-address: ""} HA-Cluster-Netzwerkkonfiguration. Standardmäßig deaktiviert. Weitere Informationen im alertmanager README.
alertmanager_receivers [] Eine Liste von Benachrichtigungsempfängern. Konfiguration wie in offiziellen Docs.
alertmanager_inhibit_rules [] Liste der Hemmungsregeln. Gleich wie in offiziellen Docs.
alertmanager_route {} Alarmweiterleitung. Mehr in offiziellen Docs.
alertmanager_amtool_config_file amtool.yml.j2 Vorlage für die Amtool-Konfiguration.
alertmanager_amtool_config_alertmanager_url alertmanager_web_external_url URL des Alertmanagers.
alertmanager_amtool_config_output extended Erweiterte Ausgabe, verwenden Sie "" für eine einfache Ausgabe.

Beispiel

Playbook

---
  hosts: all
  roles:
    - ansible-alertmanager
  vars:
    alertmanager_version: latest
    alertmanager_slack_api_url: "http://example.com"
    alertmanager_receivers:
      - name: slack
        slack_configs:
          - send_resolved: true
            channel: '#alerts'
    alertmanager_route:
      group_by: ['alertname', 'cluster', 'service']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 3h
      receiver: slack

Demoseite

Wir bieten eine Demoseite für eine vollständige Überwachungslösung basierend auf Prometheus und Grafana. Das Repository mit Code und Links zu laufenden Instanzen ist auf GitHub verfügbar und die Seite wird auf DigitalOcean gehostet.

Lokales Testen

Der bevorzugte Weg, die Rolle lokal zu testen, ist die Verwendung von Docker und Molecule (v3.x). Sie müssen Docker auf Ihrem System installieren. Siehe "Erste Schritte" für ein geeignetes Docker-Paket für Ihr System. Das Ausführen Ihrer Tests ist so einfach wie das Ausführen von molecule test.

Kontinuierliche Integration

Die Kombination von Molecule und Circle CI ermöglicht es uns zu testen, wie neue PRs sich verhalten, wenn sie mit mehreren Ansible-Versionen und mehreren Betriebssystemen verwendet werden. Dadurch können wir auch Testszenarien für verschiedene Rollenkonfigurationen erstellen. Das Ergebnis ist eine ziemlich große Testmatrix, die länger dauern kann als lokale Tests, also bitten wir um Geduld.

Mitwirken

Siehe Mitwirkendenrichtlinien.

Fehlersuche

Siehe Fehlersuche.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe LICENSE für weitere Details.

Über das Projekt

Prometheus Alertmanager service

Installieren
ansible-galaxy install cloudalchemy.alertmanager
Lizenz
mit
Downloads
1.7M
Besitzer
Setup your monitoring stack with ansible