- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - 使用 Git 作为文件服务器
- 使用 MinionFS 作为文件服务器
- SaltStack - 使用 Salt 和 Cron
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 使用 Salt
- Salt 用于云基础设施
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - 事件系统
Salt 中的事件系统是一个本地 ZeroMQ PUB 接口,它触发 Salt 事件。它由以下组件执行。
事件套接字 − 用于发布事件。
事件库 − 用于监听事件并将事件发送到 Salt 系统。
Salt Master 事件
Salt master 提供不同类型的事件,详述如下:
- 身份验证事件
- 启动事件
- 密钥事件
- 作业事件
- Runner 事件
- 存在事件
- 云事件
让我们详细了解每种事件类型。
身份验证事件
当 minion 与 master 执行身份验证检查时,会触发这些身份验证事件。它由 salt/auth 表示。
启动事件
每当 minion 连接到 Salt master 时,都会触发启动事件,它由 salt/minion//start 表示。
密钥事件
当 Salt master 接受和拒绝 Salt minion 上的密钥时,会触发密钥事件。您可以使用 salt-key 命令访问此事件。
作业事件
每当新作业即将开始时,就会触发作业事件。它由 salt/job//new 表示。这里,JID - 作业 ID new - 新作业
Runner 事件
当 runner 开始执行时,会触发 runner 事件。它由 salt/run//new 表示。
存在事件
当 minion 连接或新连接或断开连接时,会定期触发此事件。它由 – salt/presence/present 和 salt/presence/change 表示。这里:
Present − 表示 Salt master 当前已连接到 minion 列表。
Change − 用于检测新的 minion – 已连接或已断开连接。
云事件
salt-cloud 事件在虚拟机上触发。除非其他事件,否则它不会在 minion 上执行。您可以使用 – salt/cloud//creating 访问它。当 Salt cloud 开始虚拟机执行过程时,它会被触发。
事件工具
现在,让我们了解事件工具和脚本。您可以使用 CLI 访问事件总线。它可以通过以下命令访问。
salt-run state.event pretty = True
在这里,runner 旨在从外部工具和 shell 脚本与事件总线交互。Salt 的事件总线可以通过 REST API 远程访问。它由 – (示例 URL) 表示。
curl -SsNk https://salt-api.example.com:8000/events?token = 05A3.
同样,您也可以从 Python 脚本访问事件。