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