如何汇总SaltStack命令结果?

时间:2013-08-07 01:01:31

标签: salt-stack

是否可以运行SaltStack命令,例如,查看进程是否在计算机上运行,​​并聚合在多个minions上运行该命令的结果?

基本上,我希望看到从小爪子返回的所有结果都显示在ASCII表格中。是否有可能有一个等待所有结果返回的超级结果格式化程序,然后应用格式?也许有另一种方法?

2 个答案:

答案 0 :(得分:3)

如果您想在Salt中完全执行此操作,我建议您创建一个“输出器”,以显示您想要的数据。

最近创建了一个“highstate”输出器,可能会给你一个很好的起点。高状态输出器创建返回数据的小型摘要表。它可以在这里找到:

https://github.com/saltstack/salt/blob/develop/salt/output/highstate.py

我建议仔细阅读其他输出器的代码。

如果您想使用其他工具来创建此报告,我建议您在cli的命令中添加“--out json”。这将导致Salt以json格式返回数据,然后您可以将其传送到另一个应用程序进行处理。

答案 1 :(得分:1)

这是很久以前的问题,但我不止一次地偶然发现它,我认为另一种方法可能有用 - 使用调查盐跑步者:

$ salt-run survey.hash '*' cmd.run 'dpkg -l python-django'
|_
  ----------
  pool:
      - machine2
      - machine4
      - machine5
  result:
      dpkg-query: no packages found matching python-django
|_
  ----------
  pool:
      - machine1
      - machine3
  result:
      Desired=Unknown/Install/Remove/Purge/Hold
      | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
      |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
      ||/ Name           Version      Architecture Description
      +++-==============-============-============-=================================
      ii  python-django  1.4.22-1+deb all          High-level Python web development