Плагины обратного вызова
- Примеры плагинов обратного вызова
- Включение плагинов обратного вызова
- Установка плагина обратного вызова для
ansible-playbook - Установка плагина обратного вызова для ад-хок команд
- Список плагинов
Плагины обратного вызова позволяют добавлять новые возможности в Ansible при реагировании на события. По умолчанию плагины обратного вызова контролируют большую часть выводимой информации при выполнении командной строки, но также могут использоваться для добавления дополнительного вывода, интеграции с другими инструментами и передачи событий в хранилище.
Примеры плагинов обратного вызова
Плагин log_plays — пример записи событий playbook в файл журнала, а плагин mail отправляет электронные письма при сбоях в playbook.
Плагин say отвечает синтезированной речью компьютера в отношении событий playbook.
Включение плагинов обратного вызова
Вы можете активировать пользовательский плагин обратного вызова, поместив его в директорию callback_plugins рядом с вашей игрой, внутри роли или в одном из каталогов callback, настроенных в ansible.cfg.
Плагины загружаются в алфавитном порядке. Например, плагин, реализованный в файле с именем 1_first.py, будет выполняться перед файлом плагина с именем 2_second.py.
Большинство плагинов обратного вызова, поставляемых с Ansible, по умолчанию отключены и должны быть включены в вашем файле ansible.cfg для работы. Например:
#callback_whitelist = timer, mail, profile_roles
Установка плагина обратного вызова для ansible-playbook
Вы можете иметь только один плагин, который является основным менеджером вашего консольного вывода. Если вы хотите заменить стандартный, вы должны определить CALLBACK_TYPE = stdout в подклассе, а затем настроить плагин stdout в ansible.cfg. Например:
stdout_callback = dense
или для моего пользовательского плагина обратного вызова:
stdout_callback = mycallback
Это влияет только на ansible-playbook по умолчанию.
Установка плагина обратного вызова для ад-хок команд
Команда ansible ад-хок специально использует другой плагин обратного вызова для stdout, поэтому есть дополнительная настройка в Ansible Configuration Settings, которую нужно добавить, чтобы использовать плагин обратного вызова 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 — демонстрационный плагин обратного вызова, добавляющий контекст игры/задачи
- 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 — Отправка событий игры в канал 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
- Список рассылки пользователей
- У вас есть вопрос? Обратитесь к сообществу!
- webchat.freenode.net
- IRC-чат-канал #ansible
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/plugins/callback.html