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.
ansible-galaxy install stackhpc.monasca_default_alarms