内容

概要

ログフラッシュ機能

ロギングに関するよくある間違い

アカウンティング ログ

イベント履歴

概要

このドキュメントでは、Nexus 7000 で使用可能なロギング機能について説明します。

ログフラッシュ機能

- Logflashは、syslogメッセージ、デバッグ出力、コアファイル、Embedded Event Manager(EEM)情報など、さまざまなロギング情報を永続的に保存するために、「logflash:」ファイルシステムとしてマウントされた8 GBコンパクトフラッシュカード(USB)です。
SUP1

SUP2

- 書き込み操作時にデバイスをリセットすると、ファイル システムの構造が損傷することがあります。たとえば、ユーザによってリロードまたは電源が再投入されるか、In Service Software Upgrade（ISSU）によってリセットされると、クラッシュなどが発生します。
N7K1# dir logflash:

compact flash is either not present or not formatted

- ログフラッシュ ファイルシステムがマウントされていない場合は、手動によるマウントを試してみてください。
N7K1# mount logflash:

Failed to mount logflash

- それでもログフラッシュ ファイルシステムがマウントされない場合は、一度抜いてから再挿入してみてください。

- ファイル システム チェックを実行します。
N7K1# system health check logflash

Unmount successful...

Fix any file system errors ...done.

- すべて失敗した場合は、ログフラッシュを再フォーマットします。
N7K1# format logflash:

This command is going to erase the contents of logflash:.

Do you want to continue? (yes/no)  [n] y

Notifying services to stop accessing the device...

Formatting logflash:

mke2fs 1.35 (28-Feb-2004)

Formatting completed

- NX-OS ロギングは、堅牢で、ファイルとして保存されるため、何度もリロードが行われても状態を維持します。

- データ容量が 10 MB に達すると古いファイルから削除されます。

- デフォルト以外の仮想デバイス コンテキスト（VDC）とスタンバイ スーパーバイザ ログは、デフォルト VDC から読み取り（またはリモート ロケーションにコピー）できます。
Nexus# show clock

21:19:03.878 UTC Fri Jan 25 2013

Nexus# show ver | in uptime

Kernel uptime is 16 day(s), 2 hour(s), 45 minute(s), 59 second(s)

Nexus# show file logflash://sup-active/log/messages

2008 Jan  1 14:05:54  %IDEHSD-2-MOUNT: logflash: online

2008 Jan  1 14:06:07  %MODULE-5-ACTIVE_SUP_OK: Supervisor 6 is active

(serial: JAF1545BTGH)

2008 Jan  1 14:06:07  %PLATFORM-5-MOD_STATUS: Module 6 current-stat

Nexus# dir logflash://sup-standby/vdc_3/log/messages

219040    Jul 16 20:51:25 2012  vdc_3/log/messages

- ボー レートの影響により、レベル 1 ～ 2 のメッセージのみがコンソールに表示されます（レベル 1 ～ 2 より上のメッセージを表示するためにボー レートを上げるオプションがあります）。

- コマンド show log nvram は、レベル 1 ～ 2 のメッセージのみが表示されます。

- コマンド show log logfile は、/var/log/external/ にバッファ格納されたロギング メッセージが表示されます。

- show log コマンドで現在のログが表示されない、またはロギングが停止する場合は、ここに示されているように /var/log ディレクトリを確認します。
N7K1# show system internal flash

Mount-on                  1K-blocks      Used   Available   Use%  Filesystem

/                            409600     62432      347168     16   /dev/root

/proc                             0         0           0      0   proc

/sys                              0         0           0      0   none

/isan                       1048576    366864      681712     35   none

/var                          51200       544       50656      2   none

/etc                           5120      1620        3500     32   none

/nxos/tmp                     40960      1268       39692      4   none

/var/log                      51200     51200           0    100   none

/var/home                      5120        84        5036      2   none

/var/tmp                     307200      2972      304228      1   none

/var/sysmgr                 1572864        60     1572804      1   none

/var/sysmgr/ftp              512000    108476      403524     22   none

/var/sysmgr/srv_logs         102400         0      102400      0   none

/var/sysmgr/ftp/debug_logs    10240         0       10240      0   none

/dev/shm                    3145728    748672     2397056     24   none

/volatile                    512000         0      512000      0   none

/debug                         5120       108        5012      3   none

/dev/mqueue                       0         0           0      0   none

--------------------------------------SNIP---------------------------------

上記のように、/var/log には空きがありません。次に、/var/log の実際のコンテンツを確認し、どのファイルがディレクトリを消費しているのかを特定します。ユーザが定義したデバッグまたはコア ファイルが原因で、ディレクトリの空きがなくなり、ロギングが停止する可能性があります。

N7K1# sh system internal dir /var/log/external/

./         420

../         380

glbp.debug          231

libfipf.24944            0

vdc_4/          80

libfipf.24115            0

vdc_3/          80

libfipf.23207            0

vdc_2/          80

libdt_helper.log     51523584

libfipf.5582            0

libfipf.4797            0

libfipf.4717            0

messages       651264

startupdebug            0

eobc_port_test_result            3

mgmt_port_test_result            3

bootup_test.log        18634

dir log: を使用してコンテンツを表示することもできます。

上記の例では、libdt_helper.log が領域のほとんどを消費しているため、ロギングに問題が生じています。シスコのバグ ID CSCue98451 を参照してください。

