運用・管理 / ログ
本製品のログ機能について説明します。
ログ機能は初期状態で有効になっており、ランタイムメモリーとフラッシュメモリー上に保存されるよう設定されています。また、重要なログメッセージがコンソールポートにも出力されるよう設定されているほか、ターミナルモニターという機能を使って、任意の管理端末上でリアルタイムにログを確認することもできます。
本製品ではさらに、任意の出力先を定義することにより、ログメッセージをsyslogサーバーに送信したり、特定のメールアドレスに送信したりすることもできます。また、メッセージフィルターを使ってログの出力条件をカスタマイズし、特定の条件を満たしたメッセージだけを保存・出力するよう設定することもできます。
本製品はリアルタイムクロックを内蔵していないため、コマンドによる再起動、もしくは電源断による再起動が発生するたびに時刻をあわせる必要があります。これは、clock set コマンドを使って手動で行うこともできますが、NTPサーバーにアクセスできる環境では、NTPの利用をおすすめします。詳細は「運用・管理」/「NTP」 をご覧ください。
ログメッセージ
本製品が生成するログメッセージは次の各フィールドで構成されています。
<date> <time> <facility>.<severity> <program[<pid>]>: <message>
各フィールドの意味は次のとおりです。
表 1
フィールド名
意味
date
メッセージの生成日付
time
メッセージの生成時刻
facility
ファシリティー。どの機能グループに関連するメッセージかを示す(別表を参照)
severity
ログレベル。メッセージの重大さを示す(別表を参照)
program[pid]
メッセージを生成したプログラムの名前とプロセスID(PID)
message
メッセージ本文
本製品はリアルタイムクロックを内蔵していないため、コマンドによる再起動、もしくは電源断による再起動が発生するたびに時刻をあわせる必要があります。これは、clock set コマンドを使って手動で行うこともできますが、NTPサーバーにアクセスできる環境では、NTPの利用をおすすめします。詳細は「運用・管理」/「NTP」 をご覧ください。
一度も時刻合わせをしていない場合は、デフォルトの時刻「2010-01-01 00:00:00」からシステム時計がスタートします。
ファシリティー
ファシリティー(facility)には次のものがあります。
表 2
名称
説明
auth
認証サブシステム
authpriv
認証サブシステム(機密性の高いもの)
cron
定期実行デーモン(crond)
daemon
システムデーモン
ftp
ファイル転送サブシステム
kern
カーネル
local5
ローカル定義用ファシリティーの1つだが、本製品では初期設定でUTM関連機能によって使用
lpr
プリンタースプーラーサブシステム
mail
メールサブシステム
news
ネットニュースサブシステム
syslog
syslogデーモン(syslogd)
user
ユーザープロセス
uucp
UUCPサブシステム
ログレベル
ログレベル(severity)には次のものがあります。各レベルには番号と名称が付けられており、番号は小さいほど重大であることを示します。
表 3
数字
名称
説明
0
emergencies
システムが使用不能であることを示す
1
alerts
ただちに対処を要する状況であることを示す
2
critical
重大な問題が発生したことを示す
3
errors
一般的なエラーメッセージ
4
warnings
警告メッセージ
5
notices
エラーではないが、管理者の注意を要するかもしれないメッセージ
6
informational
通常運用における詳細情報
7
debugging
きわめて詳細な情報
ログ出力先
本製品内部で生成されたログメッセージは、あらかじめ定義しておいた「ログ出力先」に出力されます。ログメッセージがどの出力先に出力されるかは、各出力先に関連付けられた「メッセージフィルター」(出力条件)の内容によって決まります。
設定によりログメッセージを複数の出力先に出力したり、まったく出力しないよう設定したりすることも可能です。
既定のログ出力先
初期状態では、次に示す4つのログ出力先(既定のログ出力先)が定義されており、それぞれ以下の基準でログメッセージを出力するよう設定されています。
これら既定のログ出力先は、個別に出力を停止(無効化)したり、出力条件を変更したり、保存サイズを変更したりできます。詳しくは以降の各節をご覧ください。
表 4:既定のログ出力先
名称
出力先
出力条件
備考
buffered
ランタイムメモリー
noticesレベル以上(0~5)
RAMに50KByteまで保存。50KByteを超えた場合は古いメッセージから順に消去
permanent
フラッシュメモリー
warningsレベル以上(0~4)
フラッシュメモリーに50KByteまで保存。50KByteを超えた場合は古いメッセージから順に消去
monitor
ターミナルモニター
debuggingレベル以上(0~7)
任意の端末でterminal monitor コマンドを入力することにより、該当端末の画面にリアルタイムで出力されるようになる
console
コンソールポート
criticalレベル以上(0~2)
コンソールターミナルの画面にリアルタイムで出力される
任意設定のログ出力先
本製品では、既定のログ出力先に加え、次の2種類の出力先を任意で定義することもできます。同じ種類の出力先を複数定義することも可能です(たとえば、syslogサーバー192.168.10.5と192.168.10.11)。初期状態では、任意設定のログ出力先は定義されていません。
これら任意設定のログ出力先を定義する方法については、以降の各節をご覧ください。
表 5:任意設定のログ出力先
名称
出力先
出力条件
備考
host
syslogサーバー(IPv4/IPv6アドレス)
任意に設定可
出力条件に合致したメッセージをsyslogプロトコルで送信
email
電子メールアドレス
任意に設定可
出力条件に合致したメッセージを電子メールとして送信(SMTP)
emailログを使用する場合は、あらかじめメール送信のための基本設定を済ませておく必要があります(mail from コマンド、mail smtpserver コマンド)。詳しくは「運用・管理」の「メール送信」 をご覧ください。
ログの閲覧
メモリーに保存されているログ、すなわち、bufferedログ(RAM上に保存されたログ)とpermanentログ(フラッシュメモリーに保存されたログ)の内容を見るには、それぞれ特権EXECモードのshow log コマンド、show log permanent コマンドを使います。
これらのコマンドは、グローバルコンフィグモードでも実行可能です。
■ bufferedログ、permanentログを見るにはそれぞれ次のようにします。
awplus# show log ↓
awplus# show log permanent ↓
■ 最新の10件だけを見たいときは次のようにします。
awplus# show log tail ↓
awplus# show log permanent tail ↓
■ tailパラメーターに数値を指定すれば、指定件数の最新メッセージだけを見ることができます。前述のとおり、省略時は最新の10個が表示されます。
awplus# show log tail 50 ↓
awplus# show log permanent tail 50 ↓
■ 特定のメッセージだけを表示させたい場合は、モディファイアを使用します。たとえば、「FAILED」という文字列を含むメッセージだけを表示させたい場合は、includeフィルターを使って次のようにします。
awplus# show log | include FAILED ↓
2012 Jan 14 00:57:25 authpriv.notice login: FAILED LOGIN 1 FROM (null) FOR manag
er, Authentication failure
モディファイアの詳細については、「運用・管理」の「コマンドラインインターフェース(CLI)」 をご覧ください(「モディファイアとリダイレクション」)。
■ bufferedログ、permanentログを消去するには、clear log コマンドを使います。
単に「clear log」とした場合は、bufferedログとpermanentログの両方が消去されます。
awplus# clear log buffered ↓
awplus# clear log permanent ↓
awplus# clear log ↓
monitorログとconsoleログは、管理端末の画面にリアルタイムで出力されます。
■ monitorログを見るには、管理端末上でterminal monitor コマンドを実行し、「ターミナルモニター」をオンにします。これにより、monitorログの出力条件に合致するメッセージが、該当端末画面にリアルタイムに出力されるようになります。初期設定では、monitorログにはすべてのメッセージ(debuggingレベル以上のメッセージ)を出力するよう設定してあるため、ターミナルモニターをオンにすると該当端末には大量のメッセージが表示されます。
awplus# terminal monitor ↓
01:09:10 syslog: 2. init app syslog-ng sessPt=268908776, addr=805392384
01:09:35 login: pam_unix(login:auth): authentication failure; logname= uid=0 eui
d=0 tty=pts/1 ruser= rhost=localhost user=manager
01:09:36 login: FAILED LOGIN 1 FROM localhost FOR manager, Authentication failur
e
01:09:38 login: pam_unix(login:session): session opened for user manager by (uid
=0)
01:09:38 login: LOGIN ON pts/1 BY manager FROM localhost
...
■ ターミナルモニターをオフにするには、terminal monitor コマンドを「terminal no monitor」の形式で実行します。monitorログはプロンプトと非同期で出力されるため、行頭にコマンドプロンプトが表示されていない場合もありますが、気にせずに「terminal no monitor」と入力し、Enterキーを押せば問題ありません。あるいは、Enterキーを押してコマンドプロンプトを表示させてからコマンドを入力してもかまいません(この場合も入力途中に次のログメッセージが出力される可能性があります)。
01:09:38 login: pam_unix(login:session): session opened for user manager by (uid
=0)
01:09:38 login: LOGIN ON pts/1 BY manager FROM localhost
...
awplus# terminal no monitor ↓
ターミナルモニターは現行のログインセッションにおいてのみ有効なので、ログアウトすると無効になります。
■ consoleログは、出力条件に合致したログメッセージが生成されると、自動的にコンソールポートに出力されます。初期設定では、consoleログにはcriticalレベル以上の重大なメッセージだけが出力されます。
ログ設定のカスタマイズ
ログ機能の設定は、次の2つの要素を組み合わせることによって行います。
出力先の定義
出力先には、既定4種と任意2種の合計6種類があります。さらに任意の2種類に関しては、それぞれ複数の出力先を定義できます。
各出力先において設定できる項目は以下のとおりです。
表 6:出力先ごとの設定可能項目
名称
種別(数)
出力先指定
状態設定
保存量設定
時差設定
buffered
既定(1)
-
○ 有効/無効
○
-
permanent
既定(1)
-
○ 有効/無効
○
-
monitor
既定(1)
-
△ ターミナルモニターをオン/オフ
-
-
console
既定(1)
-
○ 有効/無効
-
-
host
任意(複数)
IPv4/IPv6アドレス
△ 作成/削除
-
○
email
任意(複数)
メールアドレス
△ 作成/削除
-
○
既定のログ出力先のうち、buffered、permanent、consoleに関しては、有効(出力する)・無効(出力しない)の設定変更が可能です。
既定のログ出力先のうち、monitorに関しては、管理端末ごとにターミナルモニターをオン・オフすることで出力する・しないを制御するため、monitorログ総体としての有効・無効設定はありません。
既定のログ出力先のうち、buffered、permanentに関しては、保存するメッセージの最大量(KByte)を変更可能です。
任意設定のログ出力先(host、email)に関しては、syslogサーバーのIPv4/IPv6アドレスや電子メールアドレスを指定することで、新規出力先を定義できます。
任意設定のログ出力先(host、email)に関しては、出力先(syslogサーバーや電子メール受信者)との時差を設定できます。時差を設定した場合、ログメッセージ中の時刻情報が受信側の時刻に変換された上で送信されます。
メッセージフィルターの設定
各出力先定義に対してメッセージフィルターを設定することで、該当出力先への出力条件を指定します。
メッセージフィルターでは、個々のログメッセージの内容(ログレベル、ファシリティー、生成元プログラム、メッセージ内容)に応じて、出力する・しないを決定します。出力先定義にメッセージフィルターを関連付けることによって、初めてログメッセージが出力されるようになります。
さらに、メッセージフィルターによって出力対象となったログメッセージの中から、特定の条件に当てはまるものを除外する設定も可能です(ログ出力抑制機能)。出力抑制の条件や設定方法は、メッセージフィルターとほぼ同じです。
以下、各手順について例を挙げながら解説します。
出力先の定義
既定のログ出力先は初期状態で有効になっており、メッセージフィルターの条件に合致したログメッセージが出力されるよう設定されています。
これら既定の出力先へのログ出力を停止したり、各種メモリーへのログ保存量を変更したりするには、以下の各例のようにします。
■ bufferedログ、permanentログ、consoleログへの出力を停止するには、log コマンドをno形式でそれぞれ次のように実行します。
awplus(config)# no log buffered ↓
awplus(config)# no log permanent ↓
awplus(config)# no log console ↓
■ monitorログは、ターミナルモニターをオンにするまで実際には出力されません。出力を開始するにはterminal monitor コマンドを実行してください。また、出力を停止するにはterminal monitor コマンドを「terminal no monitor」の形式で実行してください。
awplus# terminal monitor ↓
...
awplus# terminal no monitor ↓
■ メモリー上にログメッセージを保存するbufferedログとpermanentログでは、保存するメッセージの最大量を変更することができます。これにはlog size コマンドを使います。
たとえば、bufferedログの保存メッセージ量を200KByteに変更するには、次のようにします。初期値は50KByteです。
awplus(config)# log buffered size 200 ↓
任意設定のログ出力先は初期状態では定義されていません。
syslogプロトコルや電子メールでログを出力するには、log コマンドを使って最初に出力先を定義する必要があります。以下に例を示します。
■ syslogサーバーにログを送信する場合は、syslogサーバーのIPv4/IPv6アドレスを指定してhostログの出力先を定義します。hostログの出力先は複数定義できます。
awplus(config)# log host 192.168.10.2 ↓
hostログの出力先を定義したら、次にメッセージフィルターを作成して該当syslogサーバーへのログ出力条件を指定してください。出力先にメッセージフィルターを関連付けるまで、ログメッセージは出力されません。詳しくは次項「メッセージフィルターの設定」をご覧ください。
syslogサーバーへのログ送信時に使う始点IPv4/IPv6アドレスは、log host source コマンドで明示的に指定することができます。なお、同コマンドの設定はすべてのsyslogサーバーに対して適用されます。
■ 電子メールでログを送信する場合は、宛先のメールアドレスを指定してemailログの出力先を定義します。emailログの出力先は複数定義できます。
awplus(config)# log email admin@example.com ↓
emailログを使用する場合は、あらかじめメール送信のための基本設定を済ませておく必要があります(mail from コマンド、mail smtpserver コマンド)。詳しくは「運用・管理」の「メール送信」 をご覧ください。
emailログの出力先を定義したら、次にメッセージフィルターを作成して該当メールアドレスへのログ出力条件を指定してください。出力先にメッセージフィルターを関連付けるまで、ログメッセージは出力されません。詳しくは次項「メッセージフィルターの設定」をご覧ください。
■ hostログとemailログでは、出力先(syslogサーバーや電子メール受信者)のタイムゾーンを設定できます。これにはlog time コマンドを使います。同コマンドで指定したタイムゾーンが本装置と異なる場合は、ログメッセージ中の時刻情報が受信側の時刻に変換された上で送信されます。
たとえば、出力先のほうが本装置の設置場所よりも3時間進んでいる場合は次のように設定します。この場合、該当出力先に送信するメッセージ内の時刻情報は3時間加算されて送信されます。
awplus(config)# log host 192.168.10.2 time local-offset plus 3 ↓
出力先(syslogサーバーや電子メール受信者)のタイムゾーンは、UTC(協定世界時)からの時差としても設定できます。たとえば、さきほどのsyslogサーバー192.168.20.2のタイムゾーンがUTCより12時間進んでいるなら、次のように設定することも可能です。
awplus(config)# log host 192.168.10.2 time utc-offset plus 12 ↓
出力先(syslogサーバーや電子メール受信者)と本装置との間に時差がない場合は、log time コマンドでキーワードlocalを指定します。これは初期値なので、通常log time コマンドを実行する必要はありませんが、いったん時差を指定した後で時差なしに戻したいときは次のようにします。
awplus(config)# log host 192.168.10.2 time local ↓
■ hostログ、emailログの出力先を削除するには、log コマンドをno形式で実行します。たとえば、電子メールアドレスadmin@example.comへのログ送信を停止するには、次のようにします。
awplus(config)# no log email admin@example.com ↓
メッセージフィルターの設定
出力先を定義しただけでは、ログメッセージは出力されません。出力先の定義にメッセージフィルターを関連付け、出力すべきメッセージの条件を指定して初めて、該当出力先にメッセージが出力されるようになります。
既定のログ出力先には初期状態で次のメッセージフィルターが設定されているため、初期設定の出力条件で問題がなければ、設定は不要です。
buffered:noticesレベル以上(レベル0~5)のメッセージを出力
permanent:warningsレベル以上(レベル0~4)のメッセージを出力
monitor:debuggingレベル以上(レベル0~7)のメッセージ(すべてのメッセージ)を出力
console:criticalレベル以上(レベル0~2)のメッセージを出力
前記出力先への出力条件を変更したい場合は、log(filter) コマンドを使って、それぞれの出力先に設定されたメッセージフィルターの内容を変更します。次に例を示します。
■ bufferedログへの保存条件を「warningsレベル以上(レベル0~4)」に変更するには、log(filter) コマンドを使って次のようにします。
bufferedログにはあらかじめ「noticesレベル以上」というエントリーが設定されているので、2つ目のコマンドではこれを削除しています。
awplus(config)# log buffered level warnings ↓
awplus(config)# no log buffered level notices ↓
任意設定のログ出力先(hostログ、emailログ)の場合、log コマンドで出力先を定義した直後はメッセージフィルターが関連付けられていないため、実際にはメッセージが出力されません。以下の各例を参考にして、各出力先にメッセージフィルターを設定してください。
■ すべてのログメッセージを出力したいときは、log(filter) コマンドで次のように「level debugging」を指定します。
awplus(config)# log host 192.168.10.2 level debugging ↓
■ errorsレベル以上(レベル0~3)のメッセージだけを出力したいときは、次のようにします。
awplus(config)# log host 192.168.10.2 level errors ↓
ログレベルは次のように数字で指定することもできます。
awplus(config)# log host 192.168.10.2 level 3 ↓
■ 特定のファシリティーに関するログメッセージだけを出力したいときは、log(filter) コマンドのfacilityパラメーターにファシリティー名を指定します。たとえば、認証関連のメッセージだけを出力させたい場合は次のようにします。
awplus(config)# log host 192.168.10.2 facility auth ↓
awplus(config)# log host 192.168.10.2 facility authpriv ↓
■ メッセージフィルターの設定では、メッセージに「~を含む」という条件も使えます。たとえば、「FAILED LOGIN」という文字列を含むメッセージだけを出力したい場合は、次のようにします。
awplus(config)# log host 192.168.10.2 msgtext FAILED LOGIN ↓
msgtextパラメーターは、msgtextキーワード以降行末までが値と見なされるため、例のように値に空白が含まれていてもかまいません。ただし、必ずコマンドラインにおける最後のパラメーターとして指定してください。
■ メッセージフィルターでは、複数の条件を同時に指定することもできます。たとえば、epsr関連のメッセージのうち、warningsレベル以上(レベル0~4)以上のメッセージだけを出力したい場合は次のようにします。
awplus(config)# log host 192.168.10.2 level warnings program epsr ↓
複数の条件を同時に指定する場合でmsgtextパラメーターを使用する場合は、必ずmsgtextパラメーターを最後に記述してください。msgtextパラメーターは、msgtextキーワード以降行末までが値と見なされるためです。
■ 出力先定義からメッセージフィルターを削除するにはlog(filter) コマンドをno形式で実行します。
awplus(config)# no log host 192.168.10.2 msgtext FAILED LOGIN ↓
出力したくないメッセージを除外する(ログ出力抑制機能)
メッセージフィルターによって出力対象となったログメッセージの中に一部出力したくないものが混じっている場合は、メッセージフィルターとほぼ同じ条件指定によって、その出力を抑制することができます。
ログ出力抑制機能の設定は、ログ出力先ごとにlog exclude コマンドで除外条件を指定することによって行います。
■ bufferedログに「martian」という文字列を含むログメッセージが出力されないようにするには次のようにします。
awplus(config)# log buffered exclude msgtext martian ↓
出力時のファシリティー固定設定
個々のログメッセージは個別のファシリティー値を持ち、初期設定では各々のファシリティーで出力されますが、すべてのログメッセージを特定のファシリティーで出力させる設定も可能です。
ファシリティーの固定設定はlog facility コマンドで行います。この設定はすべての出力先、ログメッセージに適用されます。
■ すべてのログメッセージをlocal1ファシリティーで出力するには次のようにします。
awplus(config)# log facility local1 ↓
■ ファシリティーの固定設定を解除し、各メッセージ固有のファシリティーで出力する動作に戻すにはlog facility コマンドをno形式で実行します。
awplus(config)# no log facility ↓
初期値への復帰
ログ設定(出力先およびメッセージフィルター)を初期値に戻すには、default log コマンドを使います。
■ 既定のログ出力先(buffered、permanent、monitor、console)に対してdefault log コマンドを実行すると、出力の状態(有効・無効)、保存メッセージ量、メッセージフィルターの設定が初期値に戻ります。
awplus(config)# default log buffered ↓
awplus(config)# default log permanent ↓
awplus(config)# default log monitor ↓
awplus(config)# default log console ↓
■ 任意設定のログ出力先(host、email)に対してdefault log コマンドを実行すると、時差設定はlocal(本装置と同じ)に、メッセージフィルターはなしの状態に戻ります。
awplus(config)# default log host 192.168.10.2 ↓
awplus(config)# default log email admin@example.com ↓
ログ設定の確認
■ ログの出力先定義、および、各出力先に関連付けられているメッセージフィルターの内容は、show log config コマンドで確認できます。これは特権EXECモードのコマンドですが、グローバルコンフィグモードでも実行できます。
awplus(config)# show log config ↓
Buffered log:
Status ......... enabled
Maximum size ... 50kb
Filters:
1 Level ...... warnings
Program .... any
Facility ... any
Msg text ... any
Type ....... include
Statistics ..... Not available
Permanent log:
Status ......... enabled
Maximum size ... 50kb
Filters:
*1 Level ...... warnings
Program .... any
Facility ... any
Msg text ... any
Type ....... include
Statistics ..... Not available
Host 192.168.10.2
Time offset .... +0:00
Filters:
1 Level ...... warnings
Program .... rip
Facility ... any
Msg text ... any
Type ....... include
2 Level ...... any
Program .... any
Facility ... auth
Msg text ... any
Type ....... include
3 Level ...... any
Program .... any
Facility ... authpriv
Msg text ... any
Type ....... include
Statistics ..... Not available
Monitor log:
Filters:
*1 Level ...... debugging
Program .... any
Facility ... any
Msg text ... any
Type ....... include
Statistics ..... Not available
Console log:
Status ......... enabled
List of consoles:
1 .............. ttyS0
Filters:
*1 Level ...... critical
Program .... any
Facility ... any
Msg text ... any
Type ....... include
Statistics ..... Not available
設定例
syslogサーバーへのログ送信
ここでは、すべてのログをsyslogサーバーに転送するための設定を示します。IP等の設定は終わっているものとします。
log コマンドでhostログの出力先を定義します。ここでは、syslogサーバーのIPアドレスとして192.168.10.2を指定しています。
awplus(config)# log host 192.168.10.2 ↓
log(filter) コマンドですべてのログメッセージを出力するメッセージフィルターを設定します。
awplus(config)# log host 192.168.10.2 level debugging ↓
syslogサーバー192.168.10.2がリモートからの接続を受け付けるよう設定されていれば、本製品の生成するすべてのログメッセージがsyslogサーバーに送られ、記録されるようになります。
電子メールでのログ送信
ログメッセージを電子メールで特定のメールアドレスに送りたい場合は、次のようにします。
メール送信機能の基本設定をします。詳しくは「運用・管理」の「メール送信」 をご覧ください。
awplus(config)# mail from manager@bulbul.example.com ↓
awplus(config)# mail smtpserver 172.17.28.1 ↓
log コマンドでemailログの出力先を定義します。ここでは、宛先メールアドレスとしてadmin@example.comを指定しています。
awplus(config)# log email admin@example.com ↓
log(filter) コマンドでcriticalレベル(レベル0~2)の重大なメッセージと「FAILED LOGIN」という文字列を含むメッセージだけを出力するメッセージフィルターを設定します。
awplus(config)# log email admin@example.com level critical ↓
awplus(config)# log email admin@example.com msgtext FAILED LOGIN ↓
(C) 2024-2025 アライドテレシスホールディングス株式会社
PN: 613-003360 Rev.C