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].

À propos du projet

Sets up default alarm definitions for Monasca

Installer
ansible-galaxy install stackhpc.monasca_default_alarms
Licence
apache-2.0
Téléchargements
324
Propriétaire
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.