ロギングに関するよくある間違い

- 「logging level <feature> <level>」によってメッセージの表示レベルが指定されるわけではありません。実際は、メッセージが「表示しきい値」のレベルにある場合、ロギング バッファ/サーバに対し、syslog 機能にメッセージの表示「のみ」を要求します。
次の例は、Ethernet Port Manager(ETHPM)のメッセージを出力したsyslogを示しています。このメッセージのデフォルトレベルは5です。次のメッセージはレベル5であるため、ロギングレベル「しきい値」を満たしています。

Nexus(config)# int e 3/1

Nexus(config-if)# shut

2013 Jan 25 21:42:07 Nexus %ETHPORT-5-IF_DOWN_ADMIN_DOWN:

Interface Ethernet3/1 is down (Administratively down)

レベルを 3 に変更すると、メッセージは表示されません。これは、トラブルシューティングの機能を著しく損なう場合があります。

Nexus(config-if)# logging level ethpm 3

Nexus(config)# int e 3/1

Nexus(config-if)# no shut

Nexus(config-if)# sh log last 1

2013 Jan 25 21:42:07 Nexus %ETHPORT-5-IF_DOWN_ADMIN_DOWN:

Interface Ethernet3/1 is down (Administratively down)

アカウンティング ログ

- 認証、許可、およびアカウンティング（AAA）のアカウンティング ログおよびローカルにより、すべてのユーザのデバイスで動作する設定コマンドを確認することができます。

Nexus# show accounting log

Fri Mar 15 10:19:58 2013:type=update:id=console0:user=Ciscoadmin:

cmd=configure terminal ; interface Ethernet1/1 (SUCCESS)

Fri Mar 15 10:19:59 2013:type=update:id=console0:user=Ciscoadmin:

cmd=configure terminal ; interface Ethernet1/1 ; shutdown (REDIRECT)

Fri Mar 15 10:19:59 2013:type=update:id=console0:user=Ciscoadmin:

cmd=configure terminal ; interface Ethernet1/1 ; shutdown (SUCCESS)

Fri Mar 15 10:20:03 2013:type=update:id=console0:user=Ciscoadmin:

cmd=configure terminal ; interface Ethernet1/1 ; no shutdown (REDIRECT)

Fri Mar 15 10:20:03 2013:type=update:id=console0:user=Ciscoadmin:

cmd=configure terminal ; interface Ethernet1/1 ; no shutdown (SUCCESS)

- リリース 5.x 以降では（シスコのバグ ID CSCtf04410 による）、「terminal log-all」を設定すると、デバイスで稼働する「すべて」のコマンド（設定コマンド以外）のロギングを有効にできます。
N7K1(config)# terminal log-all

N7K1(config)# show accounting log all

Thu Mar 14 17:54:11 2013:type=update:id=console0:user=vbhutta:

cmd=show system internal feature-mgr event-history errors (SUCCESS)

Thu Mar 14 17:54:11 2013:type=stop:id=console0:user=Ciscoadmin:cmd=

Thu Mar 14 17:54:11 2013:type=start:id=console0:user=Ciscoadmin:cmd=

Thu Mar 14 17:54:11 2013:type=update:id=console0:user=Ciscoadmin:

cmd=show system internal feature-mgr event-history msgs (SUCCESS)

- アカウンティング ログも syslog と同様にファイルに保存されているため、リロード後も維持されます。
N7K1# dir logflash://sup-active/vdc_1

130557    Jan 26 21:46:12 2013  accounting_log

250070    Jan 08 16:55:20 2013  accounting_log.1

- スーパーバイザのフェールオーバーが発生した場合は、スタンバイ スーパーバイザからもアカウンティング ログを確認できます。

イベント履歴

- NX-OS では、デフォルトで、バックグラウンドで稼働するイベント履歴/デバッグが「継続的に」ロギングされます（VDC ごと、およびコンポーネントごと）。

- CPU への影響は特にありません。

- イベント履歴のログ サイズは設定可能です。
N7K1(config)# ip adjmgr internal event-history errors size ?

disabled  Disabled

*Default value is small

large     Large buffer

medium    Medium buffer

small     Small buffer

show run all | i event-history to see the configured size

- 次の例に示すように、ハードウェアおよびソフトウェア コンポーネントに使用できます。
ソフトウェア コンポーネント

N7K1#  show ip ospf internal event-history event

OSPF events for Process "ospf-1"

2013 Jan 23 17:45:06.518702 ospf 1 [6219]: [6250]:

Got a URIB route notification message, xid 4294901878, count 3

2013 Jan 23 16:58:28.192141 ospf 1 [6219]: [6250]:

Got a URIB route notification message, xid 4294901876, count 3

2013 Jan 23 16:35:47.630173 ospf 1 [6219]: [6250]:

Got a URIB route notification message, xid 4294901874, count 3

モジュール レベルのハードウェア コンポーネント

module-3# show hardware internal mac event-history info

1) At 596873 usecs after Tue Jan 22 17:06:52 2013

r2d2_fill_port_reset_info-275: Total ports 32

inst_affected 8 total_reset_time 4000 ms

2) At 577801 usecs after Tue Jan 22 17:06:52 2013

r2d2_fill_port_reset_info-187: Reset req. for

Inband instance so choose all instances