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

ログに溜めるサイズの変更

ログはルータの内部バッファにメッセージを溜め込みます。

このバッファサイズは、もちろん無限にあるわけではないので、バッファが一杯になると古いメッセージから上書きされていきます。
このバッファのサイズは変更することが可能です。

現状のバッファサイズは「show logging」コマンドで確認できます。

	Router#show logging 
	〜省略〜
	Log Buffer (8192 bytes):

バッファサイズの変更コマンドは、

	Router(config)#logging buffered [バッファサイズ]

バッファサイズは多ければよいというわけでもなく、当然バッファサイズを大きくすれば、空きメモリが少なくなります。

show processes memory コマンドでメモリの使用量を確認して、適切なサイズを指定するようにしましょう。

	router#show processes memory
	Total: 106206400, Used: 7479116, Free: 98727284 
	PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
	  0   0      81648       1808    6577644          0          0 *Init* 
	  0   0        572     123196        572          0          0 *Sched*

Used:~が使用メモリサイズ、Free:~が空きメモリサイズです。どの程度のサイズにすれば良いかは、環境によっても異なるため、一概にどの程度のサイズにすれば良いかは難しいところです。

検証環境等でどの程度のサイズにすれば、全てのログを保存出来るかを確認して決めるのが良いかもしれません。

サイズを変更する場合には、以下点について考慮しておきましょう。

  • 1byteあたり1文字記録されます。
    8192bytesの場合は、改行を含み8192文字となります。
  • バッファサイズを増やせば、メモリを消費します。
    メモリはルーティングプロトコル等でも必要なので、メモリの空き容量には注意してください。

ログに溜め込むレベルを指定する

メッセージの重要度に応じてログをバッファに溜め込むものを指定できます。
必要のないメッセージでバッファが一杯になるのを防ぐことができます。

メッセージは重要度に応じて、8 段階に分かれています。数字が小さくなるほど重要度が高くなっていきます。

以下に8つのレベル一覧を示します。

デフォルトの設定は、debugging となっています。

特に必要がなければこのままでもかまわないのですが、余計なログを溜め込まないようにした場合は、レベルを変更することが可能です。

コマンドは以下になります。

	Router(config)#logging buffered [レベル]

コマンド実行結果

	Router#configure terminal 
	Enter configuration commands, one per line.  End with CNTL/Z.
	Router(config)#logging buffered ?
	  <0-7>              Logging severity level
	  <4096-2147483647>  Logging buffer size
	  alerts             Immediate action needed           (severity=1)
	  critical           Critical conditions               (severity=2)
	  debugging          Debugging messages                (severity=7)
	  emergencies        System is unusable                (severity=0)
	  errors             Error conditions                  (severity=3)
	  informational      Informational messages            (severity=6)
	  notifications      Normal but significant conditions (severity=5)
	  warnings           Warning conditions                (severity=4)
	  <cr>

レベルを warning にしたい場合は、

	Router(config)#logging buffered warnings

または、

	Router(config)#logging buffered 4

このメッセージの重要度は?

どのメッセージがどの重要度なのかを手っ取り早く知るには、メッセージの出力を確認することで分かります。
例えば以下の出力の場合、

%LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up

%LINK-3-UPDOWN:」部分の数字が重要度を表しています。
上記例の場合、重要度は「3 - error エラー条件」となります。

	%LINK-5-CHANGED: Interface Ethernet0/2, changed state to administratively down

上記メッセージは管理者が明示的にインタフェースをダウンさせた時のメッセージなので、重要度は先ほどよりも低い、「5 - notification 正常だが重要な条件」となっています。

コンソールに表示させるログ

ルータにコンソール接続していると、イベントが発生するたびにコンソール画面にログが表示されてくると思います。

これは、オペレーションをしているときに誤設定をしてしまった場合などに、コンソール画面にメッセージが表示されるため、すぐに気づくことが出来るというメリットがあります。

しかしデフォルトの設定は、「重要度 7 のメッセージ」、つまり全てのメッセージがコンソール画面上に表示されます。

あまりにもメッセージが表示されすぎて、設定作業に支障がでてしまう、なんてこともあるかもしれません。

そんなときは、重要度を下げてしまいましょう。
設定は、

	Router(config)#logging console [重要度]

コマンド実行結果

	Router#configure terminal 
	Enter configuration commands, one per line.  End with CNTL/Z.
	Router(config)#logging console ?
	  <0-7>              Logging severity level
	  alerts             Immediate action needed           (severity=1)
	  critical           Critical conditions               (severity=2)
	  debugging          Debugging messages                (severity=7)
	  emergencies        System is unusable                (severity=0)
	  errors             Error conditions                  (severity=3)
	  informational      Informational messages            (severity=6)
	  notifications      Normal but significant conditions (severity=5)
	  warnings           Warning conditions                (severity=4)
	  <cr>

レベルを warning にしたい場合は、

Router(config)#logging console warning

または、

	Router(config)#logging console 4

Syslog Trapの設定

logging buffered コマンドを使用することで、ルータのバッファにログを残すことが出来ることは説明しました。

しかし、ルータのバッファに溜められたログは、ルータが再起動すると、すべて消えてしまいます。

それでは、「障害などでログが見たくても消えて無くなっちゃって見れません…」なんてことにもなりかねません。
そこで解決手段として、ログをSyslogサーバに飛ばす方法があります。
設定方法は以下の通りです。

	Router(config)#logging [Syslogサーバのアドレス]

loggingのあとにSyslogサーバーのアドレスを指定します。

Syslog Trap のデフォルト重要度は、「6 - informational単なる通知目的のメッセージ」です。
重要度を変更したい場合は、

	Router(config)#logging trap [重要度]

と設定します。

コマンド実行結果

	Router#configure terminal 
	Enter configuration commands, one per line.  End with CNTL/Z.
	Router(config)#logging 192.168.1.10

Trapレベルを warning にしたい場合は、

	Router(config)#logging trap warning

または、

	Router(config)#logging trap 4

ログを消したい

最後にバッファに蓄積されたログをきれいさっぱり消したい場合のコマンドをご紹介したいと思います。

	Router#clear logging

これでバッファに溜まったログを全て削除することが出来ます。

関連記事

メールマガジン

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

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

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

もちろん無料です!!

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

メールアドレス: