牛下载:绿色软件官方软件免费下载基地!
所在位置:首页 > 新闻资讯 > SaltStack事件驱动(1) – 监视事件

SaltStack事件驱动(1) – 监视事件

发布时间:2020-03-01 13:21:25来源:阅读:

salt的内部组件之间的通信是通过发送和监听事件实现的。在salt中,几乎所有的变动都会产生事件,如:

salt minion连接salt master 密钥被接受或拒绝 发送作业 从minion返回作业结果 在线心跳(默认情况下已关闭)

甚至是salt命令行接口使用事件系统都会产生事件。当一个命令发送到salt master后,salt CLI仅仅需要监视事件总线来获取从目标minion返回的作业结果。

监视事件

salt提供了一个runner来在salt master上实时显示事件。

salt-run state.event pretty=True

如果你使用的是demo环境,你的事件总线可能是安静的,所以尝试打开另一个终端,发送一条salt ‘*’ test.ping命令或者重启salt-minion服务。
下面是几条在salt master上获取到的事件:

salt/job/20150923203228234305/new   {
    "_stamp": "2016-12-01T08:11:28.235712",
    "arg": [],
    "fun": "test.ping",
    "jid": "20161201081128234305",
    "minions": [
        "minion2"
    ],
    "tgt": "*",
    "tgt_type": "glob",
    "user": "sudo_vagrant"
}
salt/job/20161201081128234305/ret/minion2   {
    "_stamp": "2016-12-01T08:11:28.291789",
    "cmd": "_return",
    "fun": "test.ping",
    "fun_args": [],
    "id": "minion2",
    "jid": "20161201081128234305",
    "retcode": 0,
    "return": true,
    "success": true
}
salt/auth   {
    "_stamp": "2016-12-01T08:11:02.998305",
    "act": "pend",
    "id": "minion1",
    "pub": "-----BEGIN PUBLIC KEY-----...
-----END PUBLIC KEY-----
",
    "result": true
}

事件格式

事件由两个主要部分组成:标识事件的tag和事件的详细信息。

事件标记

所有的salt事件的前缀是salt/,加上基于事件类型的额外级别(level)。例如,作业事件前缀为salt/job/。每个事件部分使用/分隔提供简单的命名空间。这个标识符称为事件标记(event tag),通常包含具体的详细信息,如作业ID或minion ID。
除了事件标记外,每个事件还包括特定的事件数据。

事件数据

每一个事件包括一个timestamp和该特定事件唯一的键和值。

反对
收藏
  • 热门资讯
  • 最新资讯
  • 应用排行榜
  • 游戏排行榜