How can I aggregate SaltStack command results?

我的未来我决定 提交于 2021-02-19 02:29:02

问题


Is it possible to run a SaltStack command that, say, looks to see if a process is running on a machine, and aggregate the results of running that command on multiple minions?

Essentially, I'd like to see all the results that are returned from the minions displayed in something like an ASCII table. Is it possible to have an uber-result formatter that waits for all the results to come back, then applies the format? Perhaps there's another approach?


回答1:


If you want to do this entirely within Salt, I would recommend creating an "outputter" that displays the data how you want.

A "highstate" outputter was recently created that might give you a good starting point. The highstate outputter creates a small summary table of the returned data. It can be found here:

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

I'd recommend perusing the code of the other outputters as well.

If you want to use another tool to create this report, I would recommend adding "--out json" to your command at the cli. This will cause Salt to return the data in json format which you can then pipe to another application for processing.




回答2:


This was asked a long time ago, but I stumbled across it more than once, and I thought another approach might be useful – use the survey Salt runner:

$ 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


来源:https://stackoverflow.com/questions/18092979/how-can-i-aggregate-saltstack-command-results

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!