2010年6月3日木曜日

JUNOSの様々なログ設定

このエントリーでは、JUNOSの様々なログ設定に関して紹介します。
具体的に下記の機能を紹介します。
  • コンソールへのログ出力
  • ログ出力の一時停止
  • ログメッセージが表示しているメッセージコードの意味の確認
  • ログメッセージへのtypeの数字を付加
  • monitorコマンドによるログメッセージのリアルタイム表示
コンソールへのログ出力
通常、ログはファイルに出力されますが、コンソールにログを出力することも可能です。設定は下記の通りです。
root@SRX# set system syslog console ファシリティ レベル

ログ出力の一時停止
JUNOSでは、特定の機能を一時停止させたいときには、Cisco IOSみたいにいちいち設定を消さなくても、deactivateコマンドを使用することで一時的に無効にすることができます。
例えば、先ほど紹介した「コンソールへのログ出力」を一時的に止めたいと思います。そのときには、以下のように入力します。

root@SRX# deactivate system syslog console any


上記のコマンドを設定したときのshow configの表示は以下のようになります。
root@SRX# show system syslog console 
inactive: any any;
authorization any;


もし、再度有効にしたい場合は、activateコマンドを使用します。
root@SRX# activate system syslog console any

ログメッセージが表示しているメッセージコードの意味の確認
JUNOSでは、ログメッセージで表示されているメッセージコードが何を意味しているかをhelp syslogコマンドを使用することでJUNOS上で確認することができます。
(メッセージコードは、ログメッセージの中で大文字で表記されている部分のことです)
例えば、以下のようなメッセージが表示されたとします。
May 29 07:14:57  SRX mgd[1326]: UI_CMDLINE_READ_LINE: User 'root', command 'show system syslog '

調べたいときは以下のようにします。
root@SRX> help syslog UI_CMDLINE_READ_LINE  
Name:          UI_CMDLINE_READ_LINE
Message:       User '', command ''
Help:          User entered command at CLI prompt
Description:   The indicated user typed the indicated command at the CLI prompt
               and pressed the Enter key, sending the command string to the
               management process (mgd).
Type:          Event: This message reports an event, not an error
Severity:      info

ログメッセージへのtypeの数字を付加
JUNOSのログメッセージは、メッセージコードなどは記載されていますが、通常のsyslogシステムで使用されているログのレベルを示す数字がデフォルトでは設定されていません。
そこで、ログメッセージにレベルを示す数字も表示させたい場合には、explicit-priorityコマンドを使用します。explicit-priorityコマンドは、ログファイルごとなどの特定のログ設定ごとに設定します。
以下に、authと言うログファイルにログを出力するとき、数字を付加するときの設定とログの表示例を記載します。
root@SRX> show log auth   
May 28 11:25:32  SRX login: LOGIN_PAM_AUTHENTICATION_ERROR: PAM authentication error for user hoge
May 28 11:25:32  SRX login: LOGIN_FAILED: Login failed for user hoge from host
root@SRX> configure 
root@SRX# set system syslog file auth explicit-priority

root@SRX# exit 

root@SRX> show log auth

May 29 09:09:48  SRX login: %AUTH-3-LOGIN_PAM_AUTHENTICATION_ERROR: PAM authentication error for user ohoge
May 29 09:09:48  SRX login: %AUTH-5-LOGIN_FAILED: Login failed for user ohoge from host
May 29 09:10:01  SRX login: %AUTH-6-LOGIN_INFORMATION: User root logged in from host [unknown] on device ttyu0


monitorコマンドによるログメッセージのリアルタイム表示
ログメッセージをコンソールなどにリアルタイムに表示させるには、先ほど紹介したset system syslog consoleコマンドを使用してもいいのですが、commitしなければいけないので気軽に使うというわけにはいきません。
そこで、気軽にリアルタイムにログを確認したい場合には、monitorコマンドを使用します。
monitorコマンドを使用すると、monitorコマンドで指定したファイルにメッセージが追加されると、terminal側にメッセージが表示されます。
monitor startコマンドで表示をスタートし、monitor stopで表示をストップします。
以下に、authと言うログファイルの内容をリアルタイムに確認するときの例を記載します。
root@SRX> monitor start auth 
root@SRX> monitor list 
monitor start "auth" (Last changed May 29 09:24:45)
root@SRX> monitor stop