有时我的 saltmaster 会挂起一段时间,salt '*' test.ping
等待宕机的 minions 回复。有没有办法查看连接的 minions 列表,而不管它们是否响应test.ping
?
答案1
官方答案:
salt-run manage.up
同样有用的有:
salt-run manage.status
salt-run manage.down
答案2
从主类型:
ls -1 /var/cache/salt/master/minions
或者:
ls -1 /etc/salt/pki/master/minions
输入错误的 salt 查询(例如 salt '*' -)也会返回所有 minion 的列表,每个 minion 后面都会跟一条消息,指出该命令不可用。您可以 grep/cut 掉多余的字符。这两个选项都不是特别优雅,后者没有解决超时问题,但它在我寻找类似问题的答案时有效;“如何通过 saltstack python api 列出所有关联的 minion?”。
答案3
有一些新命令这使得事情变得更容易,
salt-run manage.alived
根据 Salt 的存在检测打印所有启动的 minion 列表(不会向 minion 发送任何命令)
salt-run manage.allowed
根据 Salt 的存在检测打印所有启动的 minion 列表(不会向 minion 发送任何命令)
salt-run manage.not_alived
根据 Salt 的存在检测,打印所有未启动的 minion 列表(不会发送任何命令)
salt-run manage.not_allowed
根据 Salt 的存在检测,打印所有未启动的 minion 列表(不会发送任何命令)
salt-run manage.not_joined
根据 Salt 的存在检测,打印所有未启动的 minion 列表(不会发送任何命令)
答案4
我认为可以使用 Grains 模块来实现这一点:
salt '*' grains.get id