stackhpc.monasca_default_alarms
alarmes-par-défaut-monasca
Ce rôle configure une définition d'alarme par défaut pour Monasca. Il fournit également des modules Ansible pour créer des définitions d'alarme et des notifications Monasca. Plus de détails sur les définitions d'alarme peuvent être trouvés dans la documentation de l'API Monasca
Exigences
Ansible >=2.8 est requis pour utiliser les fonctionnalités de ce rôle telles que les fragments de documentation.
À moins que monasca_api_url
ne soit fourni, il est supposé que le point de terminaison du service Monasca est correctement enregistré dans Keystone.
Variables du rôle
Ces variables doivent être définies. Si une variable d'environnement OS_ENV
équivalente est définie sur l'hôte de contrôle, elle sera
utilisée avec une priorité égale à celle d'une valeur par défaut.
keystone_url
(OS_AUTH_URL
)keystone_project
(OS_PROJECT_NAME
)
et soit
keystone_user
(OS_USERNAME
)keystone_password
(OS_PASSWORD
)
ou
keystone_token
monasca_api_url
Par défaut, les définitions d'alarme configurées seront mises en place avec une notification par e-mail à root@localhost
.
Changez la variable notification_address
pour envoyer des e-mails ailleurs.
Alternativement, si notification_type
est WEBHOOK
ou SLACK
, alors notification_address
spécifie l'URL :
notification_address: "https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZ"
notification_name: "Notification Slack par Défaut"
notification_type: "SLACK"
En outre, il y a deux variables optionnelles pour contrôler les alarmes créées :
skip_tasks
(liste)custom_alarms
(dictionnaire)
Voir l'exemple de playbook pour les champs custom_alarms
. Consultez tasks/main.yml
pour les options skip_tasks
.
Le rôle est responsable de l'installation de la dépendance python-monascaclient à l'intérieur d'un virtualenv.
L'emplacement par défaut du virtualenv est /opt/python-monascaclient
- puisque ce chemin nécessite généralement une élévation de privilèges, le rôle utilisera become: yes
pour le créer.
Changez le répertoire du virtualenv en utilisant monasca_client_virtualenv_dir: /foo
.
Désactivez l'élévation de privilèges en utilisant virtualenv_become: no
.
Exemple de Playbook
Placez le qui suit dans un fichier de playbook, en remplaçant les variables keystone_
par celles adaptées à votre déploiement OpenStack. Envisagez d'utiliser ansible-vault ou équivalent pour stocker keystone_password
.
- name: Définir les notifications d'alarme par défaut
hosts: monitoring
gather_facts: no
vars:
keystone_url: http://192.168.128.2:35357/v3/
keystone_user: admin
keystone_password: password
keystone_project: monasca_control_plane
skip_tasks: ["misc", "openstack", "monasca", "ceph"]
custom_alarms:
- name: "Pourcentage CPU Système Hôte"
description: "Alarmes lorsque le pourcentage CPU système est supérieur à 80 (exemple d'alarme personnalisée)"
expression: "cpu.system_perc{hostname=host.domain.com} > 80"
match_by: ['hostname']
roles:
- {role: stackhpc.monasca_default_alarms, tags: [alarms]}
Utilisation des Modules Monasca
Il y a deux modules disponibles dans le sous-répertoire de la bibliothèque, l'un pour les notifications Monasca et l'autre pour les définitions d'alarme. Par exemple :
- name: Configurer la méthode de notification par e-mail pour root
monasca_notification_method:
name: "E-mail Root"
type: 'EMAIL'
address: 'root@localhost'
keystone_url: "{{ keystone_url }}"
keystone_user: "{{ keystone_user }}"
keystone_password: "{{ keystone_password }}"
keystone_project: "{{ keystone_project }}"
register: default_notification
- name: Créer des Définitions d'Alarme Système
monasca_alarm_definition:
name: "Alarme Hôte Actif"
description: "Déclenche lorsqu'une vérification d'hôte actif échoue"
expression: "host_alive_status > 0"
keystone_url: "{{ keystone_url }}"
keystone_user: "{{ keystone_user }}"
keystone_password: "{{ keystone_password }}"
keystone_project: "{{ keystone_project }}"
monasca_api_url: "{{ default_notification.monasca_api_url }}"
severity: "HIGH"
alarm_actions:
- "{{ default_notification.notification_method_id }}"
ok_actions:
- "{{ default_notification.notification_method_id }}"
undetermined_actions:
- "{{ default_notification.notification_method_id }}"
Consultez la documentation du module pour plus de détails.
Licence
Apache
Informations sur l'Auteur
Créé à l'origine par Tim Kuhlman. Réécrit par Isaac Prior pour prendre en charge la nouvelle authentification Keystone.
Équipe Monasca IRC : #openstack-monasca
sur [email protected].
ansible-galaxy install stackhpc.monasca_default_alarms