SaltStack - 事件系统

Salt中的事件系统是一个本地ZeroMQ PUB接口,用于触发salt事件.它由以下组件执行.

  • 事件套接字 : 它用于发布事件.

  • 事件库 : 它用于监听事件并将事件发送到盐系统.

Salt Master Event

Salt master提供不同类型的事件,详见下文 :

  • 身份验证事件

  • 开始活动

  • 主要活动

  • 工作活动

  • 亚军活动

  • 在场活动

  • 云活动

让我们一起来看看每个活动详细类型.

身份验证事件

当minion对主服务器执行身份验证检查时,会触发这些身份验证事件.它由salt/auth表示.

开始事件

只要一个minion连接到Salt master并且它由salt表示,就会触发启动事件/minion//start.

关键事件

当Salt master接受和拒绝Salt minion上的键时会触发Key事件.您可以使用salt-key命令访问此事件.

作业事件

每当新作业开始时都会触发作业事件.它由 salt/job//new 表示.这里,JID  - 作业ID新 - 新工作

跑步者事件

当跑步者开始执行时,会触发跑步者事件.它由salt/run//new表示.

Presence Events

当连接或新连接或断开连接时,会触发此事件定期间隔.它由 -  盐/存在/存在盐/存在/变化表示.在这里,

  • 目前 : 表示Salt master目前已连接到minions列表.

  • 更改 : 用于检测新的奴才 - 连接或断开连接.

云事件

盐 - 云事件在虚拟机上触发.除非其他事件,否则不会对小兵进行.您可以使用 -   salt/cloud//创建来访问它.当Salt云启动虚拟机执行过程时会触发它.

事件工具

现在,让我们浏览一下事件工具和脚本.您可以使用CLI访问事件总线.它可以通过以下命令访问.

 
 salt-run state.event pretty = True

这里,运行器旨在通过外部工具和shell脚本与事件总线进行交互.可以通过 REST API 远程访问Salt的事件总线.它由 - (示例网址)表示.

 
 curl -SsNk https://salt-api.example.com:8000/events? token = 05A3.

同样,您也可以从Python脚本访问事件.