Ciscoルータ ログに関するノウハウ(1)

ネットワーク管理者にとって、日々のログ管理はネットワークの健全性を確認する上でも、障害時の切り分けを行う上でもとても重要な業務です。定期的にログを確認するという運用がもちろん基本になりますが、設定をチューニングすることで、より運用しやすくすることが可能です。ここでは日々の運用にお役に立てるような、ログに関するTipsをご紹介していきます。

ログをルータの内部バッファに溜め込む

Ciscoルータはメッセージをルータの内部バッファに溜め込むことが出来ますが、デフォルトでこの設定はされていません。
障害時の調査にログはとても大事な情報になりますので、必ず設定しておくことをおすすめします。

IOS のバージョンによっては、ログを内部バッファに溜め込む設定になっていないものがあります。
内部バッファに溜め込む設定は、

Router(config)#logging buffered

です。

もし設定されていなければ、必ずしておきましょう。障害が発生したときに、ログがあるのと無いのでは、特定するのに雲泥の差が出てしまいます。

ログの表示設定

よりログ表示を見やすくする設定です。まず、デフォルト設定の状態でログを表示させてみます。

Router#show log
00:00:53: %LINK-5-CHANGED: Interface Ethernet0/2, changed state to administratively down
00:00:53: %LINK-5-CHANGED: Interface Ethernet0/3, changed state to administratively down
00:01:22: %LINK-5-CHANGED: Interface Ethernet0/4, changed state to administratively down
00:01:22: %LINK-5-CHANGED: Interface Ethernet0/5, changed state to administratively down
00:22:31: %LINK-5-CHANGED: Interface FastEthernet9/1/0, changed state to administratively down
00:30:53: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
00:30:53: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up

ルータに発生した様々なイベントが時系列で表示されていきます。ここで各行の先頭の時間表示に注目。一見すると、イベントが発生した時刻に思われるかもしれませんが、実は違います。

この時間は、ルータが起動してからイベントが発生するまでの時間を表示しています。これではいったいこのイベントが何時何分に発生したものなのかが、ログを見ただけでは判断できません。

そこで、イベントが発生した時刻を表示してくれるように設定を追加してみましょう。コマンドは以下のコマンドをグローバルコンフィグレーションモードにて実行します。

Router(config)#service timestamps log datetime msec

コマンド実行結果

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#service timestamps log datetime
Router(config)#exit
Router#

ログを確認してみましょう。

コマンド実行結果

Router#show logging 
*Mar 31 17:14:01.095: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar 31 17:14:01.103: %LINK-3-UPDOWN: Interface GigabitEthernet1/0, changed state to up
*Mar 31 17:14:01.111: %LINK-3-UPDOWN: Interface GigabitEthernet2/0, changed state to up
*Mar 31 17:14:01.811: %SYS-5-CONFIG_I: Configured from memory by console
*Mar 31 17:14:02.215: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down
*Mar 31 17:14:02.223: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0, changed state to down
*Mar 31 17:14:02.223: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0, changed state to down
*Mar 31 17:14:02.435: %SNMP-5-COLDSTART: SNMP agent on host R1 is undergoing a cold start
*Mar 31 17:14:03.815: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down
*Mar 31 17:14:03.823: %LINK-5-CHANGED: Interface GigabitEthernet1/0, changed state to administratively down
*Mar 31 17:14:03.831: %LINK-5-CHANGED: Interface GigabitEthernet2/0, changed state to administratively down

このように設定を変更してから以降のログについて、時刻が表示されるようになります。
最近のバージョンであれば、デフォルトで設定されていますが、もし設定されていなければ設定しておきましょう。

ローカルタイムの設定

ログの時間を見ると、現在の時刻ではなく、現在時刻の9時間前の時刻が表示されている場合、UTC時間が表示されてしまっています。その場合は、 JST 時間で表示するようにさらに設定を追加しましょう。

コマンド実行結果

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#service timestamps log datetime msec localtime
Router(config)#exit
Router#

設定の最後に、「localtime」を追加します。これでログの時間がJSTに修正されます。

Router#show logging 
.Apr  6 13:28:42: %SYS-5-CONFIG_I: Configured from memory by console
.Apr  6 14:38:43.329: %SYS-5-CONFIG_I: Configured from memory by console
.Apr  6 23:45:25.253: %SYS-5-CONFIG_I: Configured from memory by console

同様に Debug コマンドで表示される時刻もデフォルトは、ルータが起動してからの時間が表示されます。

そこで Debug についても、現在の時刻で表示するようにしておくとよいでしょう。
コマンドは以下です。

Router(config)#service timestamps debug datetime msec localtime

log の箇所が debug に変わっているだけです。
この 2 つの設定はセットで覚えておくようにしましょう。

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

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: