moira-alert.moira-trigger-role
moira-trigger-role
Si vous êtes nouveau ici, il est préférable de consulter notre README.
Rôle Ansible pour créer, mettre à jour et supprimer des déclencheurs Moira basés sur python-moira-client.
Utilisation du rôle
Installation
Ansible Galaxy
ansible-galaxy install moira-alert.moira-trigger-role
Rôle Ansible avec Makefile
Placez le contenu de l'exemple dans votre Makefile pour télécharger le rôle depuis Ansible Galaxy
et créer un playbook pour gérer les déclencheurs avec des paramètres prédéfinis dans vos fichiers vars :
- name: gérer les déclencheurs moira
hosts: nomService
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
Remarque : Toutes les tâches doivent être effectuées depuis votre machine de contrôle Ansible.
Configuration
Prédéfinissez les paramètres suivants dans vos fichiers vars. Des exemples fonctionnels peuvent être trouvés ici.
Authentification
Paramètre | Description | Type | Obligatoire | Par défaut | Exemple |
---|---|---|---|---|---|
moira_api | URL de l'API Moira | Chaîne | Oui | N/A | http://localhost/api/ |
moira_auth_custom | En-têtes d'autorisation personnalisés | Dictionnaire | Non | Aucun | Authorization: apiKey |
moira_auth_user | Utilisateur d'authentification (authentification basique) | Chaîne | Non | Aucun | admin |
moira_auth_pass | Mot de passe d'authentification (authentification basique) | Chaîne | Non | Aucun | pass |
moira_auth_login | Login d'authentification (authentification basique) | Chaîne | Non | Aucun | admin |
Remarque : Utilisez moira_auth_custom si vous utilisez des mécanismes d'authentification supplémentaires au lieu de
d'une authentification basique unique, sinon utilisez moira_auth_user, moira_auth_pass et moira_auth_login.
moira_auth_login doit contenir une valeur pour l'en-tête X-Webauth-User.
État du déclencheur
Paramètre | Description | Type | Obligatoire | Choix | Par défaut | Exemple |
---|---|---|---|---|---|---|
state | État souhaité d'un déclencheur | Chaîne | Oui | présent absent |
N/A | présent |
id | ID du déclencheur | Chaîne | Oui | N/A | N/A | trigger_1 |
name | Nom du déclencheur | Chaîne | Oui | N/A | N/A | Déclencheur 1 |
tags | Liste des tags de déclencheur | Liste | Oui | N/A | N/A | - Projet - Service |
targets | Liste des cibles pour le déclencheur Voir les fonctions graphiques disponibles |
Liste | Oui | N/A | N/A | - prefix.*.postfix |
warn_value | Valeur pour un état WARN | Flottant | Non | N/A | Aucun | 300 |
error_value | Valeur pour un état ERROR | Flottant | Non | N/A | Aucun | 600 |
trigger_type | Type de déclencheur | Chaîne | Non | montante descendante expression |
N/A | montante |
expression | Expression de type C | Chaîne | Non | N/A | Chaîne vide | t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK) |
ttl | Lorsque les métriques ne sont pas disponibles pour le déclencheur, Moira changera l'état de la métrique en TTLState après un délai de TTL secondes | Entier | Non | N/A | 600 | 600 |
ttl_state | État du déclencheur à l'expiration du 'ttl' | Chaîne | Non | NODATA DEL ERROR WARN OK |
NODATA | WARN |
is_remote | Utiliser le stockage à distance. Obsolète, utilisez trigger_source à la place |
Booléen | Non | Vrai Faux |
Faux | Faux |
trigger_source | Spécifier la source du déclencheur, remplace is_remote | Chaîne | Non | graphite_local graphite_remote prometheus_remote |
Aucun | graphite_local |
cluster_id | Spécifier l'ID du cluster | Chaîne | Non | N/A | Aucun | par défaut |
desc | Description du déclencheur | Chaîne | Non | N/A | Chaine vide | description du test déclencheur |
mute_new_metrics | Si vrai, le premier événement NODATA → OK sera omis | Booléen | Non | Vrai Faux |
Faux | Faux |
disabled_days | Jours pendant lesquels le déclencheur sera en mode silencieux | Liste | Non | N/A | Liste vide | - Lun - Mer |
timezone_offset | Décalage horaire (minutes) | Entier | Non | N/A | 0 | -180 |
start_hour | Heure de début pour envoyer des alertes | Entier | Non | N/A | 0 | 9 |
start_minute | Minute de début pour envoyer des alertes | Entier | Non | N/A | 0 | 0 |
end_hour | Heure de fin pour envoyer des alertes | Entier | Non | N/A | 23 | 17 |
end_minute | Minute de fin pour envoyer des alertes | Entier | Non | N/A | 59 | 0 |
alone_metrics | Définir certaines cibles comme métriques uniques | Objet, exemple : | Non | N/A | {'t1': False, 't2': True, ... 'tN': True} | {'t1': False, 't2': False} |
Tâches du rôle
Gérer les dépendances
Tâche pour vérifier que python-moira-client est installé (via pip).
Gérer les déclencheurs
Utilisez l'état 'présent' pour créer et modifier des déclencheurs existants :
- name: créer un déclencheur
moira_trigger:
...
state: présent
...
Pour supprimer des déclencheurs existants, utilisez l'état 'absent' :
- name: supprimer un déclencheur
moira_trigger:
...
state: absent
...
Ansible role to create, update and delete Moira triggers
ansible-galaxy install moira-alert.moira-trigger-role