SaltStack 事件系统
Salt 中的事件系统是一个本地 ZeroMQ PUB 接口,它会触发 salt 事件。它由以下组件执行。
Event Sockets-用于发布事件。
Event library-用于监听事件并将事件发送到Salt系统。
Salt大师活动
Salt master 提供不同类型的事件,下面详细解释-
Authentication events
Start events
Key events
Job events
Runner Events
Presence Events
Cloud Events
让我们详细介绍每种事件类型。
Authentication events
这些身份验证事件在 minion 与 master 执行身份验证检查时触发。用salt/auth表示。
Start events
start 事件在任何时候触发一个 Minion 连接到 Salt Master,它用 salt/minion//start 表示。
Key events
当 salt master 接受和拒绝 Salt minion 上的密钥时,会触发 Key 事件。您可以使用 salt-key 命令访问此事件。
Job events
每当新作业开始时,就会触发 Job 事件。它由
salt/job//new 表示。在这里,JID-Job id new-新作业
Runner Events
当跑步者开始执行时,会触发跑步者事件。用salt/run//new表示。
Presence Events
当 Minion 已连接或新连接或断开连接时,此事件会定期触发。它由-
salt/presence/present 和
salt/presence/change 表示。在这里,
Present-表示 Salt Master 当前连接到 Minions 列表。
Change-用于检测新的 minion-连接或断开连接。
Cloud Events
Salt云事件在虚拟机上触发。除非发生其他事件,否则不会在 minion 上执行。您可以使用-
salt/cloud//creating 访问它。它在 Salt Cloud 启动虚拟机执行过程时触发。
Event Tools
现在,让我们来看看事件工具和脚本。您可以使用 CLI 访问事件总线。它通过以下命令访问。
salt-run state.event pretty = true
此处,运行器旨在与来自外部工具和 shell 脚本的事件总线进行交互。 Salt 的事件总线可以通过
REST API 远程访问。它由 –(示例 URL)表示。
curl-SsNk https://salt-api.example.com:8000/events?token = 05A3.
同样,您也可以从 Python 脚本访问事件。