運用・管理 / ログ


ログメッセージ
ログ出力先
既定のログ出力先
任意設定のログ出力先
ログの閲覧
ログ設定のカスタマイズ
出力先の定義
メッセージフィルターの設定
出力したくないメッセージを除外する(ログ出力抑制機能)
出力時のファシリティー固定設定
初期値への復帰
ログ設定の確認
設定例
syslogサーバーへのログ送信
電子メールでのログ送信


本製品のログ機能について説明します。

ログ機能は初期状態で有効になっており、ランタイムメモリーとフラッシュメモリー上に保存されるよう設定されています。また、重要なログメッセージがコンソールポートにも出力されるよう設定されているほか、ターミナルモニターという機能を使って、任意の管理端末上でリアルタイムにログを確認することもできます。

本製品ではさらに、任意の出力先を定義することにより、ログメッセージをsyslogサーバーに送信したり、特定のメールアドレスに送信したりすることもできます。また、メッセージフィルターを使ってログの出力条件をカスタマイズし、特定の条件を満たしたメッセージだけを保存・出力するよう設定することもできます。

ログメッセージ

本製品が生成するログメッセージは次の各フィールドで構成されています。


各フィールドの意味は次のとおりです。
表 1
フィールド名
意味
date メッセージの生成日付
time メッセージの生成時刻
facility ファシリティー。どの機能グループに関連するメッセージかを示す(別表を参照)
severity ログレベル。メッセージの重大さを示す(別表を参照)
program[pid] メッセージを生成したプログラムの名前とプロセスID(PID)
message メッセージ本文

ファシリティー(facility)には次のものがあります。
表 2
名称
説明
auth 認証サブシステム
authpriv 認証サブシステム(機密性の高いもの)
cron 定期実行デーモン(crond)
daemon システムデーモン
ftp ファイル転送サブシステム
kern カーネル
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)
Note
emailログを使用する場合は、あらかじめメール送信のための基本設定を済ませておく必要があります(mail fromコマンド、mail smtpserverコマンド)。詳しくは「運用・管理」の「メール送信」をご覧ください。

ログの閲覧

メモリーに保存されているログ、すなわち、bufferedログ(RAM上に保存されたログ)とpermanentログ(フラッシュメモリーに保存されたログ)の内容を見るには、それぞれ特権EXECモードのshow logコマンド、show log permanentコマンドを使います。

Note
これらのコマンドは、グローバルコンフィグモードでも実行可能です。

■ 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コマンドを使います。
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

Note
ターミナルモニターは現行のログインセッションにおいてのみ有効なので、ログアウトすると無効になります。

■ consoleログは、出力条件に合致したログメッセージが生成されると、自動的にコンソールポートに出力されます。初期設定では、consoleログにはcriticalレベル以上の重大なメッセージだけが出力されます。

ログ設定のカスタマイズ

ログ機能の設定は、次の2つの要素を組み合わせることによって行います。

  1. 出力先の定義
    出力先には、既定4種と任意2種の合計6種類があります。さらに任意の2種類に関しては、それぞれ複数の出力先を定義できます。

    各出力先において設定できる項目は以下のとおりです。

    表 6:出力先ごとの設定可能項目
    名称
    種別(数)
    出力先指定
    状態設定
    保存量設定
    時差設定
    buffered 既定(1) ○ 有効/無効
    permanent 既定(1) ○ 有効/無効
    monitor 既定(1) △ ターミナルモニターをオン/オフ
    console 既定(1) ○ 有効/無効
    host 任意(複数) IPv4/IPv6アドレス △ 作成/削除
    email 任意(複数) メールアドレス △ 作成/削除


  2. メッセージフィルターの設定
    各出力先定義に対してメッセージフィルターを設定することで、該当出力先への出力条件を指定します。

    メッセージフィルターでは、個々のログメッセージの内容(ログレベル、ファシリティー、生成元プログラム、メッセージ内容)に応じて、出力する・しないを決定します。出力先定義にメッセージフィルターを関連付けることによって、初めてログメッセージが出力されるようになります。

    さらに、メッセージフィルターによって出力対象となったログメッセージの中から、特定の条件に当てはまるものを除外する設定も可能です(ログ出力抑制機能)。出力抑制の条件や設定方法は、メッセージフィルターとほぼ同じです。

以下、各手順について例を挙げながら解説します。

出力先の定義

既定のログ出力先は初期状態で有効になっており、メッセージフィルターの条件に合致したログメッセージが出力されるよう設定されています。

これら既定の出力先へのログ出力を停止したり、各種メモリーへのログ保存量を変更したりするには、以下の各例のようにします。

■ 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

