有没有办法只显示更改和错误

时间:2013-04-11 15:39:23

标签: salt-stack

我有相当广泛的salt配置,我希望能够看到发生了什么变化。如果我只是运行salt '*' state.highstate,我会得到整个列表,其中包含已存在且未更改的内容 - 例如3到4个日志屏幕。但我真的很想看到上一份工作中发生的变化。

它不必用于盐调用,它也可以使用salt-run jobs.lookup_jid

6 个答案:

答案 0 :(得分:34)

我们还添加了state_output: mixed,它会为您提供与terse相同的输出,除非出现故障,在这种情况下它会为您提供更详细的输出。

答案 1 :(得分:29)

您可以在state_verbose: False/etc/salt/master中设置/etc/salt/minion。 如果要将输出缩短为每个状态一行,请设置state_output: terse

您还可以在命令行上传递这些过滤器:

salt --state-output=terse '*' state.highstate

如果您只想查看更改,可以使用state-output=changesstate-output=mixed。后者将显示有关失败的更多信息。

更详细地参见以下答案:basepipsarossy

答案 2 :(得分:23)

要真正回答这个问题,是的,只有变更的输出过滤器:

salt '*' state.highstate --state-output=changes

这将显示处于正确状态的事物的一个衬垫以及更改的正确输出。即:

  <...>
  Name: /etc/sudoers - Function: file.managed - Result: Clean
  Name: /etc/timezone - Function: file.managed - Result: Clean
  Name: /etc/pki/tls/certs/logstash-forwarder.crt - Function: file.managed - Result: Clean
  Name: /etc/init.d/logstash-forwarder - Function: file.managed - Result: Clean
----------
          ID: /etc/logstash-forwarder
    Function: file.managed
      Result: True
     Comment: File /etc/logstash-forwarder updated
     Started: 14:14:28.580950
    Duration: 65.664 ms
     Changes:
              ----------
              diff:
                  ---
                  +++
                  @@ -1,6 +1,6 @@
                   {
                     "network": {
                  -    "servers": [ "10.0.0.104:5000" ],
                  +    "servers": [ "10.0.0.72:5000" ],
                       "timeout": 15,
                       "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt"
                     },

  Name: deb http://packages.elasticsearch.org/logstashforwarder/debian stable main - Function: pkgrepo.managed - Result: Clean
  Name: logstash-forwarder - Function: pkg.installed - Result: Clean
  <...>

答案 3 :(得分:14)

有两个选项,第一个是更改master配置文件中的state_output,如接受的答案中所述,也可以在命令行中覆盖状态输出,如:

salt --state-output=mixed \* test.version

答案 4 :(得分:5)

从以下PR合并到Salt 2015.8.0(https://github.com/saltstack/salt/pull/26962)开始,现在可以在运行highstate时从命令行切换state_verbose标志。这将覆盖您在先前答案中提到的/etc/salt/master中设置的配置。

以下命令现在应仅显示来自高状态运行salt '*' state.highstate --state-verbose=False

的更改和错误

答案 5 :(得分:0)

您可以使用以下代码将输出缩短一行,然后过滤该输出以仅显示更改:

salt -v'minion'state.highstate test = True --state-output = terse --state-verbose = False