Saltstack-logging

提供:Dev Guides
移動先:案内検索

SaltStack-ロギング

ロギングは、実行中のソフトウェアイベントを追跡するために使用されます。 イベントは説明メッセージで記述され、オプションで変数データを含めることができます。 あなたが直面するかもしれない問題を取得するために、塩のロギングアプローチが使用されます。 特定のログレベルでチェックアウトできます。

構成設定

ロギングのさまざまな構成設定を詳細に理解しましょう。

LOG_FILE

ソルトログレコードは、ローカルパス名または識別のためのネットワークの場所を含むファイルを介して渡されます。 このファイルはログファイルと見なされます。

log_file:/var/log/salt/master

ここでは、マスターで実行されているバイナリに依存するファイル。 同様に、下に示すミニオンでも実行できます。

log_file:/var/log/salt/minion

リモートアドレスを使用することもできます。 リモートアドレスを使用するための構文は、-<file | udp | tcp>://<host | socketpath>:<port-if-required>/<log-facility>です。

log_file: udp://loghost:port

ここでは、Log-facilityのデフォルトはLOG_USERです。

LOG_LEVEL

ログレベルは、数値で割り当てられた値で並べられます。 Pythonライブラリは、デフォルトでほとんどのログレベルを定義しています。 それに加えて、Saltはさらにいくつかのレベルを使用します。 いくつかのレベルについて以下で説明します。

  • log_level:エラー;レベル値は40 です-エラー時のログステートメントレコードを示します。
  • log_level:quiet;レベル値は1000 です-このレベルでは何もログに記録されないことを示します。
  • log_level:info;レベル値は20 です-通常のログ情報を示します。
  • log_level:警告;レベル値は30 です-警告時のログステートメントレコードを示します。
  • log_level:debug;レベル値は10 -salt実装とsaltコードの両方のデバッグに役立つ情報。
  • log_level:trace;レベル値は5 -より詳細なコードデバッグ情報。

LOG_LEVEL_LOGFILE

ログファイルに送信するメッセージのレベルを定義します。

log_level_logfile: info

LOG_DATEFMT

ログの日付形式を定義します。 デフォルトでは、&percnt; Y-&percnt; m-&percnt; d&percnt; H:&percnt; M:&percnt; Sとして表されます。

log_datefmt_logfile: '&percnt;Y-&percnt;m-&percnt;d &percnt;H:&percnt;M:&percnt;S'

LOG_FMT_CONSOLE

メッセージを記録するコンソールの形式を定義します。 Saltは、カスタム LogRecord 属性を使用して、コンソールログ出力を色付けします。 それは次の構文に従います-

'%(colorlevel)s'       # log level name colorized by level
'%(colorname)s'        # colorized module name
'%(colorprocess)s'     # colorized process number
'%(colormsg)s'         # colorized messages name

LOG_FMT_LOGFILE

メッセージを記録するログファイルの形式を定義します。 基本的な構文は次のとおりです-

%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s

LOG_GRANULAR_LEVELS

このレベルは、ロギングレベルをより具体的に制御するために使用されます。

log_granular_levels:
   'salt': 'info'
   'salt.modules': ‘trace'

ここでは、「情報」レベルのメインソルトライブラリが salt.modules を設定して、トレースレベルでログを記録します。

外部ログハンドラー

Saltは、LogStashおよびSentryの外部ログハンドラーを使用してログを記録します。 この章で詳しく説明します。

LOGSTASHハンドラー

LogStashはオープンソースです。サーバー側の安全なデータ処理パイプライン。 LogStashを使用するSaltのシンプルなUDPロギングハンドラーを考えてみましょう。

ソルトマスターファイルで次の変更を指定します-

logstash_udp_handler:
   host: 127.0.0.1
   port: 9999
   version: 1
   msg_type: logstash

次に、Logstash構成ファイルに変更を追加します-

input {
   udp {
      port ⇒ 9999
      codec ⇒ json
   }
}

ここで、 UDP は、 json_event の形式を持つ必要がある入力です。これは、ネットワーク経由で送信するものです。

SENTRYロギングハンドラー

Sentryは、実稼働環境でのリアルタイムのエラー追跡とクラッシュを再現および修正するための情報です。 マスターファイルのデフォルト設定は以下で定義されます。

sentry_handler:
   dsn: https://pub-key:[email protected]/app-id
   log_level: debug

ここでは、SentryハンドラーのデフォルトのロギングレベルはERRORですが、sentry_handler構成キーの下にdebug log_level を定義しました。