Inhalt

Einführung

Logflash-Funktionen

Häufiger Fehler bei der Protokollierung

Accounting-Protokoll

Ereignisverlauf

Einführung

Dieses Dokument beschreibt die auf dem Nexus 7000 verfügbaren Protokollierungsfunktionen.

Logflash-Funktionen

- Logflash ist eine 8 GB Compact Flash-Karte (USB), die als "logflash:"-Dateisystem für die permanente Speicherung verschiedener Protokollierungsinformationen wie Syslog-Meldungen, Debug-Ausgaben, Kerndateien und EEM-Informationen (Embedded Event Manager) bereitgestellt wird.
SUP1

SUP2

- Die Dateisystemstruktur kann beschädigt werden, wenn das Gerät in einem Schreibvorgang zurückgesetzt wird. Wenn sie beispielsweise vom Benutzer neu geladen, aus- und wieder eingeschaltet oder durch ein In-Service-Software-Upgrade (ISSU) zurückgesetzt wurde, ist sie abgestürzt usw.
N7K1# dir logflash:

compact flash is either not present or not formatted

- Wenn das Logflash-Dateisystem nicht gemountet ist, versuchen Sie es manuell zu mounten.
N7K1# mount logflash:

Failed to mount logflash

- Wenn das Logflash-Dateisystem immer noch nicht gemountet ist, versuchen Sie es auszuwerfen/wieder einzusetzen.

- Führen Sie die Dateisystemprüfung aus.
N7K1# system health check logflash

Unmount successful...

Fix any file system errors ...done.

- Wenn alle anderen Fehler auftreten, kann der Logflash neu formatiert werden.
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

- Die NX-OS-Protokollierung ist nicht nur robust, sondern wird auch als Datei gespeichert und ist daher über alle Neuladungen hinweg persistent.

- Dateien werden gedreht (sobald sie 10 MB erreichen).

- Nicht standardmäßige Virtual Device Contexts (VDCs) und Standby-Supervisor-Protokolle können vom Standard-VDC gelesen (oder an einen Remote-Standort kopiert) werden.
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

- Aufgrund der Baudrate werden nur Meldungen der Stufe 1-2 an die Konsole ausgegeben. (Eine Erhöhung der Baudrate ist eine Option, Nachrichten über die Stufen 1-2 zu drucken.)

- Der Befehl show log nvram gibt nur Level 1-2-Meldungen aus.

- Der Befehl show log logfile gibt Meldungen im Protokollierungspuffer aus, der unter /var/log/external/gespeichert wird.

- Wenn der Befehl show log keine aktuellen Protokolle anzeigt oder die Protokollierung beendet wird, überprüfen Sie das Verzeichnis /var/log, wie hier gezeigt:
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---------------------------------

Wie oben gezeigt, ist /var/log voll. Überprüfen Sie dann den aktuellen Inhalt von /var/log, um herauszufinden, welche Datei das Verzeichnis verwendet. Aufgrund von benutzerdefinierten Debuggen oder Kerndateien ist es möglich, dass das Verzeichnis gefüllt wird und somit die Protokollierung gestoppt wird.

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

Sie können auch das Verzeichnis dir verwenden: um den Inhalt anzuzeigen.

Im obigen Beispiel belegt libdt_helper.log den Großteil des Speichers und es gibt daher Probleme mit der Protokollierung. Weitere Informationen finden Sie unter Cisco Bug ID CSCue98451.

Häufiger Fehler bei der Protokollierung

- Die "logging level <feature> <level>" bewirkt NICHT, dass diese Funktion Nachrichten auf dieser Ebene ausgibt. Es weist die Syslog-Funktion an, Meldungen für diese Funktion nur dann an den Protokollierungspuffer/Server zu senden, wenn diese als "Print threshold" (Druckschwelle) eingestuft sind.
Das nachfolgende Beispiel zeigt ein Syslog, das eine Nachricht für den Ethernet Port Manager (ETHPM) mit der Standardstufe 5 ausgegeben hat. Da es sich bei der unten stehenden Nachricht um eine Stufe 5 handelt, erfüllt sie die Protokollierungsstufe "threshold" (Grenzwert).

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)

Wenn Sie die Ebene auf 3 ändern, werden die Nachrichten nicht mehr gedruckt. Dies kann die Fehlerbehebung erheblich behindern.

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)

Accounting-Protokoll

- Das Accounting-Protokoll für Authentication, Authorization, and Accounting (AAA) und local ermöglicht es uns, alle Konfigurationsbefehle anzuzeigen, die auf den Geräten von jedem Benutzer ausgeführt werden.

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)

- In Version 5.x und höher (aufgrund der Cisco Bug-ID CSCtf04410) können Sie die Protokollierung der auf dem Gerät ausgeführten Befehle (nicht nur der Konfigurationsbefehle) aktivieren, wenn Sie "terminal log-all" konfigurieren.
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)

- Wie Syslogs werden auch die Accounting-Protokolle in einer Datei gespeichert und bleiben daher auch nach dem erneuten Laden erhalten.
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

- Bei einem Supervisor-Failover finden Sie das Accounting-Protokoll auch vom Standby-Supervisor.

Ereignisverlauf

- Bei NX-OS wird die Protokollierung von Ereignishistorien/Debuggen, die standardmäßig im Hintergrund ausgeführt werden (pro VDC und pro Komponente), "konstant" protokolliert.

- Keine echten Auswirkungen auf die CPU.

- Konfigurierbare Protokollgröße für den Ereignisverlauf.
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

- Verfügbar für Hardware- und Softwarekomponenten, wie in den folgenden Beispielen gezeigt:
Softwarekomponenten

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

Hardwarekomponenten auf Modulebene

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