カテゴリ:

今回はIOSでログを利用する際の小技を紹介します。

コマンドを売っている時にログが表示されると画面が見づらくなります。

R1(config)#do deb ip icmp
ICMP packet debugging is on
R1(config)#do pin 17.17.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 17.17.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/12 ms
R1(config)#
ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
〜略〜
ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1 ←カーソルの位置

logging synchronousコマンドを設定すると割り込みの表示があった際も、カーソル中は元の利用位置に留まります。

R1(config)#line console 0
R1(config-line)#logging synchronous

R1(config-line)#do pin 17.17.1.1
〜略〜
ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1
R1(config-line)# ←カーソルの位置

表示されたログはスクロールアップして辿っていくという使い方もありですが、logging bufferedコマンドを利用してログを保存すると確認が用意になります。

R1(config)#logging buffered
R1(config)#do pin 17.17.1.1
〜略〜
R1(config)#do sh logging
〜略〜
Log Buffer (4096 bytes):

ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1

ログに通し番号を付けるにはservice sequence-numbersコマンドを利用します。

R1(config)#service sequence-numbers
R1(config)#do pin 17.17.1.1
〜略〜
000221: ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
000222: ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1

初期値ではログやデバグに日時は表示されません。service timestampsコマンドを使うことで日時を併せて表示できます。この時、当然ながら時計が正しく設定されていないと意味がありません。

R1(config)#service timestamps debug datetime ?
  localtime      Use local time zone for timestamps
  msec           Include milliseconds in timestamp
  show-timezone  Add time zone information to timestamp
  year           Include year in timestamp
  <cr>

R1(config)#service timestamps debug datetime localtime
R1(config)#service timestamps log datetime localtime
R1(config)#do pin 17.17.1.1
〜略〜
Sep 13 15:21:08: ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
Sep 13 15:21:08: ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1
R1(config)#do sh clock
15:22:50.971 JST Tue Sep 13 2011