community.general.nagios – Выполнение общих задач в Nagios, связанных с простоями и уведомлениями.
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.nagios.
Описание
- Модуль
nagiosимеет две основные функции: планирование простоев и переключение уведомлений для служб или хостов. - Модуль
nagiosне является идемпотентным. - Все действия требуют явного указания параметра host. В книгах задач вы можете использовать переменную
{{inventory_hostname}}, чтобы сослаться на хост, на котором в данный момент выполняется книга задач. - Вы можете указать несколько служб одновременно, разделяя их запятыми, например:
services=httpd,nfs,puppet. - При указании службы для обработки есть специальное значение host, которое будет обрабатывать уведомления/простои/подтверждения для самого хоста, например,
service=host. Это ключевое слово не может быть указано вместе с другими службами. Установка уведомлений/простоев/подтверждений для хоста не влияет на уведомления/простои/подтверждения для любых служб, работающих на нём. Чтобы запланировать простой для всех служб на конкретном хосте, используйте ключевое слово “all”, например,service=all.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action строка / обязательно |
| Действие, которое нужно выполнить. Опции servicegroup добавлены в версии 2.0. Опции delete_downtime добавлены в версии 2.2. Действия acknowledge и forced_check добавлены в community.general 1.2.0. |
| author строка | Значение по умолчанию: "Ansible" | Автор, чьи комментарии к простоям будут оставлены. Используется только с действиями downtime и acknowledge. |
| cmdfile строка | Путь к файлу команд Nagios (FIFO-пайп). Требуется только в случае неудачного автоматического определения. | |
| command строка | Сырая команда для отправки в Nagios, которая не должна включать заголовок времени отправки или символ новой строки. Обязательное поле при использовании действия command. | |
| comment строка | Значение по умолчанию: "Планирование простоя" | Комментарий для действий downtime и acknowledge. |
| host строка | Хост, на котором нужно выполнить операцию в Nagios. | |
| minutes целое число | Значение по умолчанию: 30 | Минут, на которые запланировать простой. Используется только с действием downtime. |
| servicegroup строка | Группа служб, для которой нужно настроить простои/уведомления. Обязательное поле при использовании действий servicegroup_service_downtime и servicegroup_host_downtime. | |
| services строка | Объекты, для которых нужно настроить простои/уведомления. Разделяйте несколько служб запятыми. service является псевдонимом для services. Обязательное поле при использовании действий downtime, acknowledge, forced_check, enable_alerts, и disable_alerts.псевдонимы: service | |
| start строка добавлен в версии 0.2.0 community.general | Время начала простоя в формате time_t (секунды с начала эпохи). |
Примеры
- name: Set 30 minutes of apache downtime
community.general.nagios:
action: downtime
minutes: 30
service: httpd
host: '{{ inventory_hostname }}'
- name: Schedule an hour of HOST downtime
community.general.nagios:
action: downtime
minutes: 60
service: host
host: '{{ inventory_hostname }}'
- name: Schedule an hour of HOST downtime starting at 2019-04-23T02:00:00+00:00
community.general.nagios:
action: downtime
start: 1555984800
minutes: 60
service: host
host: '{{ inventory_hostname }}'
- name: Schedule an hour of HOST downtime, with a comment describing the reason
community.general.nagios:
action: downtime
minutes: 60
service: host
host: '{{ inventory_hostname }}'
comment: Rebuilding machine
- name: Schedule downtime for ALL services on HOST
community.general.nagios:
action: downtime
minutes: 45
service: all
host: '{{ inventory_hostname }}'
- name: Schedule downtime for a few services
community.general.nagios:
action: downtime
services: frob,foobar,qeuz
host: '{{ inventory_hostname }}'
- name: Set 30 minutes downtime for all services in servicegroup foo
community.general.nagios:
action: servicegroup_service_downtime
minutes: 30
servicegroup: foo
host: '{{ inventory_hostname }}'
- name: Set 30 minutes downtime for all host in servicegroup foo
community.general.nagios:
action: servicegroup_host_downtime
minutes: 30
servicegroup: foo
host: '{{ inventory_hostname }}'
- name: Delete all downtime for a given host
community.general.nagios:
action: delete_downtime
host: '{{ inventory_hostname }}'
service: all
- name: Delete all downtime for HOST with a particular comment
community.general.nagios:
action: delete_downtime
host: '{{ inventory_hostname }}'
service: host
comment: Planned maintenance
- name: Acknowledge an HOST with a particular comment
community.general.nagios:
action: acknowledge
service: host
host: '{{ inventory_hostname }}'
comment: 'power outage - see casenr 12345'
- name: Acknowledge an active service problem for the httpd service with a particular comment
community.general.nagios:
action: acknowledge
service: httpd
host: '{{ inventory_hostname }}'
comment: 'service crashed - see casenr 12345'
- name: Reset a passive service check for snmp trap
community.general.nagios:
action: forced_check
service: snmp
host: '{{ inventory_hostname }}'
- name: Force an active service check for the httpd service
community.general.nagios:
action: forced_check
service: httpd
host: '{{ inventory_hostname }}'
- name: Force an active service check for all services of a particular host
community.general.nagios:
action: forced_check
service: all
host: '{{ inventory_hostname }}'
- name: Force an active service check for a particular host
community.general.nagios:
action: forced_check
service: host
host: '{{ inventory_hostname }}'
- name: Enable SMART disk alerts
community.general.nagios:
action: enable_alerts
service: smart
host: '{{ inventory_hostname }}'
- name: Disable httpd and nfs alerts
community.general.nagios:
action: disable_alerts
service: httpd,nfs
host: '{{ inventory_hostname }}'
- name: Disable HOST alerts
community.general.nagios:
action: disable_alerts
service: host
host: '{{ inventory_hostname }}'
- name: Silence ALL alerts
community.general.nagios:
action: silence
host: '{{ inventory_hostname }}'
- name: Unsilence all alerts
community.general.nagios:
action: unsilence
host: '{{ inventory_hostname }}'
- name: Shut up nagios
community.general.nagios:
action: silence_nagios
- name: Annoy me negios
community.general.nagios:
action: unsilence_nagios
- name: Command something
community.general.nagios:
action: command
command: DISABLE_FAILURE_PREDICTION
Авторы
- Tim Bielawa (@tbielawa)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/nagios_module.html