将 Runner 状态和事件发送到外部系统

Runner 可以将事件和状态数据存储在本地以供检索,它也可以通过提供给模块接口的回调发出这些信息。

或者,Runner 可以配置为通过可安装插件将事件发送到外部系统。目前,有两个示例插件可用。

请参考相应的仓库来配置这些插件。

事件结构

通过插件发出两种类型的事件

  • 状态事件

    每当 Runner 的状态发生变化时,就会发送这些事件(请参阅 Runner.status_handler),例如

    {"status": "running", "runner_ident": "XXXX" }
    
  • ansible 事件

    在剧本执行期间,这些事件会为从 Ansible 收到的每个事件发送(请参阅 剧本和主机事件),例如

    {"runner_ident": "XXXX", <rest of event structure> }
    

编写自己的插件

为了编写自己的插件接口并让 Runner 拾取并使用它,你需要做几件事。

安装完它后,Runner 将看到插件并在发送状态和事件时调用这些函数。如果你的插件中出现任何错误,它们将立即被引发,Runner 将失败。