Spec-Zone.ru › Ansible 2.9

Плагины обратного вызова

  • Примеры плагинов обратного вызова
  • Включение плагинов обратного вызова
  • Установка плагина обратного вызова для ansible-playbook
  • Установка плагина обратного вызова для ад-хок команд
  • Список плагинов

Плагины обратного вызова позволяют добавлять новые возможности в Ansible при реагировании на события. По умолчанию, плагины обратного вызова управляют большей частью вывода, который вы видите при запуске командной строки, но также могут быть использованы для добавления дополнительного вывода, интеграции с другими инструментами и обработки событий для хранения в базе данных.

Примеры плагинов обратного вызова

Плагин обратного вызова log_plays является примером записи событий playbook в файл журнала, а плагин mail отправляет электронные письма при сбоях в playbook.

Плагин say отвечает с помощью синтезированной речи компьютера в связи с событиями playbook.

Включение плагинов обратного вызова

Вы можете активировать пользовательский плагин обратного вызова, поместив его в каталог callback_plugins рядом с вашим playbook, внутри роли или в одном из каталогов плагинов обратного вызова, настроенных в ansible.cfg.

Плагины загружаются в алфавитном порядке. Например, плагин, реализованный в файле с именем 1_first.py будет выполняться до файла плагина с именем 2_second.py.

Большинство плагинов обратного вызова, поставляемых с Ansible, по умолчанию отключены и должны быть включены в ваш файл ansible.cfg, чтобы работать. Например:

#callback_whitelist = timer, mail, profile_roles, collection_namespace.collection_name.custom_callback

Установка плагина обратного вызова для ansible-playbook

Вы можете иметь только один плагин в качестве основного менеджера вывода консоли. Если вы хотите заменить стандартный, вы должны определить CALLBACK_TYPE = stdout в подклассе, а затем настроить плагин stdout в ansible.cfg. Например:

stdout_callback = dense

или для моего пользовательского плагина обратного вызова:

stdout_callback = mycallback

Это влияет только на ansible-playbook по умолчанию.

Установка плагина обратного вызова для ад-хок команд

Команда ansible ad hoc специально использует другой плагин обратного вызова для stdout, поэтому в Настройки конфигурации Ansible есть дополнительная настройка, которую нужно добавить, чтобы использовать плагин stdout, определённый выше:

[defaults]
bin_ansible_callbacks=True

Вы также можете установить это как переменную окружения:

export ANSIBLE_LOAD_CALLBACK_PLUGINS=1

Список плагинов

Вы можете использовать ansible-doc -t callback -l для просмотра списка доступных плагинов. Используйте ansible-doc -t callback <plugin name> для просмотра конкретных документов и примеров.

  • actionable – отображает только элементы, требующие внимания
  • aws_resource_actions – обобщает все выполненные действия «resource:actions»
  • cgroup_memory_recap – Профилирует максимальное использование памяти задачами и полное выполнение с помощью cgroup
  • cgroup_perf_recap – Профилирует системную активность задач и полное выполнение с помощью cgroup
  • context_demo – демонстрационный плагин обратного вызова, добавляющий контекст playbook/задачи
  • counter_enabled – добавляет счетчики к элементам вывода (задачи и хосты/задачи)
  • debug – отформатированный вывод stdout/stderr
  • default – стандартный вывод Ansible в консоль
  • dense – минимальный вывод stdout
  • foreman – Отправляет события в Foreman
  • full_skip – подавляет задачи, если все хосты пропустили
  • grafana_annotations – отправляет события ansible как аннотации на графики в grafana через http-api
  • hipchat – отправляет события о выполнении задач в hipchat
  • jabber – отправляет события о выполнении задач на сервер jabber
  • json – вывод Ansible в консоли в формате JSON
  • junit – запись вывода playbook в файл JUnit
  • log_plays – запись вывода playbook в файл журнала
  • logdna – Отправляет журналы playbook в LogDNA
  • logentries – Отправляет события в Logentries
  • logstash – Отправляет события в Logstash
  • mail – Отправка событий об ошибках по электронной почте
  • minimal – минимальный вывод Ansible в консоль
  • nrdp – отправляет результат задачи на сервер nagios через nrdp
  • null – не отображать ничего на экране
  • oneline – вывод Ansible в консоли в одну строку
  • osx_say – уведомления с помощью программного синтезатора речи
  • profile_roles – добавляет информацию о времени выполнения ролей
  • profile_tasks – добавляет информацию о времени выполнения задач
  • say – уведомления с помощью программного синтезатора речи
  • selective – вывод только определённых задач
  • skippy – вывод Ansible в консоли, игнорирующий пропущенный статус
  • slack – Отправляет события playbook в канал Slack
  • splunk – Отправляет события результата задачи в Splunk HTTP Event Collector
  • stderr – разделяет вывод, отправляя неудачные задачи в stderr
  • sumologic – Отправляет события результата задачи в Sumologic
  • syslog_json – отправляет события JSON в syslog
  • timer – Добавляет время к статистике playbook
  • tree – Сохраняет события хостов в файлы
  • unixy – сокращённый вывод Ansible
  • yaml – вывод Ansible в консоли в формате YAML

См. также

Плагины действий
Плагины действий Ansible
Плагины кэша
Плагины кэша Ansible
Плагины подключения
Плагины подключения Ansible
Плагины инвентаризации
Плагины инвентаризации Ansible
Плагины оболочки
Плагины оболочки Ansible
Плагины стратегии
Плагины стратегии Ansible
Плагины переменных
Плагины переменных Ansible
Список рассылки пользователей
У вас есть вопрос? Загляните в группу google!
webchat.freenode.net
#ansible IRC-чат канал

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/plugins/callback.html

Spec-Zone.ru

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