stackhpc.monasca_default_alarms

monasca-standard-alarm

Diese Rolle richtet eine Standardalarmdefinitionskonfiguration für Monasca ein. Sie bietet außerdem Ansible-Module zur Erstellung von Monasca-Alarmschreibweisen und -benachrichtigungen. Weitere Details zu Alarmdefinitionen finden Sie in der
Monasca API-Dokumentation.

Anforderungen

Ansible >=2.8 wird benötigt, um Funktionen in dieser Rolle, wie z.B. Dokumentfragmente, zu nutzen. Es wird davon ausgegangen, dass der Dienstendpunkt für Monasca ordnungsgemäß in Keystone registriert ist, es sei denn, es wird eine monasca_api_url bereitgestellt.

Rollenvariablen

Diese Variablen müssen definiert werden. Wenn eine entsprechende OS_ENV-Umgebungsvariable auf dem Steuerungs-Host definiert ist, wird sie mit Vorrang vor dem Standard verwendet.

  • keystone_url (OS_AUTH_URL)
  • keystone_project (OS_PROJECT_NAME)

und entweder

  • keystone_user (OS_USERNAME)
  • keystone_password (OS_PASSWORD)

oder

  • keystone_token
  • monasca_api_url

Standardmäßig werden die konfigurierten Alarmdefinitionen mit einer E-Mail-Benachrichtigung an root@localhost eingerichtet. Ändern Sie die Variable notification_address, um E-Mails anderswohin zu senden. Alternativ, falls notification_type WEBHOOK oder SLACK ist, gibt notification_address die URL an:

notification_address: "https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZ"
notification_name: "Standard Slack Benachrichtigung"
notification_type: "SLACK"

Zusätzlich gibt es zwei optionale Variablen, um die erstellten Alarme zu steuern:

  • skip_tasks (Liste)
  • custom_alarms (Dictionary)

Siehe Beispiel-Playbook für custom_alarms-Felder. Siehe tasks/main.yml für Optionen zu skip_tasks.

Die Rolle ist verantwortlich für die Installation der Abhängigkeit python-monascaclient in einer virtuellen Umgebung. Der Standardort der virtuellen Umgebung ist /opt/python-monascaclient - da dieser Pfad normalerweise eine Privilegienerhöhung erfordert, verwendet die Rolle become: yes, um sie zu erstellen. Ändern Sie das Verzeichnis der virtuellen Umgebung mit monasca_client_virtualenv_dir: /foo. Deaktivieren Sie die Privilegienerhöhung mit virtualenv_become: no.

Beispiel-Playbook

Platzieren Sie Folgendes in einer Playbook-Datei und ersetzen Sie die keystone_-Variablen durch geeignete für Ihre OpenStack-Bereitstellung. Erwägen Sie die Verwendung von ansible-vault oder Ähnlichem, um keystone_password zu speichern.

- name: Standardalarmbenachrichtigungen definieren
  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: "Host CPU System Prozent"
        description: "Alarmiert, wenn der System-CPU-Prozentsatz über 80 liegt (Beispiel für einen benutzerdefinierten Alarm)"
        expression: "cpu.system_perc{hostname=host.domain.com} > 80"
        match_by: ['hostname']
  roles:
    - {role: stackhpc.monasca_standard_alarms, tags: [alarms]}

Verwendung der Monasca-Module

Es gibt zwei Module im Bibliotheksunterverzeichnis, eines für Monasca-Benachrichtigungen und das andere für Alarmdefinitionen. Zum Beispiel:

- name: Root-E-Mail-Benachrichtigung einrichten
  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: System-Alarmdefinitionen erstellen
  monasca_alarm_definition:
    name: "Host Alive Alarm"
    description: "Trigger, wenn ein Host-Lebenszeichen-Check fehlschlägt"
    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 }}"

Siehe die Dokumentation innerhalb des Moduls für vollständige Details.

Lizenz

Apache

Autoreninformationen

Ursprünglich erstellt von Tim Kuhlman. Umgeschrieben von Isaac Prior zur Unterstützung neuer Keystone-Authentifizierung.

Monasca-Team IRC: #openstack-monasca auf [email protected].

Über das Projekt

Sets up default alarm definitions for Monasca

Installieren
ansible-galaxy install stackhpc.monasca_default_alarms
GitHub Repository
Lizenz
apache-2.0
Downloads
324
Besitzer
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.