如何在Salt Stack命令行远程执行时获取多个grains
一次性获取Salt远程系统的多个Grains值
嘿,这个需求其实Salt官方已经提供了非常直接的解决办法,根本不用写额外的解析脚本凑结果!
你可以直接使用grains.item模块,它就是专门用来批量指定要获取的grains键的,执行一次命令就能拿到所有你要的结果,而且会自动把每个minion对应的多个grains值对应好,完全不用自己去匹配。
针对单个Minion的情况
比如你要查询名为web01的远程minion的os和osrelease,直接运行这条命令:
salt 'web01' grains.item os osrelease
输出会直接把这两个grains的结果绑定到该minion条目下,格式清晰,不用额外处理。
针对多个Minion(或全部)的情况
如果要查询所有minion的这两个grains值,用通配符*就行:
salt '*' grains.item os osrelease
要是只想查某一组minion(比如所有以web开头的),就用对应的匹配规则:
salt 'web*' grains.item os osrelease
实用小扩展
- 要是觉得默认输出格式不够规整,想方便后续处理或者更易读,可以指定输出格式,比如JSON:
salt '*' grains.item os osrelease --out=json
- 当然你也可以一次性指定更多的grains键,比如加上
kernel和fqdn:
salt 'web01' grains.item os osrelease kernel fqdn
内容的提问来源于stack exchange,提问作者Edward Ned Harvey
相关产品推荐
相关产品推荐

