atosatto.alertmanager

Ansible Rolle: Alertmanager

Build Status Galaxy

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_)

Über das Projekt

Install and Configure Prometheus Alertmanager

Installieren
ansible-galaxy install atosatto.alertmanager
GitHub Repository
Lizenz
mit
Downloads
1.6k
Besitzer
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python