atosatto.alertmanager

Rola Ansible: Alertmanager

Status budowy Galaxy

Zainstaluj i skonfiguruj Prometheus Alertmanager.

Wymagania

Instalacja Ansible w wersji 2.2 lub wyższej.
Ta rola korzysta z filtru Ansible json_filter, który wymaga zainstalowania jmespath na maszynie Ansible. Szczegóły dotyczące konkretnej wersji jmespath wymaganej przez rolę znajdziesz w pliku requirements.txt.

Zmienna roli

Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml):

alertmanager_release_tag: "latest"

Wydanie Alertmanagera do zainstalowania. Domyślnie jest to najnowsze wydanie opublikowane na https://github.com/prometheus/alertmanager/releases.

alertmanager_release_url: ""

Jeśli ustawione, rola pobierze Alertmanagera z podanego adresu URL zamiast korzystać z linku do pobrania wskazanego w metadanych wydania Github Alertmanagera.

alertmanager_user: "alertmanager"
alertmanager_group: "alertmanager"

Systemowy użytkownik i grupa Alertmanagera.

alertmanager_install_path: "/opt"

Katalog zawierający pobrane pliki wydania Alertmanagera.

alertmanager_bin_path: "/usr/local/bin"

Katalog, do którego będą tworzone łącza symboliczne do binariów Alertmanagera.

alertmanager_config_path: "/etc/alertmanager"
alertmanager_config_file: "alertmanager.yml"

Plik konfiguracji Alertmanagera i katalog.

alertmanager_config: {}

Słownik YAML zawierający konfigurację Alertmanagera. Pełna dokumentacja konfiguracji Alertmanagera jest dostępna pod adresem https://prometheus.io/docs/alerting/configuration/.
UWAGA: dostarczona konfiguracja Alertmanagera zostanie scalona z domyślną zdefiniowaną w vars/main.yml.

alertmanager_templates_path: "{{ alertmanager_config_path }}/templates"
alertmanager_templates: {}

Katalog i definicje szablonów Alertmanagera.

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}}"

Powyższy przykład pokazuje, jak stworzyć plik example.tmpl w katalogu alertmanager_templates_path oraz jak skonfigurować Alertmanager do jego załadowania.

alertmanager_listen_address: "127.0.0.1:9093"

Adres IP i port, na którym nasłuchuje serwer webowy Alertmanagera.
UWAGA: metryki Alertmanagera będą dostępne pod adresem {{ alertmanager_listen_address }}/metrics.

alertmanager_storage_path: "/var/lib/alertmanager"
alertmanager_storage_retention: "120h"

Katalog używany do przechowywania stanów powiadomień i wyciszeń Alertmanagera. Domyślnie, stare dane będą usuwane po 120 godzinach.

alertmanager_log_level: "info"

Poziom szczegółowości logów demona Alertmanagera.

alertmanager_additional_cli_args: ""

Dodatkowe argumenty wiersza poleceń, które mają być dodane do jednostki usługi Alertmanagera. Aby uzyskać pełną dokumentację dost available CLI arguments, zapoznaj się z wynikiem polecenia alertmanager --help.

Zależności

Brak.

Przykłady playbooków

$ cat playbook.yml
- name: "Zainstaluj i skonfiguruj Prometheus Alertmanager"
  hosts: all
  roles:
    - { role: atosatto.alertmanager }

Testowanie

Testy są zautomatyzowane z użyciem Molecule.

$ pip install tox

Aby przetestować wszystkie scenariusze, uruchom

$ tox

Aby uruchomić niestandardowe polecenie molekuły

$ tox -e py27-ansible29 -- molecule test -s alertmanager-latest

Licencja

MIT

Informacje o autorze

Andrea Tosatto (@_hilbert_)

O projekcie

Install and Configure Prometheus Alertmanager

Zainstaluj
ansible-galaxy install atosatto.alertmanager
Licencja
mit
Pobrania
1.6k
Właściciel
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python