Spec-Zone.ru › Ansible

Модуль 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

строка / обязательный

Выполняемое действие.

Действия acknowledge и forced_check добавлены в community.general 1.2.0.

Варианты:

  • "downtime"
  • "delete_downtime"
  • "enable_alerts"
  • "disable_alerts"
  • "silence"
  • "unsilence"
  • "silence_nagios"
  • "unsilence_nagios"
  • "command"
  • "servicegroup_service_downtime"
  • "servicegroup_host_downtime"
  • "acknowledge"
  • "forced_check"

author

строка

Автор, от имени которого будут добавляться комментарии к периоду недоступности. Используется только, если action равно downtime или acknowledge.

По умолчанию: "Ansible"

cmdfile

строка

Путь к файлу команд Nagios (FIFO-каналу). Требуется только в случае сбоя автоматического определения.

command

строка

Необработанная команда для отправки в Nagios. В неё не следует включать заголовок с временем отправки или символ перевода строки.

Обязательный параметр при action=command.

comment

строка

Комментарий, если action равно downtime или acknowledge.

По умолчанию: "Scheduling downtime"

host

строка

Хост Nagios, для которого выполняется действие.

minutes

целое число

Продолжительность периода недоступности в минутах.

Можно использовать только с action=downtime.

По умолчанию: 30

servicegroup

строка

Группа служб, для которой нужно установить периоды недоступности или параметры оповещений.

Обязательный параметр при использовании действий servicegroup_service_downtime и servicegroup_host_downtime action.

services

псевдонимы: service

список / элементы=строка

Объекты, для которых нужно управлять периодами недоступности или оповещениями. Несколько служб указываются через запятую.

Обязательный параметр, если action имеет одно из значений: downtime, acknowledge, forced_check, enable_alerts, disable_alerts.

При указании объекта services для обработки предусмотрено специальное значение службы — host. Оно управляет оповещениями, периодами недоступности и подтверждениями для самого хоста, например services=host. Это ключевое слово нельзя одновременно указывать вместе с другими службами. Настройка оповещений, периодов недоступности или подтверждений для хоста не влияет на оповещения, периоды недоступности или подтверждения для служб, работающих на нём. Чтобы запланировать период недоступности для всех services на определённом хосте, используйте ключевое слово all, например services=all.

До community.general 11.2.0 можно было указать несколько служб одновременно, разделив их запятыми, например services=httpd,nfs,puppet. Начиная с community.general 11.2.0, вокруг запятых могут быть пробелы, а также можно передать настоящий список.

start

строка

добавлено в community.general 0.2.0

Время начала периода недоступности в формате time_t (секунды эпохи).

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: нет

Можно выполнить в режиме check_mode и получить прогноз статуса изменений без изменения целевого объекта.

diff_mode

Поддержка: нет

В режиме сравнения показывает, что изменилось (или что, возможно, нужно изменить в check_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API