Плагины обратного вызова
Плагины обратного вызова позволяют добавлять новые возможности в Ansible при реагировании на события. По умолчанию плагины обратного вызова контролируют большую часть вывода, который вы видите при запуске командной строки, но также могут быть использованы для добавления дополнительного вывода, интеграции с другими инструментами и передачи событий в хранилище.
Примеры плагинов обратного вызова
Плагин обратного вызова _plays — пример записи событий выполнения сценария в файл журнала, а плагин обратного вызова mail отправляет электронное письмо при ошибках сценария.
Плагин обратного вызова osx_say отвечает компьютерным синтезированным голосом на macOS в отношении событий выполнения сценария.
Включение плагинов обратного вызова
Вы можете активировать пользовательский плагин обратного вызова, поместив его в каталог callback_plugins рядом с вашим сценарием, внутри роли или в одном из каталогов источников плагинов обратного вызова, настроенных в ansible.cfg.
Плагины загружаются в алфавитном порядке. Например, плагин, реализованный в файле с именем 1_first.py будет выполняться раньше, чем плагин в файле с именем 2_second.py.
Большинство плагинов обратного вызова, поставляемых с Ansible, по умолчанию отключены и должны быть включены в вашем файле ansible.cfg, чтобы они работали. Например:
#callback_whitelist = timer, mail, profile_roles
Управление stdout
Вы можете иметь только один плагин, являющийся основным менеджером вывода в консоль. Если вы хотите заменить стандартный, вы должны определить CALLBACK_TYPE = stdout в подклассе, а затем настроить плагин stdout в ansible.cfg. Например:
stdout_callback = dense
или для моего пользовательского плагина обратного вызова:
stdout_callback = mycallback
Это влияет только на ansible-playbook по умолчанию.
Управление AdHoc
Команда Ansible 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 — отображает только элементы, требующие внимания
- cgroup_memory_recap — Профилирует максимальное использование памяти задачами и полное выполнение с использованием cgroups
- context_demo — демонстрационный плагин обратного вызова, который добавляет контекст сценария/задачи
- 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 — записывает выходные данные сценария в файл JUnit.
- log_plays — записывает выходные данные сценария в файл журнала
- logdna — Отправляет журналы сценария в LogDNA
- logentries — Отправляет события в Logentries
- logstash — Отправляет события в Logstash
- mail — Отправляет события об ошибках по электронной почте
- minimal — минимальный вывод Ansible в консоль
- null — Не отображать ничего в консоль
- oneline — вывод Ansible в консоль в одну строку
- osx_say — вывод Ansible в консоль в одну строку
- profile_roles — добавляет информацию о времени выполнения ролей
- profile_tasks — добавляет информацию о времени выполнения задач
- selective — выводит только определённые задачи
- skippy — вывод Ansible в консоль, игнорирующий пропущенные статусы
- slack — Отправляет события сценария в канал Slack
- splunk — Отправляет события результатов задач в Splunk HTTP Event Collector
- stderr — Разделяет вывод, отправляя неудавшиеся задачи в stderr
- sumologic — Отправляет события результатов задач в Sumologic
- syslog_json — отправляет события в формате JSON в syslog
- timer — Добавляет время к статистике сценария
- 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.7/plugins/callback.html