stackhpc.monasca_default_alarms

monasca-domy-alarms

Ten zestaw będzie konfigurować domyślną definicję alarmów dla Monasca. Zapewnia również moduły Ansible do tworzenia definicji alarmów Monasca i powiadomień.

Więcej informacji na temat definicji alarmów można znaleźć w dokumentacji API Monasca.

Wymagania

Aby skorzystać z funkcji w tym zestawie, potrzebna jest wersja Ansible >=2.8. Jeśli nie podano monasca_api_url, zakłada się, że punkt końcowy dla Monasca jest prawidłowo zarejestrowany w keystone.

Zmienne Zestawu

Te zmienne muszą być zdefiniowane. Jeśli na hoście kontrolnym zdefiniowano równoważną zmienną środowiskową OS_ENV, będzie ona używana z priorytetem równym domyślnej.

  • keystone_url (OS_AUTH_URL)
  • keystone_project (OS_PROJECT_NAME)

i jedna z opcji

  • keystone_user (OS_USERNAME)
  • keystone_password (OS_PASSWORD)

lub

  • keystone_token
  • monasca_api_url

Domyślnie skonfigurowane definicje alarmów będą mieć powiadomienie e-mail do root@localhost. Zmień zmienną notification_address, aby wysłać e-mail w inne miejsce. Alternatywnie, jeśli notification_type to WEBHOOK lub SLACK, wtedy notification_address określa URL:

notification_address: "https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZ"
notification_name: "Domyślne powiadomienie Slack"
notification_type: "SLACK"

Dodatkowo są dwie opcjonalne zmienne do kontrolowania tworzonych alarmów:

  • skip_tasks (lista)
  • custom_alarms (słownik)

Zobacz przykład pliku playbook dla pól custom_alarms. Zobacz tasks/main.yml dla opcji skip_tasks.

Zestaw jest odpowiedzialny za zainstalowanie zależności python-monascaclient wewnątrz virtualenv. Domyślna lokalizacja virtualenv to /opt/python-monascaclient - ponieważ ta ścieżka zazwyczaj wymaga podwyższenia uprawnień, zestaw użyje become: yes, aby ją utworzyć. Zmień katalog virtualenv używając monasca_client_virtualenv_dir: /foo. Wyłącz podwyższenie uprawnień za pomocą virtualenv_become: no.

Przykładowy Playbook

Umieść poniższe w pliku playbook, zastępując zmienne keystone_ odpowiednimi dla swojej instalacji OpenStack. Rozważ użycie ansible-vault lub równoważnego narzędzia do przechowywania keystone_password.

- name: Zdefiniuj domyślne powiadomienia alarmowe
  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: "Procent CPU systemowego hosta"
        description: "Alarmy, gdy procent CPU systemowego jest wyższy niż 80 (przykładowy niestandardowy alarm)"
        expression: "cpu.system_perc{hostname=host.domain.com} > 80"
        match_by: ['hostname']
  roles:
    - {role: stackhpc.monasca_default_alarms, tags: [alarms]}

Użycie modułów Monasca

W bibliotece znajdują się dwa moduły, jeden do powiadomień Monasca, a drugi do definicji alarmów. Na przykład:

- name: Ustaw metodę powiadamiania e-mail dla root
  monasca_notification_method:
    name: "Email 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: Utwórz definicje alarmów systemowych
  monasca_alarm_definition:
    name: "Alarm Alive Host"
    description: "Wyzwalacz, gdy kontrola stanu hosta się nie powiedzie"
    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 }}"

Zapoznaj się z dokumentacją wewnątrz modułu, aby uzyskać pełne szczegóły.

Licencja

Apache

Informacje o autorze

Pierwotnie stworzony przez Tima Kuhlman. Przeredagowany przez Isaaca Priora, aby wspierać nową autoryzację Keystone.

Zespół Monasca IRC: #openstack-monasca na freenode.netmonasca@lists.launchpad.net.

O projekcie

Sets up default alarm definitions for Monasca

Zainstaluj
ansible-galaxy install stackhpc.monasca_default_alarms
Licencja
apache-2.0
Pobrania
324
Właściciel
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.