cloudalchemy.alertmanager

ZDEPRECIOWANE

Ta rola została zdeprecjonowana na rzecz kolekcji prometheus-community/ansible.

Rola Ansible: alertmanager

Status budowy Licencja Rola Ansible Tag GitHub

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.

O projekcie

Prometheus Alertmanager service

Zainstaluj
ansible-galaxy install cloudalchemy.alertmanager
Licencja
mit
Pobrania
1.7M
Właściciel
Setup your monitoring stack with ansible