cloudalchemy.alertmanager
ZDEPRECIOWANE
Ta rola została zdeprecjonowana na rzecz kolekcji prometheus-community/ansible.
Rola Ansible: alertmanager
Opis
Wdrażaj i zarządzaj usługą Prometheus alertmanager za pomocą ansible.
Wymagania
- Ansible >= 2.7 (Może działać na wcześniejszych wersjach, ale nie możemy tego zagwarantować)
Fajnie byłoby mieć zainstalowany prometheus.
Zmienne roli
Wszystkie zmienne, które można nadpisać, są zapisane w pliku defaults/main.yml oraz w tabeli poniżej.
| Nazwa | Wartość domyślna | Opis |
|---|---|---|
alertmanager_version |
0.21.0 | Wersja pakietu alertmanager. Można podać latest. |
alertmanager_binary_local_dir |
"" | Umożliwia użycie lokalnych pakietów zamiast tych dystrybuowanych na GitHubie. Parametr to katalog, w którym znajdują się pliki binarne alertmanager i amtool. To nadpisuje parametr alertmanager_version. |
alertmanager_web_listen_address |
0.0.0.0:9093 | Adres, na którym alertmanager będzie nasłuchiwał. |
alertmanager_web_external_url |
http://localhost:9093/ | Zewnętrzny adres, na którym dostępny jest alertmanager. Przydatne, gdy jest za reverse proxy, np. example.org/alertmanager. |
alertmanager_config_dir |
/etc/alertmanager | Ścieżka do katalogu z konfiguracją alertmanagera. |
alertmanager_db_dir |
/var/lib/alertmanager | Ścieżka do katalogu z bazą danych alertmanagera. |
alertmanager_config_file |
alertmanager.yml.j2 | Zmienna używana do podania niestandardowego pliku konfiguracyjnego alertmanagera w formie szablonu ansible. |
alertmanager_config_flags_extra |
{} | Dodatkowe flagi konfiguracyjne przekazane do binariów prometheus przy uruchomieniu. |
alertmanager_template_files |
['alertmanager/templates/*.tmpl'] | Lista katalogów, w których ansible będzie szukał plików szablonów, które zostaną skopiowane do {{ alertmanager_config_dir }}/templates/. Pliki muszą mieć rozszerzenie *.tmpl. |
alertmanager_resolve_timeout |
3m | Czas po którym alert jest uznawany za rozwiązany. |
alertmanager_smtp |
{} | Konfiguracja SMTP (email). |
alertmanager_http_config |
{} | Konfiguracja HTTP do używania niestandardowych webhooków. |
alertmanager_slack_api_url |
"" | Adres URL webhooka Slack. |
alertmanager_pagerduty_url |
"" | Adres URL webhooka PagerDuty. |
alertmanager_opsgenie_api_key |
"" | Klucz webhooka Opsgenie. |
alertmanager_opsgenie_api_url |
"" | Adres URL webhooka Opsgenie. |
alertmanager_victorops_api_key |
"" | Klucz webhooka VictorOps. |
alertmanager_victorops_api_url |
"" | Adres URL webhooka VictorOps. |
alertmanager_hipchat_api_url |
"" | Adres URL webhooka Hipchat. |
alertmanager_hipchat_auth_token |
"" | Token autoryzacji Hipchat. |
alertmanager_wechat_url |
"" | Adres URL webhooka WeChat dla przedsiębiorstw. |
alertmanager_wechat_secret |
"" | Sekretny token WeChat dla przedsiębiorstw. |
alertmanager_wechat_corp_id |
"" | Identyfikator korporacji WeChat dla przedsiębiorstw. |
alertmanager_cluster |
{listen-address: ""} | Konfiguracja sieci klastrów HA. Domyślnie wyłączona. Więcej informacji w readme alertmanagera. |
alertmanager_receivers |
[] | Lista odbiorców powiadomień. Konfiguracja taka sama jak w oficjalnych dokumentach. |
alertmanager_inhibit_rules |
[] | Lista reguł inhibicji. Taka sama jak w oficjalnych dokumentach. |
alertmanager_route |
{} | Routing alertów. Więcej w oficjalnych dokumentach. |
alertmanager_amtool_config_file |
amtool.yml.j2 | Szablon dla konfiguracji amtool. |
alertmanager_amtool_config_alertmanager_url |
alertmanager_web_external_url |
URL alertmanagera. |
alertmanager_amtool_config_output |
extended | Rozszerzone wyjście, użyj "" dla prostego wyjścia. |
Przykład
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
Strona demonstracyjna
Oferujemy stronę demonstracyjną dla pełnego rozwiązania monitorującego opartego na prometheusie i grafanie. Repozytorium z kodem i linkami do działających instancji jest dostępne na GitHubie, a strona jest hostowana na DigitalOcean.
Testowanie lokalne
Preferowany sposób lokalnego testowania roli to użycie Dockera i molecule (v3.x). Będziesz musiał zainstalować Dockera na swoim systemie. Zobacz "Rozpocznij" aby znaleźć odpowiedni pakiet Dockera dla swojego systemu. Uruchomienie testów jest tak proste, jak wykonanie molecule test.
Ciągła integracja
Połączenie molekuły i circle CI pozwala nam przetestować, jak nowe PR-y będą się zachowywać przy użyciu wielu wersji ansible i różnych systemów operacyjnych. Umożliwia to również tworzenie scenariuszy testowych dla różnych konfiguracji ról. W rezultacie mamy dość dużą macierz testową, co może zająć więcej czasu niż testy lokalne, więc prosimy o cierpliwość.
Współpraca
Zobacz wytyczne dla współtwórców.
Rozwiązywanie problemów
Zobacz rozwiązywanie problemów.
Licencja
Ten projekt jest licencjonowany na podstawie licencji MIT. Zobacz LICENCJA po więcej szczegółów.
ansible-galaxy install cloudalchemy.alertmanager