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


76

有时,我的盐管理员挂了一段时间,salt '*' test.ping等待下来的小兵回复。有没有办法查看相连的奴才列表,而不管它们是否回应test.ping

Answers:


89

官方回答:

salt-run manage.up

也有用的是:

salt-run manage.status

salt-run manage.down

2
“ salt-run -d”给出了您可以用salt-run运行的所有模块的完整列表,非常值得一读
Chris Huang-Leaver

5
salt-run manage.versions也非常有用(报告小兵的运行版本,并将其与主版本进行比较)
sxc731

请注意,盐运行manage.upmanage.status似乎test.ping在引擎盖下做一个。至少,当我运行时manage.up,它在小黄人日志上显示为test.ping.....。如果您要确保它不需要发送任何内容,请使用alived或其他管理功能之一
sdfgeoff

12

从主类型:

ls -1 /var/cache/salt/master/minions

要么:

ls -1 /etc/salt/pki/master/minions

输入错误的盐查询(例如salt'*'-)还将返回所有小兵的列表,每个小兵后面都有一条消息,指出该命令不可用。您可以grep /切掉多余的字符。这两个选项都不是特别优雅,后一个选项不能解决超时问题,但是在我寻找类似问题的答案时它可以工作。“如何通过saltstack python API列出所有相关的奴才?”。


我认为必须已更改某些内容/ var / cache / salt / master / minions现在似乎不存在,/ etc / salt / pki / master / minions仍然可以使用。
奥利弗·邓吉

8

“盐键-L”将列出您已在主数据库上接受其公钥的所有奴才。


1
谢谢,但这列出了接受的奴才钥匙,而不是相连的奴才。
Petrus Theron

2

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

salt '*' grains.get id

2

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

salt-run manage.alived 打印根据Salt的存在状态检测到的所有所有小兵的列表(不会向小兵发送命令)

salt-run manage.allowed 打印根据Salt的存在状态检测到的所有所有小兵的列表(不会向小兵发送命令)

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

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

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


-6

要对所有小兵执行ping操作,请尝试使用盐主节点:

salt '*' test.ping 

4
你看过问题了吗?它特别是关于方法的替代方法,因为在某些情况下这不起作用。
Sven
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.