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