Ciscoルータ/Catalystスイッチ debugコマンドを使用して障害情報を収集をする

Network

debugコマンドは、主にトラブルシューティングに使用する重要なコマンドです。
但し、このコマンドは特定の障害をトラブルシューティングする場合に使用します。

また、debugコマンドはネットワーク機器に負荷を掛けるコマンドです。場合によっては、運用中のルータに使用すると通信障害になる可能性がありますので、必ずネットワーク機器に精通している方の指示に従って使用するようにしましょう。

debug出力先

debug出力先について、推奨するのが、内部バッファへのメッセージのロギングとSyslogサーバへの出力になります。理由としては、コンソール ポートで過度のデバッグを行うとハングする場合があるためです。

内部バッファへのメッセージのロギング

メッセージを内部バッファにログするには、logging buffered ルータ設定コマンドを使用します。

logging buffered コマンドは、ログ メッセージをコンソールに表示するのではなく、内部バッファにコピーします。 バッファは実際には循環しており、新しいメッセージによって古いメッセージが上書きされます。

バッファ内にログされているメッセージを表示するには、特権 EXEC コマンド show logging を使用します。

Syslogサーバへのロギング

メッセージを syslog サーバ ホストにログするには、logging ルータ設定コマンドを使用します。 
このコマンドの構文は次のとおりです。

Cisco(config)# logging host <ip-address>

logging コマンドは、ロギング メッセージを受信する syslog サーバ ホストを指定します。
引数 <ip-address> は、ホストの IP アドレスです。

debug設定前の準備

1. 使用するターミナル エミュレータ ソフトウェア(HyperTerminal など)をセットアップして、デバッグ出力をファイルに取り込みます。 たとえば HyperTerminal では、[Transfer] をクリックしてから [Capture Text] をクリックして、適切なオプションを選択します。 詳細は、『ハイパーターミナルからのテキスト出力のキャプチャ』を参照してください。 その他のターミナル エミュレーション ソフトウェアについては、付属のマニュアルを参照してください。

ハイパーターミナルからのテキスト出力のキャプチャ
Microsoft HyperTerminal は、最もよく使われているターミナル エミュレータ プログラムの 1 つです。このドキュメントでは、シスコ ルータで HyperTerminal のいくつかの機能を使用する方法を説明します。

2.service timestamps コマンドを使用して、ミリ秒(msec)のタイムスタンプを有効にします。このコマンドの構文は次のとおりです。

Router(config)# service timestamps debug datetime msec localtime show-timezone
Router(config)# service timestamps log datetime msec localtime show-timezone

上記コマンドはタイムスタンプを「MMM DD HH:MM:SS」の形式でデバッグに追加し、日付と時間をシステムクロックに従って表示します。もし、システムクロックが設定していない場合は、日付と時刻の前にアスタリスク*が表示されて日付と時刻が正確でないことが示されます。

時間はミリ単位のタイムスタンプを設定することを推奨します。理由としては、ネットワーク全体の機器に関連している様々なデバッグイベントのタイミングをより正確に知ることができ、ネットワーク障害切り分けに非常に役立つためです。また、localtimeは機器本体のローカルタイムゾーンを時刻を反映するための設定で、 show-timezoneはタイムゾーンを表示させるための設定になります。

debugの実行例

Router# debug ip nat
IP NAT debugging is on
Router#
Jan 27 06:46:20.744: NAT: s=65.128.234.216, d=205.155.176.128->192.168.0.20 [895]
Jan 27 06:46:20.748: NAT: s=185.19.236.26, d=205.155.176.128->192.168.0.20 [12105]
Jan 27 06:46:20.752: NAT: s=58.16.59.62, d=205.155.176.128->192.168.0.20 [62632]
~以下、継続して出力される~

debug中止コマンド

デバッグを停止するには、no debug all コマンドまたは undebug all コマンドを使用します。 
コマンドの構文は次のとおりです。

Router# no debug all
Router# undebug all

最後にshow debuggingコマンドを実行して、デバッグがオフになっているか確認をしてください。コマンドを実行して、何も表示されなければ問題ありません。

タイトルとURLをコピーしました