목차

소개

Logflash 기능

로깅에 대한 일반적인 실수

계정 로그

이벤트 기록

소개

이 문서에서는 Nexus 7000에서 사용할 수 있는 로깅 기능에 대해 설명합니다.

Logflash 기능

- Logflash는 syslog 메시지, 디버그 출력, 코어 파일, EEM(Embedded Event Manager) 정보 등 다양한 로깅 정보의 영구 저장을 위해 "logflash:" 파일 시스템으로 마운트되는 8GB USB(Compact Flash Card)입니다.
SUP1

SUP2

- 디바이스가 쓰기 작업에서 재설정된 경우 파일 시스템 구조가 손상될 수 있습니다.예를 들어, 사용자가 다시 로드하거나 전원을 껐다가 켜거나 ISSU(In Service Software Upgrade), 크래시 등으로 재설정한 경우
N7K1# dir logflash:

compact flash is either not present or not formatted

- logflash 파일 시스템이 마운트되지 않은 경우 수동으로 마운트하십시오.
N7K1# mount logflash:

Failed to mount logflash

- logflash 파일 시스템이 마운트되지 않은 경우 꺼내기/다시 삽입하십시오.

- 파일 시스템 검사를 실행합니다.
N7K1# system health check logflash

Unmount successful...

Fix any file system errors ...done.

- 다른 모든 작업이 실패하면 logflash를 다시 포맷할 수 있습니다.
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 로깅은 강력할 뿐만 아니라 파일로 저장되므로 다시 로드할 때 지속적입니다.

- 파일이 10MB에 도달하면 순환됩니다.

- 기본 VDC(Non-Default Virtual Device Context) 및 대기 수퍼바이저 로그는 기본 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 로그를 사용할 수도 있습니다.내용을 볼 수 있습니다.

위의 예에서 libdt_helper.log는 대부분의 공간을 사용하므로 로깅에 문제가 있습니다.Cisco 버그 ID CSCue98451을 참조하십시오.

로깅에 대한 일반적인 실수

- "logging level <feature> <level>"은 해당 기능이 해당 수준에서 메시지를 인쇄하도록 만들지 않습니다.실제로 syslog 기능에는 해당 기능에 대한 메시지를 "인쇄 임계값"으로 설정한 경우 로깅 버퍼/서버에 "만" 인쇄하도록 지시합니다.
아래 예는 기본 레벨이 5인 ETPM(Ethernet Port Manager)에 대한 메시지를 인쇄한 syslog를 보여줍니다. 아래 메시지는 레벨 5이므로 로깅 레벨 "threshold"를 충족합니다.

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(Authentication, Authorization, and Accounting) 및 local에 대한 어카운팅 로그를 사용하면 모든 사용자의 디바이스에서 실행되는 모든 config 명령을 볼 수 있습니다.

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)

- Release 5.x 이상(Cisco 버그 ID CSCtf04410)에서 "terminal log-all"을 구성할 때 디바이스에서 실행되는 "all" 명령의 로깅을 활성화할 수 있습니다(config 명령뿐 아니라).
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