web-dev-qa-db-ja.com

変更とエラーのみを表示する方法はありますか

私は非常に広範なソルト設定を持っているので、何が変わったのかを見たいです。単にsalt '*' state.highstateログの3〜4画面など、存在していて変更されていないものを含むリスト全体を取得しました。しかし、私は本当に最後の仕事で変化したものだけを見たいです。

Salt呼び出しで機能する必要はありません。salt-run jobs.lookup_jid

46
Tomáš Fejfar

state_verbose: Falseまたは/etc/salt/master/etc/salt/minionを設定できます。出力を状態ごとに1行に短縮する場合は、state_output: terseを設定します。

コマンドラインでこれらのフィルターを渡すこともできます:

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

変更のみを表示する場合は、state-output=changesまたはstate-output=mixedを使用できます。後者は、障害に関する詳細情報を表示します。

詳細については、次の回答を参照してください。 basepipsarossy

32
Michael Krupp

state_output: mixedも追加しました。これはterseと同じ出力を提供しますが、失敗がある場合を除き、その場合はより詳細な出力が提供されます。

35
basepi

実際に質問に答えるために、はい、変更のみの出力フィルターがあります:

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

これにより、適切な状態にあるものの1つのライナーと、変更に対する適切な出力が表示されます。すなわち:

  <...>
  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
  <...>
24
psarossy

2つのオプションがあります。1つ目は、受け入れられた回答に記載されているように、マスターの構成ファイルのstate_outputを変更することです。

salt --state-output=mixed \* test.version
14
Alex Simenduev

Salt 2015.8.0に統合された次のPR( https://github.com/saltstack/salt/pull/26962 )では、state_verboseフラグを切り替えることができるようになりましたhighstateの実行時のコマンドラインから。これは、以前の回答で言及した/etc/salt/masterで設定できる構成をオーバーライドします。

次のコマンドは、highstate run salt '*' state.highstate --state-verbose=Falseからの変更とエラーのみを表示するはずです。

5
Grokzen

以下を使用して出力を1行に短縮し、その出力をフィルター処理して変更のみを表示できます。

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

0
Pier