moira-alert.moira-trigger-role
rola-moira-trigger
Jeśli jesteś tutaj po raz pierwszy, lepiej sprawdź nasz główny README.
Rola Ansible do tworzenia, aktualizacji i usuwania wyzwalaczy Moira, bazująca na python-moira-client
Użycie roli
Instalacja
Ansible Galaxy
ansible-galaxy install moira-alert.moira-trigger-role
Rola Ansible z Makefile
Umieść zawartość z przykładu w swoim Makefile, aby pobrać rolę z Ansible Galaxy
i utworzyć playbook do zarządzania wyzwalaczami z wstępnie zdefiniowanymi parametrami w swoich plikach zmiennych:
- name: zarządzaj wyzwalaczami moira
hosts: nazwaUsługi
roles:
- role: moira-alert.moira-trigger-role
moira_api: http://localhost:8081/api
moira_triggers: '{{ ServiceNameTriggers }}'
delegate_to: 127.0.0.1
run_once: True
dry_run: False
Uwaga: Wszystkie zadania muszą być wykonywane z maszyny kontrolnej Ansible
Konfiguracja
Wstępnie zdefiniuj następujące parametry w swoich plikach zmiennych. Działające przykłady można znaleźć tutaj
Autoryzacja
Parametr | Opis | Typ | Wymagane | Domyślna | Przykład |
---|---|---|---|---|---|
moira_api | Url API Moira | String | Tak | N/A | http://localhost/api/ |
moira_auth_custom | Niestandardowe nagłówki autoryzacji | Słownik | Nie | Brak | Authorization: apiKey |
moira_auth_user | Użytkownik autoryzacji (Basic Auth) | String | Nie | Brak | admin |
moira_auth_pass | Hasło autoryzacji (Basic Auth) | String | Nie | Brak | pass |
moira_auth_login | Login autoryzacji (Basic Auth) | String | Nie | Brak | admin |
Uwaga: Użyj moira_auth_custom, jeśli korzystasz z dodatkowych mechanizmów autoryzacji zamiast
jednolitej autoryzacji basic, użyj moira_auth_user, moira_auth_pass i moira_auth_login w przeciwnym razie.
moira_auth_login musi zawierać wartość dla nagłówka X-Webauth-User.
Stan wyzwalacza
Parametr | Opis | Typ | Wymagane | Wybory | Domyślna | Przykład |
---|---|---|---|---|---|---|
state | Pożądany stan wyzwalacza | String | Tak | present absent |
N/A | present |
id | Id wyzwalacza | String | Tak | N/A | N/A | trigger_1 |
name | Nazwa wyzwalacza | String | Tak | N/A | N/A | Wyzwalacz 1 |
tags | Lista tagów wyzwalacza | Lista | Tak | N/A | N/A | - Projekt - Usługa |
targets | Lista celów wyzwalacza Zobacz dostępne funkcje graphite |
Lista | Tak | N/A | N/A | - prefix.*.postfix |
warn_value | Wartość do ustawienia statusu WARN | Float | Nie | N/A | Brak | 300 |
error_value | Wartość do ustawienia statusu ERROR | Float | Nie | N/A | Brak | 600 |
trigger_type | Typ wyzwalacza | String | Nie | rising falling expression |
N/A | rising |
expression | Wyrażenie podobne do C | String | Nie | N/A | Pusty ciąg | t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK) |
ttl | Gdy nie ma metryk dla wyzwalacza, Moira przełączy metrykę na stan TTLState po TTL sekundach | Int | Nie | N/A | 600 | 600 |
ttl_state | Stan wyzwalacza po upłynięciu 'ttl' | String | Nie | NODATA DEL ERROR WARN OK |
NODATA | WARN |
is_remote | Użyj zdalnego magazynu. Dezaktuwowane, użyj trigger_source zamiast tego |
Bool | Nie | True False |
False | False |
trigger_source | Określ źródło wyzwalacza, nadpisuje is_remote | String | Nie | graphite_local graphite_remote prometheus_remote |
Brak | graphite_local |
cluster_id | Określ identyfikator klastra | String | Nie | N/A | Brak | default |
desc | Opis wyzwalacza | String | Nie | N/A | Pusty ciąg | opis testu wyzwalacza |
mute_new_metrics | Jeśli prawda, pierwsze zdarzenie NODATA → OK zostanie pominięte | Bool | Nie | True False |
False | False |
disabled_days | Dni, przez które wyzwalacz będzie w trybie ciszy | Lista | Nie | N/A | Pusta lista | - Pon - Śr |
timezone_offset | Przesunięcie strefy czasowej (minuty) | Int | Nie | N/A | 0 | -180 |
start_hour | Godzina zaczynania wysyłania powiadomień | Int | Nie | N/A | 0 | 9 |
start_minute | Minuta zaczynania wysyłania powiadomień | Int | Nie | N/A | 0 | 0 |
end_hour | Godzina kończenia wysyłania powiadomień | Int | Nie | N/A | 23 | 17 |
end_minute | Minuta kończenia wysyłania powiadomień | Int | Nie | N/A | 59 | 0 |
alone_metrics | Ustaw niektóre cele jako pojedyncze metryki | Obiekt, przykład: | Nie | N/A | {'t1': False, 't2': True, ... 'tN': True} | {'t1': False, 't2': False} |
Zadania roli
Zarządzanie zależnościami
Zadanie do sprawdzenia, czy python-moira-client jest zainstalowane (poprzez pip)
Zarządzanie wyzwalaczami
Użyj stanu 'present', aby utworzyć i edytować istniejące wyzwalacze:
- name: utwórz wyzwalacz
moira_trigger:
...
state: present
...
Aby usunąć istniejące wyzwalacze, użyj stanu 'absent':
- name: usuń wyzwalacz
moira_trigger:
...
state: absent
...
Ansible role to create, update and delete Moira triggers
ansible-galaxy install moira-alert.moira-trigger-role