SaltStack – 事件系统
SaltStack – 事件系统
Salt 中的事件系统是一个本地 ZeroMQ PUB 接口,它会触发 salt 事件。它由以下组件执行。
-
事件套接字– 用于发布事件。
-
事件库– 用于侦听事件并将事件发送到盐系统。
盐大师活动
Salt master 提供不同类型的事件,下面详细解释 –
- 认证事件
- 开始活动
- 关键事件
- 工作事件
- 跑者活动
- 出席活动
- 云事件
让我们详细了解每种事件类型。
认证事件
当 minion 与 master 执行身份验证检查时,会触发这些身份验证事件。它由salt/auth 表示。
开始活动
每当一个 minion 连接到 Salt Master 时都会触发 start 事件,它由 salt/minion//start 表示。
关键事件
当 salt master 接受和拒绝 Salt minion 上的密钥时,会触发 Key 事件。您可以使用 salt-key 命令访问此事件。
工作事件
每当要开始新作业时都会触发 Job 事件。它由salt/job//new 表示。在这里,JID – 作业 ID 新 – 新作业
跑者活动
当跑步者开始执行时,会触发跑步者事件。它用 salt/run//new 表示。
出席活动
当 Minion 连接或新连接或断开连接时,此事件会定期触发。它由 – salt/presence/present和salt/presence/change 表示。这里,
-
Present – 表示 Salt Master 当前连接到 Minions 列表。
-
Change – 用于检测新的 minion – 已连接或已断开连接。
云事件
盐云事件在虚拟机上触发。除非发生其他事件,否则不会在 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 脚本访问事件。