Spec-Zone.ru › Ansible

Модуль community.general.icinga2_downtime — управление периодами простоя Icinga 2

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать её в плейбуке, укажите: community.general.icinga2_downtime.

Добавлено в community.general 12.4.0

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управляет периодами простоя в Icinga 2 через REST API.
  • Параметры описаны на странице https://icinga.com/docs/icinga-2/latest/doc/12-icinga2-api/#schedule-downtime.

Параметры

Параметр

Комментарии

all_services

логический

Следует ли создавать периоды простоя для всех служб сопоставленных объектов узлов.

Если параметр не указан, по умолчанию Icinga 2 не создаёт периоды простоя для всех служб сопоставленных объектов узлов.

Варианты:

  • false
  • true

author

строка

Имя автора.

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

ca_path

путь

Пакет сертификатов CA для проверки сертификата сервера Icinga 2.

child_options

строка

Запланировать периоды простоя для дочерних объектов.

Варианты:

  • "DowntimeNoChildren"
  • "DowntimeTriggeredChildren"
  • "DowntimeNonTriggeredChildren"

client_cert

путь

Файл цепочки сертификатов в формате PEM для аутентификации SSL-клиента.

Этот файл также может содержать ключ; если ключ включён в файл, client_key не требуется.

client_key

путь

Файл в формате PEM с закрытым ключом для аутентификации SSL-клиента.

Если client_cert содержит сертификат и ключ, этот параметр не требуется.

comment

строка

Описательный комментарий.

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

duration

целое число

Продолжительность периода простоя.

Обязательный параметр для гибкого периода простоя.

end_time

целое число

Время окончания периода простоя в формате временной метки UNIX.

filter

строка

Выражение фильтра, ограничивающее объекты, над которыми выполняется операция.

filter_vars

словарь

Имена и значения переменных, используемых в выражении фильтра.

fixed

логический

Является ли период простоя фиксированным или гибким.

Если параметр не указан, Icinga 2 по умолчанию создаёт фиксированный период простоя.

Варианты:

  • false
  • true

force

логический

Если yes, не получать кэшированную копию.

Варианты:

  • false ← (по умолчанию)
  • true

force_basic_auth

логический

Учётные данные, указанные с помощью url_username и url_password, следует передавать в заголовке HTTP.

Варианты:

  • false ← (по умолчанию)
  • true

http_agent

строка

Значение заголовка для идентификации; обычно отображается в журналах веб-сервера.

По умолчанию: "ansible-httpget"

name

строка

Имя объекта периода простоя.

Этот параметр не влияет на состояния, отличные от absent.

object_type

строка

Используйте Host для периода простоя узла и Service для периода простоя службы.

Используйте Downtime и укажите имя объекта периода простоя, который нужно удалить.

Варианты:

  • "Service"
  • "Host" ← (по умолчанию)
  • "Downtime"

start_time

целое число

Время начала периода простоя в формате временной метки UNIX.

state

строка

Состояние периода простоя.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

timeout

целое число

Время ожидания данных от сервера до прекращения ожидания.

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

trigger_name

строка

Имя триггера периода простоя.

url

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

URL REST API Icinga 2.

url_password

строка

Пароль для базовой HTTP-аутентификации.

Если параметр url_username не указан, параметр url_password использоваться не будет.

url_username

строка

Имя пользователя для базовой HTTP-аутентификации.

Этот параметр можно использовать без url_password на сайтах, допускающих пустые пароли.

use_gssapi

логический

добавлено в ansible-core 2.11

Использовать GSSAPI для аутентификации; обычно это Kerberos или Kerberos через аутентификацию Negotiate.

Требуется установить библиотеку Python gssapi.

Учётные данные GSSAPI можно указать с помощью url_username/url_password или переменной среды GSSAPI KRB5CCNAME, в которой задаётся пользовательский кэш учётных данных Kerberos.

Аутентификация NTLM не поддерживается, даже если установлен механизм GSSAPI для NTLM.

Варианты:

  • false ← (по умолчанию)
  • true

use_proxy

логический

Если no, прокси использоваться не будет, даже если он задан в переменной среды на целевых узлах.

Варианты:

  • false
  • true ← (по умолчанию)

validate_certs

логический

Если no, сертификаты SSL проверяться не будут.

Используйте этот параметр только на подконтрольных вам сайтах с самоподписанными сертификатами.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

При сложном выражении фильтра определить, успешно ли будет создан или удалён период простоя и приведёт ли это к изменению, может быть очень трудно.

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

diff_mode

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

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

Примеры

- name: Schedule a host downtime
  community.general.icinga2_downtime:
    url: "https://icinga2.example.com:5665"
    url_username: icingadmin
    url_password: secret
    state: present
    author: Ansible
    comment: Scheduled downtime for test purposes.
    all_services: true
    start_time: "{{ downtime_start_time }}"
    end_time: "{{ downtime_end_time }}"
    duration: "{{ downtime_duration }}"
    fixed: true
    object_type: Host
    filter: host.name=="host.example.com"
  delegate_to: localhost
  register: icinga2_downtime_response
  vars:
    downtime_start_time: "{{ ansible_date_time['epoch'] | int }}"
    downtime_end_time: "{{ downtime_start_time | int + 3600 }}"
    downtime_duration: "{{ downtime_end_time | int - downtime_start_time | int }}"

- name: Remove scheduled host downtime
  community.general.icinga2_downtime:
    url: "https://icinga2.example.com:5665"
    url_username: icingadmin
    url_password: secret
    state: absent
    author: Ansible
    object_type: Downtime
    name: "{{ icinga2_downtime_response.results[0].name }}"
  delegate_to: localhost
  when: icinga2_downtime_response.results | default([]) | length > 0

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

error

словарь

Сообщение об ошибке в виде словаря JSON, возвращённое API Icinga 2.

Возвращается: если планирование или удаление периода простоя завершилось неудачно

Пример: {"error": 404, "status": "No objects found."}

results

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

Результаты планирования или удаления периода простоя

Возвращается: при успехе

Пример: [{"code": 200, "legacy_id": 28911, "name": "host.example.com!e19c705a-54c2-49c5-8014-70ff624f9e51", "status": "Successfully scheduled downtime 'host.example.com!e19c705a-54c2-49c5-8014-70ff624f9e51' for object 'host.example.com'."}]

code

целое число

Код успешного выполнения или ошибки при планировании периода простоя.

Возвращается: всегда

Пример: 200

legacy_id

целое число

Устаревший идентификатор объекта периода простоя.

Возвращается: если период простоя успешно запланирован

Пример: 28911

name

строка

Имя объекта периода простоя.

Возвращается: если период простоя успешно запланирован

Пример: "host.example.com!e19c705a-54c2-49c5-8014-70ff624f9e51"

status

строка

Понятное пользователю сообщение с описанием результата планирования периода простоя.

Возвращается: всегда

Пример: "Successfully scheduled downtime 'host.example.com!e19c705a-54c2-49c5-8014-70ff624f9e51' for object 'host.example.com'."

Авторы

  • Christoph Fiehe (@cfiehe)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 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/icinga2_downtime_module.html

Spec-Zone.ru

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