運用モードコマンドを実行するイベントポリシーの設定
動作モードコマンド は、操作を実行するか、Junos OSを実行するデバイスに診断出力を提供します。デバイスの現在の動作状態に関する統計情報と情報を表示できます。また、ソフトウェアプロセスの再起動、PIC(物理インターフェイスカード)をオフラインおよびオンラインに戻す、冗長インターフェイスに切り替える、ラベルスイッチングプロトコル(LSP)帯域幅を調整するなどの是正措置も可能です。動作モード コマンドの詳細については、 CLI エクスプローラーを参照してください。
オペレーション・モード・コマンドを実行し、これらのコマンドの出力を分析用の指定された場所にアップロードするイベント・ポリシーを構成するには、 階層レベルで以下のステートメントを [edit event-options]
含めます。
[edit event-options] policy policy-name { events [ events ]; then { execute-commands { commands { "command"; } output-filename filename; output-format (text | xml); destination destination-name; } } }
ステートメントでは、複数の events
イベントを一覧表示できます。リストされているイベントが1つ以上発生した場合、イベント処理は ステートメントに設定された動作モードコマンドを commands
実行します。各コマンドを引用符(" "
)で囲みます。イベント化されたプロセスは、設定に表示される順序でコマンドを発行します。例えば、以下の設定では、 を policy1
実行すると、 コマンドが show interfaces
最初に発行され、その後に コマンドが show chassis alarms
続きます。
[edit event-options policy policy1 then execute-commands] user@host# show commands { "show interfaces"; "show chassis alarms"; }
コマンドに変数を含めれば、トリガー・イベントのデータをコマンド構文に自動的に含めることができます。イベントが発生したプロセスは、各変数をポリシーをトリガーするイベントに含まれる値に置き換えます。以下の形式のコマンド変数を使用できます。
-
{$$.attribute-name}
—二重ドル記号($$
)表記は、ポリシーをトリガーするイベントを表しています。属性名と組み合わせると、変数はトリガー・イベントに関連する属性の値に解決されます。例えば、{$$.interface-name}
トリガー・イベントに関連付けられたインターフェース名に解決します。 -
{$event.attribute-name}
— イベント名($event
)表記の単一ドル記号は、一致する最新のイベントを表していますevent
。属性名と組み合わせると、変数はそのイベントに関連する属性の値に解決されます。例えば、ポリシーが コマンドをshow interfaces {$COSD_CHAS_SCHED_MAP_INVALID.interface-name}
発行すると、変数は{$COSD_CHAS_SCHED_MAP_INVALID.interface-name}
イベント・プロセスによってキャッシュされた最新COSD_CHAS_SCHED_MAP_INVALID
のイベントに関連付けられたインターフェース名に解決されます。 -
{$*.attribute-name}
アスタリスク($*
)表記のドル記号は、相関するイベントのいずれかに一致する最新のイベントを表します。この変数は、ポリシー構成で指定された相関イベントのいずれかに一致する最新のイベントに関連付けられた属性の値に解決されます。
特定のイベントに対して、 コマンドを発行することで、運用モードコマンドで参照できるイベント属性のリストを help syslog event
表示できます。
user@host> help syslog event
例えば、以下のコマンド出力では、山括弧(< >
)のテキストは、それがイベントのcosd_unknown_classifier
属性であることをclassifier-type
示しています。
user@host> help syslog cosd_unknown_classifier Name: COSD_UNKNOWN_CLASSIFIER Message: rtsock classifier type <classifier-type> is invalid ...
イベント属性のリストを表示するもう1つの方法は、 階層レベルで 設定モードコマンドを[edit event-options policy policy-name]
発行set attributes-match event?
することです。
[edit event-options policy policy-name] user@host# set attributes-match event ?
例えば、以下のコマンド出力では、 event.attribute
リストはイベントのcosd_unknown_classifier
属性であることをclassifier-type
示しています。
[edit event-options policy policy-name] user@host# set attributes-match cosd_unknown_classifier? Possible completions: <from-event-attribute> First attribute to compare cosd_unknown_classifier.classifier-type
この set
コマンドでは,イベント名と疑問符(?
)の間にスペースはありません。
参照できるすべてのイベント属性のリストを表示するには、 階層レベルで コンフィグレーション モード コマンドを[edit event-options policy policy-name]
発行set attributes-match ?
します。
[edit event-options policy policy-name] user@host# set attributes-match ? Possible completions: <from-event-attribute> First attribute to compare acct_accounting_ferror acct_accounting_fopen_error ...
イベント処理は、コマンドを実行すると、 ステートメントで指定された場所にコマンド出力のあるファイルを destination
アップロードします。ステートメントには、 destination
階層レベルで設定された宛先名を [edit event-options destinations]
含めます。詳細については、「 例: イベントポリシー別ファイルアーカイブの宛先を定義する」を参照してください。
ステートメントで output-filename
、ファイル名に含まれる記述的な文字列を定義します。アップロードされた各ファイルには、ファイル名にホスト名とタイムスタンプも含まれており、各ファイル名が一意であることを確認します。ポリシーが1秒間に複数回トリガーされる場合、ファイル名がまだ一意であることを確認するために、ファイル名にインデックス番号が付加されます。インデックス番号の範囲は001~999です。
Junos OS リリース 14.1R3 以降、イベント化によって生成される出力ファイルの命名規則と形式が変更されました。eventd が 階層レベルで定義されたコマンドを [edit event-options policy policy-name then execute-commands commands]
実行し、コマンド出力を含むファイルを生成する場合、ファイル名はデバイスで実行されているJunos OSのバージョンに依存します。Junos OS リリース 14.1R3 より前のファイル名には、以下の命名規則があります。
hostname_output-filename_YYYYMMDD_HHMMSS_index-number
Junos OSリリース14.1R3以降、ファイル名はタイムスタンプの後に output-filename 文字列を配置します。
hostname_YYYYMMDD_HHMMSS_output-filename_index-number
例えば、Junos OSリリース14.1R3以降のリリースを実行しているr1という名前のデバイスでは、 ステートメントをifl-eventsとして設定output-filename
し、このイベントポリシーが1秒に3回トリガーされる場合、ファイル名は次のようになります。
r1_20060623_132333_iflイベント
r1_20060623_132333_ifl-events_001
r1_20060623_132333_ifl-events_002
デフォルトでは、コマンドの出力形式はJunos Extensible Markup Language(XML)です。ステートメントを output-format text
設定して、コマンド出力を ASCII テキストとしてフォーマットします。