SaltStack - 事件系统


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

  • 事件套接字- 用于发布事件。

  • 事件库- 用于监听事件并将事件发送到 salt 系统中。

盐大师活动

Salt master 提供不同类型的事件,下面详细解释 -

  • 认证事件
  • 开始活动
  • 关键事件
  • 工作活动
  • 跑步活动
  • 出席活动
  • 云活动

让我们详细了解每种事件类型。

认证事件

当 minion 与 master 执行身份验证检查时,会触发这些身份验证事件。它由 salt/auth 表示。

开始活动

每当 Minion 连接到 Salt Master 时,启动事件就会触发,并由 salt/minion//start 表示。

关键事件

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

工作活动

每当新作业要开始时,作业事件就会被触发。它由salt/job//new表示。在这里,JID - Job id new - 新工作

跑步活动

当运行程序开始执行时,会触发运行程序事件。它由salt/run//new 表示。

出席活动

当 Minions 连接或新连接或断开连接时,会定期触发此事件。它由 – salt/presence/presentsalt/presence/change表示。这里,

  • Present - 表示 Salt master 当前已连接到 minions 列表。

  • 更改- 用于检测新的 Minion - 连接或断开连接。

云活动

盐云事件在虚拟机上触发。除非有其他事件,否则不会对小黄人执行。您可以使用 – salt/cloud//creating访问它。当 Salt 云启动虚拟机执行过程时会触发它。

活动工具

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

salt-run state.event pretty = True

在这里,运行器被设计为通过外部工具和 shell 脚本与事件总线交互。Salt的事件总线可以通过REST API远程访问。它由 –(示例 URL)表示。

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

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