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

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

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

请参考各自的仓库以配置这些插件。

事件结构

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

  • 状态事件

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

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

    这些事件是在剧本执行过程中,对于从 Ansible 收到的每个事件发送的(请参阅 剧本和主机事件)例如

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

编写您自己的插件

为了编写您自己的插件接口并使其被 Runner 识别并使用,您需要做几件事。

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