Модуль community.general.nagios — выполнение распространённых задач в Nagios, связанных с периодами недоступности и уведомлениями
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.nagios.
Краткое описание
- Модуль
nagiosвыполняет две основные функции: планирует периоды недоступности и включает или отключает оповещения для служб или хостов. - Модуль
nagiosне является идемпотентным. - Для всех действий необходимо явно указать параметр
host. В плейбуках можно использовать переменную{{inventory_hostname}}, чтобы сослаться на хост, на котором в данный момент выполняется плейбук. - Модуль выполняет команды и должен запускаться непосредственно на сервере Nagios от имени пользователя с соответствующими правами доступа. Он не использует HTTP API Nagios.
- Модуль ищет файл nagios.cfg в каталогах /etc/nagios, /etc/nagios2, /etc/nagios3, /usr/local/etc/nagios, /usr/local/groundwork/nagios/etc, /omd/sites/oppy/tmp/nagios, /usr/local/nagios/etc, /usr/local/nagios, /opt/nagios/etc и /opt/nagios, либо файл icinga.cfg в каталогах /etc/icinga и /usr/local/icinga/etc. (Файл конфигурации Nagios должен быть доступен для чтения пользователю Ansible.)
Параметры
Параметр | Комментарии |
|---|---|
action строка / обязательный | Выполняемое действие. Действия Варианты:
|
author строка | Автор, от имени которого будут добавляться комментарии к периоду недоступности. Используется только, если По умолчанию: |
cmdfile строка | Путь к файлу команд Nagios (FIFO-каналу). Требуется только в случае сбоя автоматического определения. |
command строка | Необработанная команда для отправки в Nagios. В неё не следует включать заголовок с временем отправки или символ перевода строки. Обязательный параметр при |
comment строка | Комментарий, если По умолчанию: |
host строка | Хост Nagios, для которого выполняется действие. |
minutes целое число | Продолжительность периода недоступности в минутах. Можно использовать только с По умолчанию: |
servicegroup строка | Группа служб, для которой нужно установить периоды недоступности или параметры оповещений. Обязательный параметр при использовании действий |
services псевдонимы: service список / элементы=строка | Объекты, для которых нужно управлять периодами недоступности или оповещениями. Несколько служб указываются через запятую. Обязательный параметр, если При указании объекта До community.general 11.2.0 можно было указать несколько служб одновременно, разделив их запятыми, например |
start строка добавлено в community.general 0.2.0 | Время начала периода недоступности в формате |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Можно выполнить в режиме |
diff_mode | Поддержка: нет | В режиме сравнения показывает, что изменилось (или что, возможно, нужно изменить в |
Примеры
- 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/nagios_module.html