我有相当广泛的salt配置,我希望能够看到发生了什么变化。如果我只是运行salt '*' state.highstate
,我会得到整个列表,其中包含已存在且未更改的内容 - 例如3到4个日志屏幕。但我真的很想看到上一份工作中发生的变化。
它不必用于盐调用,它也可以使用salt-run jobs.lookup_jid
。
答案 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=changes
或state-output=mixed
。后者将显示有关失败的更多信息。
答案 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