cloudalchemy.alertmanager
VERALTET
Diese Rolle wurde zugunsten der prometheus-community/ansible Sammlung veraltet.
Ansible Rolle: alertmanager
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.
ansible-galaxy install cloudalchemy.alertmanager