Note
hostログの出力先を定義したら、次にメッセージフィルターを作成して該当syslogサーバーへのログ出力条件を指定してください。出力先にメッセージフィルターを関連付けるまで、ログメッセージは出力されません。詳しくは次項「メッセージフィルターの設定」をご覧ください。

Note
syslogサーバーへのログ送信時に使う始点IPv4/IPv6アドレスは、log host sourceコマンドで明示的に指定することができます。なお、同コマンドの設定はすべてのsyslogサーバーに対して適用されます。


■ 電子メールでログを送信する場合は、宛先のメールアドレスを指定してemailログの出力先を定義します。emailログの出力先は複数定義できます。
awplus(config)# log email admin@example.com

Note
emailログを使用する場合は、あらかじめメール送信のための基本設定を済ませておく必要があります(mail fromコマンド、mail smtpserverコマンド)。詳しくは「運用・管理」の「メール送信」をご覧ください。

Note
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

メッセージフィルターの設定

出力先を定義しただけでは、ログメッセージは出力されません。出力先の定義にメッセージフィルターを関連付け、出力すべきメッセージの条件を指定して初めて、該当出力先にメッセージが出力されるようになります。

既定のログ出力先には初期状態で次のメッセージフィルターが設定されているため、初期設定の出力条件で問題がなければ、設定は不要です。


既定の出力先への出力条件を変更したい場合は、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

■ 特定のプログラムが生成したログメッセージだけを出力させたいときは、log(filter)コマンドのprogramパラメーターにプログラム名を指定します。たとえば、スパニングツリー関連のメッセージだけを出力させたい場合は次のようにします。
awplus(config)# log host 192.168.10.2 program stp

■ メッセージフィルターの設定では、メッセージに「~を含む」という条件も使えます。たとえば、「FAILED LOGIN」という文字列を含むメッセージだけを出力したい場合は、次のようにします。
awplus(config)# log host 192.168.10.2 msgtext FAILED LOGIN

Note
msgtextパラメーターは、msgtextキーワード以降行末までが値と見なされるため、例のように値に空白が含まれていてもかまいません。ただし、必ずコマンドラインにおける最後のパラメーターとして指定してください。

■ メッセージフィルターでは、複数の条件を同時に指定することもできます。たとえば、epsr関連のメッセージのうち、warningsレベル以上(レベル0~4)以上のメッセージだけを出力したい場合は次のようにします。
awplus(config)# log host 192.168.10.2 level warnings program epsr

Note
複数の条件を同時に指定する場合で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
  Statistics ..... Not available
Permanent log:
  Status ......... enabled
  Maximum size ... 50kb
  Filters:
 *1   Level ...... warnings
      Program .... any
      Facility ... any
      Msg text ... any
  Statistics ..... Not available
Host 192.168.10.2
  Time offset .... +0:00
  Filters:
  1   Level ...... warnings
      Program .... rip
      Facility ... any
      Msg text ... any
  2   Level ...... any
      Program .... any
      Facility ... auth
      Msg text ... any
  3   Level ...... any
      Program .... any
      Facility ... authpriv
      Msg text ... any
  Statistics ..... Not available
Monitor log:
  Filters:
 *1   Level ...... debugging
      Program .... any
      Facility ... any
      Msg text ... any
  Statistics ..... Not available
Console log:
  Status ......... enabled
  List of consoles:
  1 .............. ttyS0
  Filters:
 *1   Level ...... critical
      Program .... any
      Facility ... any
      Msg text ... any
  Statistics ..... Not available

設定例

syslogサーバーへのログ送信

ここでは、すべてのログをsyslogサーバーに転送するための設定を示します。IP等の設定は終わっているものとします。

  1. hostログの出力先を定義します。ここでは、syslogサーバーのIPアドレスとして192.168.10.2を指定しています。
    awplus(config)# log host 192.168.10.2
    

  2. すべてのログメッセージを出力するメッセージフィルターを設定します。
    awplus(config)# log host 192.168.10.2 level debugging
    

syslogサーバー192.168.10.2がリモートからの接続を受け付けるよう設定されていれば、本製品の生成するすべてのログメッセージがsyslogサーバーに送られ、記録されるようになります。

電子メールでのログ送信

ログメッセージを電子メールで特定のメールアドレスに送りたい場合は、次のようにします。

  1. メール送信機能の基本設定をします。詳しくは「運用・管理」の「メール送信」をご覧ください。
    awplus(config)# mail from manager@bulbul.example.com
    awplus(config)# mail smtpserver 172.17.28.1
    

  2. emailログの出力先を定義します。ここでは、宛先メールアドレスとしてadmin@example.comを指定しています。
    awplus(config)# log email admin@example.com
    

  3. 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) 2012 - 2017 アライドテレシスホールディングス株式会社

PN: 613-001681 Rev.R