如何列出所有连接的 Salt Stack Minion?

Pet*_*ron 81 saltstack

有时我的盐师会在salt '*' test.ping等待倒下的仆从回复时挂起一段时间。有没有办法查看已连接的仆从列表,无论它们是否响应test.ping

Dan*_*ite 95

官方回复:

salt-run manage.up
Run Code Online (Sandbox Code Playgroud)

同样有用的是:

salt-run manage.status

salt-run manage.down
Run Code Online (Sandbox Code Playgroud)

  • `salt-run manage.versions` 也非常有用(报告 minions 的运行版本并将它们与 master 的版本进行比较) (5认同)
  • “salt-run -d”给出了可以使用 salt-run 运行的所有模块的完整列表,非常值得一读 (2认同)
  • 请注意,salt-run `manage.up` 和 `manage.status` 似乎在后台执行了 `test.ping`。至少,当我运行“manage.up”时,它在minions日志上显示为“test.ping”.....如果您想确保它不需要发送任何内容,请使用“alived”或其中之一其他管理功能 (2认同)

小智 12

从主类型:

ls -1 /var/cache/salt/master/minions
Run Code Online (Sandbox Code Playgroud)

或者:

ls -1 /etc/salt/pki/master/minions
Run Code Online (Sandbox Code Playgroud)

输入错误的 salt 查询(例如 salt '*' -)还将返回所有 minion 的列表,每个 minion 后跟一条消息,说明该命令不可用。您可以 grep/剪切掉无关的字符。这些选项都不是特别优雅,后者没有解决超时问题,但在我寻找类似问题的答案时它有效;“如何通过 saltstack python api 列出所有关联的仆从?”。


小智 7

“salt-key -L”将列出您已在您的主人上接受其公钥的所有随从。

  • 谢谢,但这列出了接受的 Minion 密钥,而不是连接的 Minion。 (2认同)

小智 6

我认为可以使用grains模块来实现这一目标:

salt '*' grains.get id
Run Code Online (Sandbox Code Playgroud)


小智 6

一些新的命令,使得它更容易,

salt-run manage.alived 根据 Salt 的存在检测打印所有已启动的 minion 列表(不会向 minions 发送任何命令)

salt-run manage.allowed 根据 Salt 的存在检测打印所有已启动的 minion 列表(不会向 minions 发送任何命令)

salt-run manage.not_alived 根据 Salt 的存在检测打印所有未启动的 minion 列表(不会发送任何命令)

salt-run manage.not_allowed 根据 Salt 的存在检测打印所有未启动的 minion 列表(不会发送任何命令)

salt-run manage.not_joined 根据 Salt 的存在检测打印所有未启动的 minion 列表(不会发送任何命令)