moira-alert.moira-trigger-role

moira-trigger-role

Wenn du neu hier bist, schau dir am besten unser Haupt-README an.

Ansible-Rolle zum Erstellen, Aktualisieren und Löschen von Moira-Triggern basierend auf dem python-moira-client.

Verwendung der Rolle

Installation

Konfiguration

Rollenaufgaben

Installation

Ansible Galaxy

ansible-galaxy install moira-alert.moira-trigger-role

Ansible Rolle mit Makefile

Füge den Inhalt von Beispiel in dein Makefile ein, um die Rolle von Ansible Galaxy herunterzuladen
und ein Playbook zu erstellen, um Trigger mit vordefinierten Parametern in deinen Variablen-Dateien zu verwalten:

- name: moira Trigger verwalten
  hosts: serviceName
  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

Hinweis: Alle Aufgaben müssen von deiner Ansible-Controller-Maschine ausgeführt werden.

Konfiguration

Definiere die folgenden Parameter in deinen Variablen-Dateien. Funktionsfähige Beispiele findest du hier.

Authentifizierung

Parameter Beschreibung Typ Erforderlich Standard Beispiel
moira_api URL der Moira API String Ja N/A http://localhost/api/
moira_auth_custom Benutzerdefinierte Autorisierungsheader Dictionary Nein Keine Authorization: apiKey
moira_auth_user Benutzer (Basic Auth) String Nein Keine admin
moira_auth_pass Passwort (Basic Auth) String Nein Keine pass
moira_auth_login Anmeldedaten (Basic Auth) String Nein Keine admin

Hinweis: Verwende moira_auth_custom, wenn du zusätzliche Authentifizierungsmechanismen anstelle von
einfacher Basic Auth verwendest. Andernfalls verwende moira_auth_user, moira_auth_pass und moira_auth_login.
moira_auth_login muss einen Wert für den X-Webauth-User-Header enthalten.

Triggerstatus

Parameter Beschreibung Typ Erforderlich Optionen Standard Beispiel
state Gewünschter Status eines Triggers String Ja present
absent
N/A present
id Trigger-ID String Ja N/A N/A trigger_1
name Triggername String Ja N/A N/A Trigger 1
tags Liste der Trigger-Tags List Ja N/A N/A - Projekt
- Dienst
targets Liste der Trigger-Ziele
Siehe verfügbare Graphite-Funktionen
List Ja N/A N/A - prefix.*.postfix
warn_value Wert für WARN-Status Float Nein N/A Keine 300
error_value Wert für ERROR-Status Float Nein N/A Keine 600
trigger_type Art eines Triggers String Nein rising
falling
expression
N/A rising
expression C-ähnliche Ausdruck String Nein N/A Leerer String t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK)
ttl Wenn es keine Metriken für den Trigger gibt, wechselt Moira nach TTL Sekunden in den TTLState Int Nein N/A 600 600
ttl_state Triggerstatus nach Ablauf von 'ttl' String Nein NODATA
DEL
ERROR
WARN
OK
NODATA WARN
is_remote Verwendung eines Remote-Speichers. Veraltet, stattdessen trigger_source verwenden Bool Nein True
False
False False
trigger_source Bestimme Triggerquelle, überschreibt is_remote String Nein graphite_local
graphite_remote
prometheus_remote
Keine graphite_local
cluster_id Bestimme Cluster-ID String Nein N/A Keine default
desc Triggerbeschreibung String Nein N/A Leerer String Beschreibung des Trigger-Tests
mute_new_metrics Wenn wahr, wird das erste Ereignis NODATA → OK übersprungen Bool Nein True
False
False False
disabled_days Tage, an denen der Trigger im stillen Modus ist List Nein N/A Leere Liste - Mo
- Mi
timezone_offset Zeitzonenverschiebung (Minuten) Int Nein N/A 0 -180
start_hour Startzeit für Benachrichtigungen Int Nein N/A 0 9
start_minute Startminute für Benachrichtigungen Int Nein N/A 0 0
end_hour Endzeit für Benachrichtigungen Int Nein N/A 23 17
end_minute Endminute für Benachrichtigungen Int Nein N/A 59 0
alone_metrics Setze einige Ziele als einzelne Metrik Object, Beispiel: Nein N/A {'t1': False, 't2': True, ... 'tN': True} {'t1': False, 't2': False}

Rollenaufgaben

Abhängigkeiten verwalten

Aufgabe, um zu überprüfen, ob der python-moira-client (über pip) installiert ist.

Trigger verwalten

Verwende den Status 'present', um neue Trigger zu erstellen oder bestehende zu bearbeiten:

 - name: Trigger erstellen
   moira_trigger:
      ...
      state: present
      ...  

Um bestehende Trigger zu löschen, verwende den Status 'absent':

 - name: Trigger entfernen
   moira_trigger:
      ...
      state: absent
      ...  
Über das Projekt

Ansible role to create, update and delete Moira triggers

Installieren
ansible-galaxy install moira-alert.moira-trigger-role
Lizenz
mit
Downloads
19.1k
Besitzer
Realtime alerting system based on Graphite data