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

Tom*_*far 47 salt-stack

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

它不必为盐呼叫工作,它也可以使用salt-run jobs.lookup_jid.

小智 35

我们还添加了state_output: mixed哪个会给你相同的输出terse,除非出现故障,在这种情况下它会给你更详细的输出.


Mic*_*upp 33

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

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

salt --state-output=terse '*' state.highstate
Run Code Online (Sandbox Code Playgroud)

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

更详细地参见以下答案:basepi,psarossy

  • salt --state-output = terse'*'state.highstate (24认同)

小智 24

要实际回答这个问题,是的,只有一个输出过滤器用于更改:

salt '*' state.highstate --state-output=changes
Run Code Online (Sandbox Code Playgroud)

这将为处于正确状态的事物显示一个衬管,并为更改提供正确的输出.即:

  <...>
  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
  <...>
Run Code Online (Sandbox Code Playgroud)

  • @eMBee`mixed`输出具有简短的更改输出。您应该看到所有结果的一行。`changes`在运行结束时显示更改的完整差异。您可能需要“更改”。 (2认同)

小智 14

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

salt --state-output=mixed \* test.version
Run Code Online (Sandbox Code Playgroud)


小智 5

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

现在,以下命令应仅显示高状态运行中的更改和错误 salt '*' state.highstate --state-verbose=False