Ansible如何写Callback 插件
🔹 一、Callback 插件概念
-
Callback 插件 是 Ansible 插件中最常见的一类,主要用于 对事件进行回调处理。
-
它的典型用途是:
-
改变执行结果的输出格式(比如彩色日志、JSON 输出、YAML 输出)。
-
把执行结果写入文件、数据库、消息队列。
-
实时推送结果到外部系统(如 ELK、Prometheus、Slack、企业微信等)。
-
比如:默认的
default
插件就是 Ansible 的标准输出;json
插件把结果转为 JSON。
🔹 二、Callback 插件的调用时机
Callback 插件和 事件驱动 强相关。
Ansible 在执行 Playbook 的生命周期中会触发一系列事件,Callback 插件可以捕获这些事件。
常见的回调函数有:
方法 | 触发时机 |
---|---|
v2_playbook_on_start | Playbook 开始执行时 |
v2_playbook_on_play_start | 每个 Play 开始时 |
v2_playbook_on_task_start | 每个 Task 开始时 |