見出し画像

【Cisco】 システムログの設定と確認

システムログ

各機器からのメッセージを表示し、記録すること。

ファシリティ

ログメッセージが発生した装置の機能や種類を示す

  • kern:カーネルメッセージ

  • user:ユーザー操作

  • mail:メールシステム

  • daemon:システムデーモン

  • auth:認証システム

  • syslog:syslogdによるログメッセージ

  • lpr:プリンタサブシステム

  • news:Usenetニュースサブシステム

  • uucp:UUCPサブシステム

  • cron:スケジュールされたタスク


レベル

メッセージの重要度を示す

  • 0:emerg(緊急)

  • 1:alert(警告)

  • 2:crit(重大)

  • 3:err(エラー)

  • 4:warning(警告)

  • 5:notice(通知)

  • 6:info(情報)

  • 7:debug(デバッグ)


システムログの表示

Feb 16 12:34:56 hostname %MODULE-LEVEL-SEVERITY-MNEMONIC: Message text
  • Feb 16 12:34:56: ログが記録された日時。

  • hostname: ログを生成したホスト名。

  • %MODULE-LEVEL-SEVERITY-MNEMONIC: ログのファシリティ、レベル、および種類を示す情報。

  • Message text: ログに含まれるメッセージの本文


出力先の設定

コンソールライン

コンソールラインにログメッセージを出力するには、logging consoleコマンドを設定する。デフォルトのログレベルは7。

# グローバルコンフィグレーションモード
Router(config)# logging console <ログレベル>
Router(config)# logging console 4


仮想ターミナルライン

VTY 0 から VTY 15 までの番号が割り当てられ、設定によりシステムログを仮想ターミナルラインに表示できる。デフォルトではログは表示されない。特権モードで行う。

# ログの内容がリアルタイムで表示されるが、
# 設定したログレベルとは無関係ですべてのログメッセージが表示される
terminal monitor

# 停止
terminal no monitor

# レベルの変更
logging monitor <level>


RAMへの保存

# グローバルコンフィグレーションモード
Router(config)# logging buffered <buffer-size or level>

レベルの場合は1〜7、サイズの場合は4096以上を設定する。


Syslogサーバへの保存

# グローバルコンフィグレーションモード
Router(config)# logging <SyslogサーバのIPアドレス or host名>

# ログの制御
# レベルがinformational以上のログと、
# ファシリティがlocal3のログだけをSyslogサーバに送信
logging trap informational
logging facility local3
logging <SyslogサーバのIPアドレス>


タイムスタンプのフォーマット設定

service timestamps <log | debug> [< datetime { [msec] [localtime] [show-timezone] [year] } | uptime >]
Router(config)# service timestamps log datetime msec
  • datetime: 日付と時刻を示すタイムスタンプを有効にする

  • msec: ミリ秒単位でタイムスタンプを表示する

  • localtime: タイムスタンプをローカル時刻で表示する

  • show-timezone: タイムゾーンをタイムスタンプに表示する

  • year: タイムスタンプに年を含める

  • debug: デバッグレベルのログにのみタイムスタンプを表示する

  • uptime: ルーターの起動からの経過時間をタイムスタンプに表示


ログの確認

show loggingコマンドを使用して特権モードで確認する。

show logging

# 特定のログをフィルタリング
show logging | include フィルター条件

フィルター条件には、ログメッセージに含まれるキーワードやフレーズを指定することができ、正規表現を使用することもできる。

実行例

Router# show logging

Syslog logging: enabled (0 messages dropped, 0 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)

No Active Message Discriminator.

No Inactive Message Discriminator.

Console logging: level debugging, 7674 messages logged, xml disabled,
                     filtering disabled
Buffer logging:  level debugging, 7684 messages logged, xml disabled,
                    filtering disabled
Logging Exception size (4096 bytes)
Count and timestamp logging messages: disabled
Persistent logging: disabled

No active filter modules.

    Trap logging: level informational, 7643 message lines logged
        Logging to 192.168.1.1, 0 message lines logged, xml disabled,
            logging to 192.168.2.1, 7643 message lines logged, xml disabled,
            filtering disabled
        Logging Source-Interface:       VRF Name:

Log Buffer (8192 bytes):
  • Console logging: コンソールに出力されるログのレベルと、出力されたメッセージ数などが表示。

  • Buffer logging: バッファに記録されるログのレベルと、記録されたメッセージ数などが表示。

  • Logging Exception size: 例外ログのサイズが 4096 バイト

  • Count and timestamp logging messages: カウントとタイムスタンプを記録するログメッセージが無効になっている


デバッグメッセージの表示

特権モードで確認する。

Router# debug <ログ種別> <詳細なログ種別>
Router# debug bgp traffic

<ログ種別>
特定のログ種別(例えば、BGP、OSPF、EIGRPなど)を指定
<詳細なログ種別>
詳細なログ種別(例えば、トラフィック、エラー、プロトコル)を指定

実行例

# OSPFプロトコルのhelloメッセージに関するデバッグ情報を表示
Router# debug ip ospf hello

OSPF hello events debugging is on

デバッグを無効化

Router# undebug all

Router# no debug all

undebug <ログ種別> <詳細なログ種別>: 指定したログ種別、詳細なログ種別のデバッグを無効化することもできる。


注意事項

ネットワークトラフィックに対する詳細な情報を提供するが、デバッグ情報がコンソール画面に大量に出力されるため、ネットワークのパフォーマンスに悪影響を与える場合がある。

そのため、デバッグコマンドは必要な場合に限り使用し、実行する際は、必ず不要なデバッグを無効にし、デバッグ情報を取得したらすぐにデバッグを無効にする。
さらに、デバッグ情報には、パスワードやセキュリティに関する情報が含まれることがあるので、取り扱いに注意が必要。


よろしければサポートお願いします!よりいい情報を発信します。