atosatto.alertmanager
Ansible Rolle: Alertmanager
Installieren und konfigurieren Sie den Prometheus Alertmanager.
Anforderungen
Eine Ansible Installation ab Version 2.2.
Diese Rolle verwendet den Ansible json_filter
, der jmespath
benötigt, um auf der Ansible-Maschine installiert zu sein.
Siehe die Datei requirements.txt
für weitere Details zur spezifischen Version von jmespath
, die von der Rolle benötigt wird.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml):
alertmanager_release_tag: "latest"
Die zu installierende Alertmanager-Version. Standardmäßig wird die neueste Version von https://github.com/prometheus/alertmanager/releases verwendet.
alertmanager_release_url: ""
Falls gesetzt, wird die Rolle Alertmanager von der angegebenen URL herunterladen, anstatt die Download-URL in den Alertmanager-Github-Release-Metadaten zu verwenden.
alertmanager_user: "alertmanager"
alertmanager_group: "alertmanager"
Systembenutzer und -gruppe für Alertmanager.
alertmanager_install_path: "/opt"
Verzeichnis, das die heruntergeladenen Alertmanager-Releases enthält.
alertmanager_bin_path: "/usr/local/bin"
Verzeichnis, in dem die Alertmanager-Binärdateien verknüpft werden.
alertmanager_config_path: "/etc/alertmanager"
alertmanager_config_file: "alertmanager.yml"
Konfigurationsdatei und -verzeichnis für den Alertmanager.
alertmanager_config: {}
YAML-Dictionary, das die Konfiguration des Alertmanagers enthält.
Die vollständige Referenz für die Alertmanager-Konfiguration finden Sie unter
https://prometheus.io/docs/alerting/configuration/.
HINWEIS: Die bereitgestellte Alertmanager-Konfiguration wird mit der standardmäßigen Konfiguration in vars/main.yml
zusammengeführt.
alertmanager_templates_path: "{{ alertmanager_config_path }}/templates"
alertmanager_templates: {}
Verzeichnis und Definitionen der Alertmanager-Vorlagen.
alertmanager_config:
templates:
- "{{ alertmanager_templates_path }}/*.tmpl"
alertmanager_templates:
"example": "{{ define "slack.myorg.text" }}https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}{{ end}}"
Das obige Beispiel zeigt, wie die example.tmpl
im Verzeichnis alertmanager_templates_path
erstellt wird und wie der Alertmanager konfiguriert wird, um sie zu laden.
alertmanager_listen_address: "127.0.0.1:9093"
Die IP-Adresse und der Port, an denen der Alertmanager WebServer lauscht.
HINWEIS: Die Alertmanager-Metriken sind unter {{ alertmanager_listen_address }}/metrics
verfügbar.
alertmanager_storage_path: "/var/lib/alertmanager"
alertmanager_storage_retention: "120h"
Verzeichnis zur Speicherung der Benachrichtigungszustände und Stummschaltungen des Alertmanagers. Standardmäßig werden die alten Daten nach 120 Stunden gelöscht.
alertmanager_log_level: "info"
Vererbungsstufe der Protokollierung des Alertmanager-Daemons.
alertmanager_additional_cli_args: ""
Zusätzliche Befehlszeilenargumente, die zur Alertmanager-Dienst-Unit hinzugefügt werden sollen.
Für die vollständige Referenz der verfügbaren CLI-Argumente siehe die Ausgabe des Befehls
alertmanager --help
.
Abhängigkeiten
Keine.
Beispiel-Playbooks
$ cat playbook.yml
- name: "Installieren und Konfigurieren von Prometheus Alertmanager"
hosts: all
roles:
- { role: atosatto.alertmanager }
Teste
Die Tests sind automatisiert mit Molecule.
$ pip install tox
Um alle Szenarien zu testen, führen Sie aus:
$ tox
Um einen benutzerdefinierten Molecule-Befehl auszuführen:
$ tox -e py27-ansible29 -- molecule test -s alertmanager-latest
Lizenz
MIT
Autoreninformation
Andrea Tosatto (@_hilbert_)
Install and Configure Prometheus Alertmanager
ansible-galaxy install atosatto.alertmanager