Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Salt 向け Junos Syslog エンジン

ジュニパーネットワークスでは、Salt を使用して Junos OS を実行するデバイスの管理をサポートしています。Saltインストールには、管理対象デバイスからのJunos OSシステムログメッセージをリッスンしてSaltイベントバスに公開する Junos syslogエンジン (Salt用)が含まれています。Junos syslogエンジンを既存またはカスタムリアクタと組み合わせて使用することで、Junos OSを実行しているデバイスのイベントベースの状態管理にSaltを使用することができます。

以下のセクションでは、Junos syslogエンジンの仕組み、設定および有効化の方法、送信およびサブスクライブするイベントの設定方法、イベントバスでこれらのイベントを表示する方法について説明します。

Junos Syslogエンジンについて

Junos OSはシステムログメッセージ( syslog メッセージとも呼ばれる)を生成し、日常業務のイベント、障害やエラーの状態、緊急またはクリティカルな状態のイベントなど、デバイスで発生するイベントを記録します。システムログメッセージには、次の情報が含まれます。

  • メッセージを生成した Junos OS プロセス

  • メッセージが生成された日時

  • イベントの重大度

  • イベントを一意に識別するタグ

  • イベントに関する情報を提供する文字列

例えば、以下の syslog メッセージは、ルータ 1 でのコミット操作が正常に完了したことを記録します。

ソルトエンジンは、ソルトによって監視され、活用される外部システムプロセスです。Salt エンジンは、Salt イベントバス上のイベントをエクスポートまたはインポートできます。SaltインストールにはJunos syslogエンジンが含まれており、Saltサーバーに送信されるJunos OSシステムログメッセージを監視し、Saltイベントバス上で公開することができます。 図1 は、Junos syslogエンジンを含むSaltのセットアップを示しています。有効にすると、Junos syslogエンジンは、指定されたポートでJunos OSを実行している管理対象デバイスからのsyslogイベントをリッスンします。

図 1: Junos Syslog エンジン Junos Syslog Engine

Junos syslogエンジンは、イベントを受信すると、イベント情報を抽出し、Saltフォーマットに変換して、Saltイベントバスに公開します。以下の出力は、Salt イベントバスに表示されるものと同じコミット完了イベントを表しています。

ソルトイベントはすべて、イベントタグと本文で構成される同じ基本データ構造を使用します。イベント タグはイベントの概要の説明であり、本文はイベントの詳細を含むディクショナリです。前の例では、イベント タグは jnpr/syslog/router1/UI_COMMIT_COMPLETEDです。

Junos Syslogエンジンを有効にする方法

Junos syslogエンジンを使用するには、エンジンを実行するサーバーに および twisted Pythonモジュールをインストールする必要がありますpyparsing。このドキュメントでは、Junos syslog エンジンが Salt マスター上で実行されていることを前提としています。前提条件をインストールしてJunos syslogエンジンを有効にするための詳しい手順については、『Salt for Junos OSクイックスタートガイド』の「Junos Syslogエンジンの設定」を参照してください。

Junos syslogエンジンを使用するには、Junos OSを実行しているデバイスが、Salt マスターの指定されたポートに syslog メッセージを送信するように設定する必要があります。すべてのイベントを送信するか、特定のファシリティまたはメッセージの重大度レベルに対応するイベントのみを送信するようにデバイスを設定できます。

すべてのイベントを送信するには、すべてのファシリティとすべてのメッセージの重大度レベルを示す を設定します any any

たとえば、重大度レベルが info 以上のセキュリティ イベントのみを送信するには、 を設定します security info

システム ロギング機能とメッセージの重大度レベルについては、 Junos OS のシステム ログ機能とメッセージの重大度レベルを参照してください。

Junos syslogエンジンを有効にするには、Salt マスター設定ファイルの キーの下 engines にあるエンジンを設定し、Junos OS を実行しているデバイスで設定したものと同じポートを指定する必要があります。

設定を適用するには、Junos syslogエンジンプロセスを自動的に開始するSaltマスターを再起動する必要があります。次に、Junos syslogエンジンは、指定されたポートでJunos OS syslogメッセージをリッスンし、イベント情報を抽出して、SaltイベントバスにSalt形式で公開します。特定のイベントが発生したときに自動的にアクションを実行するリアクタを作成および設定するには、 Junos OSイベント用のSalt Reactorsの設定を参照してください。

イベントタグの設定方法

Salt イベントバスに発行されたイベントには、イベントタグとデータの 2 つのコンポーネントがあります。Junos OS イベントでは、次のデフォルトのイベント タグ(またはイベント トピック)構文を使用します。

Junos OS イベントのイベント タグは、常に で始まる必要がありますが、エンジン設定で パラメーターを定義しtopic、含めるフィールドを指定することで、jnpr/syslog残りのフィールドをカスタマイズできます。例えば、以下の設定では、デバイスのIPアドレス、メッセージを生成したプロセス、イベントを含むイベントタグが生成されます。

この構文を設定すると、完了したコミット操作イベントのタグは次のようになります。

イベントタグフィールドには、 の後に jnpr/syslog/以下のフィールドを任意に組み合わせて含めることができます。

  • daemon

  • event

  • hostip

  • hostname

  • message

  • pid

  • priority

  • raw (the raw event data forwarded from the device)

  • severity

  • timestamp

特定のJunos OSプロセスのイベントをサブスクライブする方法

Junos Syslogエンジンを有効にする方法の説明に従って、Junos OSを実行しているデバイスがJunos syslogエンジンに送信するsyslogイベントを設定することができます。デフォルトでは、Junos syslogエンジンは、Saltイベントバスで受信したすべてのイベントのイベントデータを公開します。エンジン設定で パラメーターを設定するdaemonことで、Junos syslogエンジンをカスタマイズして、特定のプロセスのみをサブスクライブすることもできます。このパラメーターを設定すると、Junos syslogエンジンは、Salt イベントバス上のプロセスに関連するイベントのみを公開します。

以下のSaltエンジン構成は、管理プロセス(mgd)とルーティングプロトコルプロセス(rpd)からのイベントにJunos syslogエンジンをサブスクライブします。

設定を適用するためにソルトマスタープロセスを再起動した後、Junos syslogエンジンは、これら2つのプロセスからのイベントのみをソルトイベントバスに公開します。

ソルトイベントバスでイベントを表示する方法

ソルトランナーは、ミニオンではなくソルトマスターでモジュールを実行します。ランナーを実行するには、 salt-run コマンドを使用します。Salt マスターイベントバス上のイベントをリアルタイムで表示するには、次のコマンドを実行して、ターミナルにイベントを表示します。

イベントをすばやくトリガーする場合は、次の例に示すようにミニオンにpingを実行できます。

対応するイベントバス出力は、Salt ジョブとミニオンの応答を示しています。

Junos syslogエンジンの設定をテストするには、Junos OSを実行しているデバイスで操作を実行します。デバイスは、その操作のファシリティとその重大度レベルでメッセージをJunos syslogエンジンに送信するように設定する必要があります。さらに、エンジンは、そのプロセス (またはデフォルトであるすべてのプロセス) からのメッセージをサブスクライブする必要があります。この操作を実行すると、Junos syslogエンジンがイベントをSalt イベントバスに公開します。