Callback プラグイン¶
callback プラグインを使用すると、イベントの応答時に、Ansible に新たな動作を追加できます。 デフォルトでは、コールバックプラグインは、コマンドラインプログラムの実行時に表示されるほとんどの出力を制御します。 ただし、出力を追加して他のツールと統合し、イベントをストレージバックエンドにまとめるために使用することもできます。
Ansible callback プラグイン¶
log_plays コールバックは、Playbook イベントをログファイルに記録する方法の例になります。 メール コールバックにより、Playbook の失敗時にメールが送信されます。
また、say コールバックは、Playbook のイベントに関連するコンピューターによる音声合成に応答します。
callback プラグインの有効化¶
カスタムの callback を有効にするには、カスタムのプラグインを、ロール内の Play の隣りにある callback_plugins
ディレクトリーに配置するか、ansible.cfg で設定した callback ディレクトリーソースの 1 つに配置します。
プラグインは、アルファベット順に読み込まれます。たとえば、1_first.py という名前で実装されているプラグインは、2_second.py とう名前のプラグインファイルより先に実行されます。
Ansible に同梱されるほとんどの callback プラグインはデフォルトで無効にされており、このプラグインを機能させるには、ansible.cfg ファイルでホワイトリスト化する必要があります。以下に例を示します。
#callback_whitelist = timer, mail, profile_roles, collection_namespace.collection_name.custom_callback
ansible-playbook
の callback プラグインの設定¶
コンソールの出力の主要マネージャーとして指定できるプラグインは 1 つだけです。デフォルトを置き換える場合は、サブクラスに CALLBACK_TYPE = stdout を定義して、ansible.cfg に stdout プラグインを設定する必要があります。以下に例を示します。
stdout_callback = dense
または、カスタムのコールバックの場合は以下を実行します。
stdout_callback = mycallback
デフォルトでは、この設定は ansible-playbook にだけ影響があります。
ad-hoc コマンドへの callback プラグインの設定¶
ansible の ad hoc コマンドは、特に標準出力 (stdout) に異なるコールバックプラグインを使用します。 したがって、Ansible Configuration Settings には、上記のように定義した標準出力コールバックを使用するように追加の設定が必要です。
[defaults]
bin_ansible_callbacks=True
これを環境変数として設定することもできます。
export ANSIBLE_LOAD_CALLBACK_PLUGINS=1
プラグイン一覧¶
ansible-doc -t callback -l
を使用すると、利用可能なプラグインの一覧を表示できます。
特定のドキュメントと例を参照する場合には、ansible-doc -t callback <plugin name>
を使用してください。
- actionable – shows only items that need attention
- aws_resource_actions – summarizes all “resource:actions” completed
- cgroup_memory_recap – Profiles maximum memory usage of tasks and full execution using cgroups
- cgroup_perf_recap – Profiles system activity of tasks and full execution using cgroups
- context_demo – demo callback that adds play/task context
- counter_enabled – adds counters to the output items (tasks and hosts/task)
- debug – formatted stdout/stderr display
- default – default Ansible screen output
- dense – minimal stdout output
- foreman – Sends events to Foreman
- full_skip – suppresses tasks if all hosts skipped
- grafana_annotations – send ansible events as annotations on charts to grafana over http api
- hipchat – post task events to hipchat
- jabber – post task events to a jabber server
- json – Ansible screen output as JSON
- junit – write playbook output to a JUnit file
- log_plays – write playbook output to log file
- logdna – Sends playbook logs to LogDNA
- logentries – Sends events to Logentries
- logstash – Sends events to Logstash
- mail – Sends failure events via email
- minimal – minimal Ansible screen output
- nrdp – post task result to a nagios server through nrdp
- null – Don’t display stuff to screen
- oneline – oneline Ansible screen output
- osx_say – notify using software speech synthesizer
- profile_roles – adds timing information to roles
- profile_tasks – adds time information to tasks
- say – notify using software speech synthesizer
- selective – only print certain tasks
- skippy – Ansible screen output that ignores skipped status
- slack – Sends play events to a Slack channel
- splunk – Sends task result events to Splunk HTTP Event Collector
- stderr – Splits output, sending failed tasks to stderr
- sumologic – Sends task result events to Sumologic
- syslog_json – sends JSON events to syslog
- timer – Adds time to play stats
- tree – Save host events to files
- unixy – condensed Ansible output
- yaml – yaml-ized Ansible screen output
See also
- Action プラグイン
- Ansible Action プラグイン
- Cache プラグイン
- Ansible Cache プラグイン
- Connection プラグイン
- Ansible connection プラグイン
- inventory プラグイン
- Ansible inventory プラグインの使用
- Shell プラグイン
- Ansible Shell プラグイン
- Strategy プラグイン
- Ansible Strategy プラグイン
- vars プラグイン
- Ansible Vars プラグイン
- ユーザーのメーリングリスト
- ご質問はございますか。 Google Group をご覧ください。
- webchat.freenode.net
- #ansible IRC chat channel