このページで
単一シャーシシステムでのシステムロギング
単一シャーシ システム ロギング設定の概要
Junos システム ログ ユーティリティは、UNIX syslogd
ユーティリティと似ています。このセクションでは、Junos OS が稼働する単一シャーシ システムのシステム ロギングを設定する方法について説明します。
Common Criteria環境におけるJunos-FIPSソフトウェアおよびジュニパーネットワークスデバイスのシステムロギング設定は、Junos OSの場合と同じです。詳細については、 『 Common CriteriaおよびJunos-FIPSのセキュア構成ガイド』を参照してください。
TX Matrix ルーターと T640 ルーターで構成されるルーティング マトリクスのシステム ロギングの設定については、 TX Matrix ルーターのシステム ロギングの設定を参照してください。
各システムログメッセージは、関連するメッセージをグループ化する ファシリティに属しています。また、各メッセージには、トリガーとなるイベントがルーターの機能に及ぼす 重大度レベルがあらかじめ割り当てられています。ログに含めるメッセージの機能と重大度を常に指定します。詳細については、「 ログに含めるメッセージの機能と重大度の指定」を参照してください。
メッセージを 1 つ以上の宛先に転送するには、 [edit system syslog]
階層レベルで適切なステートメントを含めます。
file
ステートメントを含めることにより、ローカル・ファイル・システム内の名前付きファイルに追加します。システム ログ メッセージのログ ファイルへの送信を参照してください。user
ステートメントを含めることで、ルーターにログインしている1人以上の特定のユーザー(またはすべてのユーザー)の端末セッションに送信する。システム・ログ・メッセージをユーザー端末に送信するを参照してください。ルーターのコンソールに、
console
ステートメントを含めます。システム ログ メッセージのコンソールへの送信を参照してください。-
syslogd ユーティリティーを実行しているリモート・マシンに対して、
host
ステートメントをインクルードする。システムログメッセージをリモートマシンに送信するを参照してください。
デフォルトでは、メッセージは UNIX システムログ形式に基づく標準形式でログに記録されます。メッセージのフォーマット設定の詳細については、 システム・ログ・エクスプローラを参照してください。ログに記録されたメッセージの内容と形式は、次の方法で変更できます。
標準のJunosフォーマットではなく、構造化データフォーマットでメッセージをファイルに記録することができます。構造化データ形式は、大幅な長さを追加することなくより多くの情報を提供し、自動化されたアプリケーションがメッセージから情報を抽出しやすくします。詳細については、「 構造化データ形式でのメッセージのログ記録」を参照してください。
メッセージのファシリティと重大度レベルをまとめて 優先度と呼びます。デフォルトでは、メッセージの標準Junosフォーマットには優先度情報が含まれていません(構造化データフォーマットにはデフォルトで優先度コードが含まれます)。ファイルまたはリモート宛先に送信される標準形式のメッセージに優先順位情報を含めるには、
explicit-priority
ステートメントをインクルードします。詳細については、 システム ログ メッセージへの優先度情報の設定を参照してください。デフォルトでは、メッセージの標準 Junos 形式では、メッセージが記録された月、日、時間、分、秒が指定されます。標準形式のシステムログメッセージのタイムスタンプを変更して、年、ミリ秒、またはその両方を含めることができます。(構造化データ形式では、既定で年とミリ秒が指定されます)。詳細については、「 タイムスタンプに年またはミリ秒を含める」を参照してください。
-
メッセージをリモート・マシンに送信する場合、メッセージで報告される IP アドレスを送信元として指定できます。また、Junos OS で生成されたメッセージと特定のデバイスで生成されたメッセージを簡単に分離できる機能を設定することもできます。詳細については、「 システム ログ メッセージをリモート マシンに送信する」を参照してください。
事前定義されたファシリティは、関連するメッセージをグループ化しますが、正規表現を使用して、ファシリティからのどのメッセージをファイル、ユーザー端末、またはリモート宛先に記録されるかをより正確に指定することもできます。詳細については、「 文字列と正規表現を使用した一連のログに記録されたメッセージの絞り込み」を参照してください。
コミット チェック中は、 traceoptions 設定に関する警告 (トレース ファイル サイズやトレース ファイル数の不一致など) がコンソールに表示されません。ただし、これらの警告は、新しい設定がコミットされると、システム ログ メッセージに記録されます。
Junos OSシステムログの設定ステートメント
スイッチがシステム メッセージをログに記録するように設定するには、[edit system]
階層レベルに syslog
ステートメントを含めます。
[edit system] syslog { archive <files number> <size size> <world-readable | no-world-readable>; console { facility severity; } file filename { facility severity; archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable>; explicit-priority; match "regular-expression"; structured-data { brief; } } host hostname { facility severity; explicit-priority; facility-override facility; log-prefix string match "regular-expression"; } source-address source-address; time-format (year | millisecond | year millisecond); user (username | *) { facility severity; match "regular-expression"; } }
Junos OS 最小システムログ設定
システムログメッセージを記録または表示するには、[edit system]
階層レベルで syslog
ステートメントを含める必要があります。表 1で説明されているように、メッセージの宛先を少なくとも 1 つ指定します。設定ステートメントの詳細については、 単一シャーシ システム ロギング設定の概要を参照してください。
行き先 |
最小設定ステートメント |
---|---|
ファイル |
[edit system syslog] file filename { facility severity; } |
1人、複数、またはすべてのユーザーの端末セッション |
[edit system syslog] user (username | *) { facility severity; } |
ルーターまたはスイッチのコンソール |
[edit system syslog] console { facility severity; } |
ルーターまたはスイッチ上のリモートマシンまたは他のルーティングエンジン |
[edit system syslog] host (hostname | other-routing-engine) { facility severity; } |
例:システムログメッセージを設定する
QFabric システムは、コンポーネントデバイスで発生するイベントを監視し、設定されたすべての外部システムログメッセージサーバー(ホスト)に、それらのイベントに関するシステムログメッセージを配信します。コンポーネントデバイスには、ノードデバイス、相互接続デバイス、Directorデバイス、オンラインシャーシなどがあります。メッセージは、表示用に QFabric システム データベースにのみ保存されます。メッセージを表示するには、 show log
コマンドを発行します。
この例では、QFabric システムでシステム ログ メッセージを設定する方法を説明します。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
Junos OSリリース12.2
QFabric システム
システムログメッセージホストとして設定できる外部サーバ
概要
システムログメッセージイベントを生成するコンポーネントデバイスには、ノードデバイス、相互接続デバイス、Directorデバイス、コントロールプレーンスイッチなどがあります。以下の構成例では、QFabric システムにこれらのコンポーネントが含まれています。
Directorグループで実行されているDirectorソフトウェア
コントロールプレーンスイッチ
相互接続デバイス
マルチノードデバイス
設定
手順
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
set system syslog host 10.1.1.12 any error set system syslog file qflogs set system syslog file qflogs structured-data brief set system syslog file qflogs archive size 1g
ステップバイステップでの手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の説明については、Junos OS CLIユーザーガイドの設定モードでCLIエディターを使用するを参照してください。
QFabric Directorデバイスからシステムメッセージを設定するには、次の手順に従います。
ホスト、任意のファシリティ、および
error
重大度レベルを指定します。[edit system syslog] user@switch# set host 10.1.1.12 any error
注:複数のシステムログメッセージサーバー(ホスト)を設定できます。QFabric システムは、設定された各サーバーにメッセージを送信します。
(オプション)ログ メッセージをキャプチャするファイル名を指定します。
注:QFabric システムでは、 messages という名前の syslog ファイルが暗黙的に設定され、ファシリティおよび重大度レベルは
any any
、ファイル サイズは 100 MB です。そのため、設定でファイル名 messages を指定することはできず、そのファイル名に対して自動コマンド補完は機能しません。[edit system syslog] user@switch# set file qflogs structured-data brief user@switch# set file qflogs
(オプション)システムログメッセージアーカイブファイルの最大サイズを設定します。この例では、アーカイブ サイズを 1 GB に指定します。
[edit system syslog] user@switch# set file qflogs archive size 1g
結果
設定モードから、show system
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit] user@switch# show system syslog { file qflogs { } host 10.1.1.12 { any error; } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
構造化データ形式のログメッセージ
Junos OSの標準フォーマットではなく、構造化データフォーマットでメッセージをファイルに記録することができます。構造化データ形式は、大幅な長さを追加することなくより多くの情報を提供し、自動化されたアプリケーションがメッセージから情報を抽出しやすくします。
構造化データ形式は、インターネット標準RFC 5424、 The Syslog Protocol(https://tools.ietf.org/html/rfc5424)に準拠し ています。RFC は、ログに記録されたメッセージの送信元またはトランスポートプロトコルに関係なく、標準のメッセージ形式を確立します。
メッセージを構造化データ・フォーマットでファイルに出力するには、[edit system syslog file filename]
階層レベルで structured-data
ステートメントをインクルードします。
[edit system syslog file filename] facility severity; structured-data { brief; }
オプションの brief
ステートメントは、エラーまたはイベントを説明するためにメッセージの最後にデフォルトで表示される英語のテキストを抑制します。
構造化フォーマットは、Junosのプロセスまたはソフトウェアライブラリによって生成された、ファイルに記録されたすべてのメッセージに使用されます。
structured-data
ステートメントとともに explicit-priority
ステートメントと time-format
ステートメントのいずれかまたは両方を含める場合、それらは無視されます。これらのステートメントは、構造化データ形式ではなく、標準のJunos OSシステムログ形式に適用されます。
ログファイルサイズ、数、アーカイブプロパティの指定
ログファイルが大きくなりすぎないように、デフォルトではJunos OSシステムログユーティリティが定義されたサイズの一連のファイルにメッセージを書き込みます。シーケンス内のファイルは、メッセージが現在書き込まれているアクティブ・ファイルと区別するために、アーカイブ・ファイルと呼ばれます。デフォルトの最大サイズは、プラットフォームの種類によって異なります。
EX シリーズ スイッチの場合は 128 キロバイト(KB)
M シリーズ、MX シリーズ、T シリーズ ルーターの場合は 1 メガバイト(MB)
TX MatrixまたはTX Matrix Plusルーターの場合は10 MB
QFX シリーズでは 1 MB
logfile というアクティブ・ログ・ファイルが最大サイズに達すると、ロギング・ユーティリティーはそのファイルをクローズして圧縮し、圧縮アーカイブ・ファイルにlogfile.0.gzという名前を付けます。その後、ロギングユーティリティが開き、 logfileという新しいアクティブファイルに書き込みます。このプロセスは、ファイルのローテーションとも呼ばれます。新しい logfile が構成された最大サイズに達すると、 logfile.0.gz の名前が logfile.1.gz に変更され、新しい logfile が閉じられ、圧縮され、 logfile.0.gz に名前が変更されます。デフォルトでは、ロギングユーティリティはこの方法で最大10個のアーカイブファイルを作成します。アーカイブ・ファイルの最大数に達し、アクティブ・ファイルのサイズが構成された最大サイズに達すると、最後にアーカイブされたファイルの内容が現行アクティブ・ファイルによって上書きされます。また、デフォルトでは、ロギングユーティリティはログファイルを読み込めるユーザーを、 root
ユーザーとJunos OS maintenance
パーミッションを持つユーザーに制限します。
Junos OS には、ログ ファイルのサイズを確認する間隔を設定することで、システム ログ ファイルのローテーション頻度を構成する構成ステートメント log-rotate-frequency
が用意されています。頻度は、1 分から 59 分までの値に設定できます。デフォルトの頻度は 15 分です。
ログローテーションの頻度を設定するには、[edit system syslog]
階層レベルで log-rotate-frequency
ステートメントを含めます。
archive
ステートメントを含めることで、各ファイルの最大サイズ、作成されるアーカイブ・ファイルの数、およびログ・ファイルを読み込めるユーザーを変更できます。
すべてのログ ファイルに適用される値を構成するには、[edit system syslog]
階層レベルで archive
ステートメントを含めます。
archive <files number> <size size> <world-readable | no-world-readable>;
特定のログ ファイルに適用される値を構成するには、[edit system syslog file filename]
階層レベルで archive
ステートメントを含めます。
archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable> ;
archive-sites site-name
ファイルの保存に使用するアーカイブ サイトの一覧を指定します。site-name
値は、宛先への有効な FTP URL です。複数のサイト名が構成されている場合は、システム ログ ファイルのアーカイブ サイトの一覧が作成されます。ファイルがアーカイブされると、ルーターまたはスイッチはリストの最初のURLへのファイルの転送を試み、転送に失敗した場合にのみ次のサイトに移動します。ログ ファイルは、指定したログ ファイル名でアーカイブ サイトに保存されます。有効な FTP URL を指定する方法については、 Junos OS CLI コマンドでファイル名と URL を指定するための形式を参照してください。
binary-data
バイナリ データを含むファイルとしてマークします。これにより、WTMP ファイル (UNIX ベースのシステムのログイン・レコード) などのバイナリー・ファイルを適切にアーカイブすることができます。デフォルト設定に戻すには、 no-binary-data
ステートメントを含めます。
files number
最も古いファイルが上書きされる前に作成するファイルの数を指定します。値は 1 から 1000 までです。
size size
各ファイルの最大サイズを指定します。値は、64 KB (64k) から 1 ギガバイト (1g) までです。メガバイトを表すには、整数の後に文字 m
を使用します。数字と k
、 m
、または g
単位の文字の間にスペースはありません。
start-time "YYYY-MM-DD.hh:mm"
archive-sites
ステートメントで指定されたサイトのリスト内で最初に到達可能なサイトにアクティブ・ログ・ファイルを 1 回だけ転送する日時をローカル・タイム・ゾーンで定義します。
transfer-interval interval
現在のログ ファイルを(可能な最大サイズに達していない場合でも)開いたままにし、閉じられてアーカイブ サイトに転送される前に新しい統計を受信する時間を定義します。この間隔値は、5 分から 2880 分までです。
world-readable
すべてのユーザーがログ ファイルを読み取ることができます。デフォルトのパーミッションを復元するには、 no-world-readable
ステートメントを含めます。
システムログメッセージに優先順位情報を含める
メッセージのファシリティと重大度レベルをまとめて 優先度と呼びます。デフォルトでは、標準のJunos OSフォーマットでログインしたメッセージには、優先度に関する情報は含まれません。ファイルに送信される標準形式のメッセージに優先順位情報を含めるには、[edit system syslog file filename]
階層レベルで explicit-priority
ステートメントを含めます。
[edit system syslog file filename] facility severity; explicit-priority;
構造化データ形式でログインするメッセージには、デフォルトで優先順位情報が含まれます。explicit-priority
ステートメントとともに[edit system syslog file filename]
階層レベルに structured-data
ステートメントを含めると、explicit-priority
ステートメントは無視され、メッセージは構造化データ形式でログに記録されます。
structured-data
ステートメントの詳細については、 構造化データフォーマットでのメッセージのロギングを参照してください。
リモートマシンまたは他のルーティングエンジンに送信されるメッセージに優先度情報を含めるには、[edit system syslog host (hostname | other-routing-engine)]
階層レベルで explicit-priority
ステートメントを含めます。
[edit system syslog host (hostname | other-routing-engine)] facility severity; explicit-priority;
other-routing-engine
オプションはQFXシリーズには適用されません。
メッセージに記録される優先度は、常に元のローカル施設名を示します。リモート宛先にダイレクトされたメッセージに facility-override
ステートメントが含まれている場合、Junos OS システムロギングユーティリティは、メッセージをリモート宛先に送信する際に、メッセージ自体に代替ファシリティ名を使用します。詳細については、 リモート宛先に送信されるシステム ログ メッセージの代替ファシリティ名の変更を参照してください。
explicit-priority
ステートメントが含まれている場合、Junos OS ロギング ユーティリティは、メッセージにファシリティ名と重大度レベルのコードがあれば、それをメッセージタグ名の前に付加します。
FACILITY-severity[-TAG]
(タグは、一部のJunos OSシステムログメッセージに割り当てられた一意の識別子です。)
次の例では、 CHASSISD_PARSE_COMPLETE
メッセージは daemon
ファシリティに属し、重大度 info
(6)が割り当てられています。
Aug 21 12:36:30 router1 chassisd[522]: %DAEMON-6-CHASSISD_PARSE_COMPLETE: Using new configuration
explicit-priority
ステートメントが含まれていない場合、優先度はメッセージに表示されません。
Aug 21 12:36:30 router1 chassisd[522]: CHASSISD_PARSE_COMPLETE: Using new configuration
優先順位情報で報告されたシステムログ機能コードと数値コード
表 2 システムログメッセージに表示される可能性のあるファシリティコードを一覧表示し、ファシリティ名にマッピングします。
コード |
Junos ファシリティ名 |
イベントまたはエラーの種類 |
---|---|---|
|
|
認証および許可の試み |
|
|
スーパーユーザーのみが表示できる認証および許可の試み |
|
|
Junos OS 設定へ変更 |
|
|
指定された設定がそのルーター タイプでは無効 |
|
|
カーネルコンソール出力 r によって /dev/console に書き込まれるメッセージ |
|
|
cronプロセスで実行されたアクションまたは発生したエラー |
|
|
システム プロセスで実行されたアクションや発生したエラー |
|
|
動的フロー キャプチャ プロセスで実行されたアクションや発生したエラー |
|
|
ファイアウォール フィルターで実行されたパケット フィルタリング アクション |
|
|
FTP プロセスで実行されたアクションや発生したエラー |
|
|
Junos OS CLI プロンプトで発行されたコマンド、または Junos XML プロトコルや NETCONF クライアントなどのクライアント アプリケーションによって呼び出されたコマンド |
|
|
Junosカーネルが実行したアクションや発生したエラー |
|
|
ネットワーク タイム プロトコル(NTP)で実行されたアクションや発生したエラー |
|
|
パケット転送エンジンで実行されたアクションや発生したエラー |
|
|
Junosシステムロギングユーティリティで実行されたアクションや発生したエラー |
|
|
ユーザー空間プロセスで実行されたアクションや発生したエラー |
表 3 システムログメッセージに表示される可能性のある数字の重大度コードを一覧表示し、重大度レベルにマッピングします。
数値コード |
重大度レベル |
説明 |
---|---|---|
|
|
ルーターの機能を停止させてしまう、システム パニックなどの状態 |
|
|
システム データベースの破損などの、直ちに修正が必要な状態 |
|
|
ハード エラーなどのクリティカルな状態 |
|
|
通常、緊急、アラート、クリティカルなレベルのエラーほど深刻な結果をもたらさないエラー状態 |
|
|
監視が必要な状態 |
|
|
エラーではないが、特別な対応が必要と思われる状態 |
|
|
興味のあるイベントまたは非エラー状態 |
|
|
ソフトウェア デバッグ メッセージ(テクニカル サポート担当者がこの重大度レベルを設定するように指示した場合にのみ表示されます) |
タイムスタンプに年またはミリ秒を含める
デフォルトでは、標準形式のシステムログメッセージに記録されるタイムスタンプは、次の例のように、メッセージが記録された月、日、時間、分、秒を指定します。
Aug 21 12:36:30
タイムスタンプに年、ミリ秒、またはその両方を含めるには、[edit system syslog]
階層レベルまたは[edit security log]
階層レベルで time-format
ステートメントを含めます。
[edit system syslog] time-format (year | millisecond | year millisecond);
ただし、traceoption メッセージのタイムスタンプはデフォルトでミリ秒単位で指定され、 [edit system syslog time-format]
ステートメントからは独立しています。
変更されたタイムスタンプは、[edit system syslog]
階層レベルの file
、console
、または user
ステートメントによって設定された各宛先に送信されるメッセージで使用されますが、host
ステートメントによって設定された宛先には使用されません。
デフォルトでは、FreeBSD コンソールでは、 host
ステートメントで設定された各宛先に宛てられたシステムログメッセージでは、追加の時間情報は利用できません。しかし、FreeBSD コンソールを使用した Junos OS 固有の実装では、追加の時間情報は、各宛先に送信されるシステムログメッセージで確認できます。
次の例は、ミリ秒 (401) と年 (2006) の両方を含むタイムスタンプの形式を示しています。
Aug 21 12:36:30.401 2006
構造化データ形式でログに記録されるメッセージには、デフォルトで年とミリ秒が含まれます。time-format
ステートメントとともに[edit system syslog file filename]
階層レベルの構造化データステートメントを含めると、time-format
ステートメントは無視され、メッセージは構造化データフォーマットでログに記録されます。
structured-data
ステートメントの詳細については、 構造化データフォーマットでのメッセージのロギングを参照してください。
文字列と正規表現を使用して、ログに記録されたメッセージのセットを絞り込む
定義済みのファシリティは、関連するメッセージをグループ化しますが、メッセージを文字列や正規表現と照合して、ファシリティからのどのメッセージをファイル、ユーザー端末、またはリモート宛先に記録されるかを絞り込むこともできます。
match-strings
および match
設定ステートメントを使用すると、システムログメッセージをそれぞれ文字列または正規表現と照合できます。以下の階層レベルでこれらのステートメントを使用することができます。
[edit system syslog file filename]
(ファイルの場合)[edit system syslog user (username | *)]
(特定のユーザーセッションまたは端末上のすべてのユーザーセッション)[edit system syslog host (hostname | other-routing-engine)]
(リモート接続先の場合)
メッセージを正規表現に対して評価し、指定された宛先に一致するメッセージのみをログに記録するには、 match
ステートメントをインクルードし、正規表現を指定します。
match
"regular-expression";
Junos OS リリース 16.1 以降では、複雑な正規表現との照合よりも CPU への負荷が低いため、単純な文字列比較を使用してメッセージをより効率的にフィルタリングできます。メッセージが宛先に記録されるためにメッセージに表示される必要があるテキスト文字列を指定するには、 match-strings
ステートメントをインクルードし、一致する文字列または文字列のリストを指定します。
match-strings
string-name;
match-strings
[string1 string2];
match-strings
および match
ステートメントは、指定された文字列または正規表現に一致する、設定されたファシリティと重大度を持つメッセージを選択します。match-strings
ステートメントは単純な文字列比較を実行するため、複雑な正規表現との照合に match
ステートメントを使用する場合よりも CPU への負荷が軽減されます。同じ宛先に対して match
ステートメントと match-strings
ステートメントの両方を設定した場合、Junos OS は最初に match-strings
条件を評価します。メッセージに設定された部分文字列のいずれかが含まれている場合、メッセージはログに記録され、 match
条件は評価されません。match-strings
条件が満たされない場合、システムはmatch
設定ステートメントの正規表現に対してメッセージを評価します。
match
ステートメントに正規表現を指定する場合、拡張(最新)UNIX 正規表現には POSIX 標準 1003.2 で定義されている表記を使用します。正規表現の構文の説明はこのドキュメントの範囲を超えていますが、POSIX 標準は米国電気電子学会 (IEEE, http://www.ieee.org) から入手できます。
表 4 は、match ステートメントで使用できる一部の正規表現演算子に一致する文字を指定します。説明では、用語 は、1 つの英数字、または角括弧、括弧、または中括弧で囲まれた文字のセットを指します。
match
ステートメントでは、大文字と小文字は区別されません。
オペレータ | 一致 |
---|---|
.(ピリオド) |
スペース以外の任意の文字の 1 つのインスタンス。 |
* (アスタリスク) |
直前の項の 0 個以上のインスタンス。 |
+(プラス記号) |
直前の項の 1 つ以上のインスタンス。 |
?(疑問符) |
直前の項の 0 個または 1 個のインスタンス。 |
|(パイプ) |
パイプ演算子の両側に表示される項の 1 つ。 |
!(感嘆符) |
式で指定された文字列以外の文字列で、式の先頭に感嘆符が表示される場合。感嘆符の使用はJunos OSに固有です。 |
^ (キャレット) |
キャレットが角括弧の外側に表示される行の先頭。 キャレットが角括弧内の最初の文字である場合、角括弧内に続かない文字の 1 つのインスタンス。 |
$ (ドル記号) |
行の終わり。 |
[ ] (対になった角括弧) |
囲まれた英数字の 1 つのインスタンス。文字の範囲を示すには、ハイフン (-) を使用して範囲の開始文字と終了文字を区切ります。たとえば、[a-z0-9] は任意の文字または数字と一致します。 |
( ) (対になった括弧) |
囲まれた項の評価値の 1 つのインスタンス。括弧は、正規表現での評価の順序を示すために使用されます。 |
文字列と正規表現の使用
interactive-commands
機能に属するメッセージをフィルタリングし、ストリングconfigure
を含むメッセージを root ユーザーの端末に送ります。
[edit system syslog] user root { interactive-commands any; match-strings configure; }
ユーザーが root
コマンドを発行してコンフィグレーションモードに入ると、以下のようなメッセージが configure
ユーザーの端末に表示されます。
timestamp router-name mgd[PID]: UI_CMDLINE_READ_LINE: User 'user', command 'configure private'
daemon
機能に属し、重大度が error
以上のメッセージをフィルタリングして、ファイル/var/log/process-errorsに誘導します。SNMP プロセス(snmpd)によって生成されたメッセージを省略し、代わりに次の /var/log/snmpd-errorsファイルに送信します。
[edit system syslog] file process-errors { daemon error; match "!(.*snmpd.*)"; } file snmpd-errors { daemon error; match-strings snmpd; }
一致ステートメントのJunosシステムログ正規表現演算子
オペレータ |
一致 |
---|---|
|
スペース以外の任意の文字の 1 つのインスタンス。 |
|
直前の項の 0 個以上のインスタンス。 |
|
直前の項の 1 つ以上のインスタンス。 |
|
直前の項の 0 個または 1 個のインスタンス。 |
|
パイプ演算子の両側に表示される項の 1 つ。 |
|
式で指定された文字列以外の文字列で、式の先頭に感嘆符が表示される場合。感嘆符の使用はJunos OS固有です。 |
|
キャレットが角括弧の外側に表示される行の先頭。 キャレットが角括弧内の最初の文字である場合、角括弧内に続かない文字の 1 つのインスタンス。 |
|
行の終わり。 |
|
囲まれた英数字の 1 つのインスタンス。文字の範囲を示すには、ハイフン ( |
|
囲まれた項の評価値の 1 つのインスタンス。括弧は、正規表現での評価の順序を示すために使用されます。 |
ファシリティのシステム ログ記録の無効化
特定のファシリティに属するメッセージのログ記録を無効にするには、設定に facility none
ステートメントを含めます。このステートメントは、例えば、同じ重大度レベルで、少数のファシリティを除くすべてのファシリティに属するメッセージをログに記録する場合に便利です。ログに記録する各ファシリティに ステートメントを含める代わりに、ログに記録しない各ファシリティに対して any severity
ステートメントと facility none
ステートメントを含めることができます。たとえば、以下では、daemon
および kernel
機能からのメッセージを除き、error
レベル以上のすべてのメッセージがコンソールに記録されます。これらのファシリティからのメッセージは、代わりにファイル >/var/log/internals に記録されます。
[edit system syslog] console { any error; daemon none; kernel none; } file internals { daemon info; kernel info; }
例:システム ロギングの設定
次の例は、CLI プロンプトでユーザーが入力したコマンド、Junos OS XML プロトコルや NETCONF クライアント アプリケーションなどのクライアント アプリケーションによって呼び出されたすべてのコマンド、およびすべての認証または許可の試行に関するメッセージのロギングを、ファイル cli-commands とログインしているユーザーの端末の両方に適用する方法を示しています。
[edit system] syslog { file cli-commands { interactive-commands info; authorization info; } user * { interactive-commands info; authorization info; } }
次に、アラームの状態のすべての変更のログ ログをファイル /var/log/alarmsに記録する例を示します。
[edit system] syslog { file alarms { kernel warning; } }
次の例は、コメントで説明されているように、さまざまな種類のメッセージの処理を構成する方法を示しています。情報は、ユーザー alex
端末、リモートマシン、およびコンソールの2つのファイルに記録されます。
[edit system] syslog { /* write all security-related messages to file /var/log/security */ file security { authorization info; interactive-commands info; } /* write messages about potential problems to file /var/log/messages: */ /* messages from "authorization" facility at level "notice" and above, */ /* messages from all other facilities at level "warning" and above */ file messages { authorization notice; any warning; } /* write all messages at level "critical" and above to terminal of user "alex" if */ /* that user is logged in */ user alex { any critical; } /* write all messages from the "daemon" facility at level "info" and above, and */ /* messages from all other facilities at level "warning" and above, to the */ /* machine monitor.mycompany.com */ host monitor.mycompany.com { daemon info; any warning; } /* write all messages at level "error" and above to the system console */ console { any error; } }
以下の例は、以下の重大度レベルで interactive-commands
ファシリティを指定することにより、ユーザーが Junos OS CLI コマンドを発行したときに生成されるメッセージの処理を設定する方法を示しています。
info
- ユーザが CLI の操作モードまたは設定モードのプロンプトでコマンドを発行したときに、メッセージをログに記録します。この例では、メッセージをファイル /var/log/user-actionsに書き込みます。notice
- ユーザが設定モード コマンドrollback
およびcommit
を発行したときにメッセージをログに記録します。この例では、ユーザーphilip
の端末にメッセージを書き込みます。warning
- ユーザーがソフトウェア プロセスを再起動するコマンドを発行したときにメッセージをログに記録します。この例では、メッセージをコンソールに書き込みます。[edit system] syslog { file user-actions { interactive-commands info; } user philip { interactive-commands notice; } console { interactive-commands warning; } }
例:代替ファシリティの割り当て
ローカルルーティングプラットフォームでエラーレベル以上で生成されたすべてのメッセージを、monitor.mycompany.com
と呼ばれるリモートマシンのlocal0
機能に記録します。
[edit system syslog] host monitor.mycompany.com { any error; facility-override local0; }
カリフォルニアにあるルーティングプラットフォームとニューヨークにあるルーティングプラットフォームを構成して、 central-logger.mycompany.com
と呼ばれる単一のリモートマシンにメッセージを送信します。カリフォルニアからのメッセージには代替施設 local0
が割り当てられ、ニューヨークからのメッセージには代替施設 local2
が割り当てられます。
local0
施設内でメッセージを集約するようにカリフォルニアのルーティングプラットフォームを設定します。[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local0; }
ニューヨークのルーティング プラットフォームを設定して、
local2
施設内のメッセージを集約します。[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local2; }
central-logger
では、システム・ロギング・ユーティリティーを構成して、local0
機能からファイル・california-config
にメッセージを書き、local2
機能からファイル・new-york-config
にメッセージを書き込むことができます。