NSX 구성 요소는 디렉터리 /var/log의 로그 파일에 씁니다. NSX 장치에서 NSX syslog 메시지는 RFC 5424를 준수합니다. ESXi 호스트에서 syslog 메시지는 RFC 3164를 준수합니다.

로그 보기

NSX 장치 syslog 메시지는 /var/log/syslog에 있습니다.

NSX 장치에서 다음 NSX CLI 명령을 실행하여 로그를 확인할 수 있습니다.
get log-file <auth.log | controller | controller-error | http.log | kern.log | manager.log | node-mgmt.log | syslog> [follow]
로그 파일은 다음과 같습니다.
이름 설명
auth.log 권한 부여 로그
컨트롤러 컨트롤러 로그
controller-error 컨트롤러 오류 로그
http.log HTTP 서비스 로그
kern.log 커널 로그
manager.log Manager Service 로그
node-mgmt.log 노드 관리 로그
nsx-audit-write.log NSX audit 쓰기 로그
nsx-audit.log NSX audit 로그
syslog 시스템 로그

또한 NSX는 감사(audispd) 로그를 원격 syslog 서버에 직접 전송합니다. 이러한 메시지는 /var/log/audit/audit.log에 기록되지만 로컬 syslog 파일에는 기록되지 않습니다. 감사 로그는 운영 체제의 보안 관련 이벤트를 기록합니다.

하이퍼바이저에서 tac, tail, grepmore와 같은 Linux 명령을 사용하여 로그를 확인할 수 있습니다.

모든 syslog 메시지에는 메시지의 소스를 식별하는 데 도움이 되는 구성 요소(comp) 및 하위 구성 요소(subcomp) 정보가 있습니다.

NSX는 숫자 값이 22인 시설 local6을 포함하는 로그를 생성합니다.

audit 로그는 syslog의 일부입니다. audit 로그 메시지는 structured-data 필드의 audit="true" 문자열로 식별할 수 있습니다. 로그 메시지를 수신하도록 외부 로그 서버를 구성할 수 있습니다. API /api/v1/administration/audit-logs를 사용하여 audit 로그에 액세스할 수도 있습니다. nsx-audit.log 파일에는 structured-data 필드에 audit="true"가 지정된 syslog 메시지가 포함됩니다. nsx-audit-write.log 파일에는 structured-data 필드에 audit="true"update="true"가 둘 다 지정된 syslog 메시지가 포함됩니다.

각 syslog 및 audit 로그 메시지에는 NTP 서버(구성된 경우) 또는 시스템 시계에 의해 생성된 타임 스탬프가 포함됩니다. 감사 로그 메시지의 예는 다음과 같습니다.
<182>1 2020-05-05T00:29:02.900Z nsx-manager1 NSX 147324 - [nsx@6876 audit="true" comp="nsx-manager" level="INFO" reqId="fe75651d-c3e7-4680-8753-9ae9d92d7f0c" subcomp="policy" username="admin"] UserName="admin", ModuleName="AAA", Operation="GetCurrentUserInfo", Operation status="success"
syslog 메시지의 예:
2023-01-25T21:58:42.173Z w4-mydevice-220.eng.vmware.com NSX 1463241016 - [nsx@6876 comp="nsx-controller" level="INFO" subcomp="corfu-cluster"] Received maintenance mode status: {da3a0242-bf6d-ee98-224c-b9799cb5e29f=MAINTENANCE_MODE_OFF}
API 호출은 NSX Manager, 정책 API 클라이언트 또는 NSX 노드에서 가져올 수 있습니다. 모든 API 호출에는 인증 및 권한 부여가 적용되며 audit 로그가 생성됩니다. 이 로깅은 기본적으로 사용하도록 설정되며, 사용하지 않도록 설정할 수 없습니다. API 호출에 연결된 audit 로그에는 다음 정보가 있습니다.
  • API의 개체를 식별하기 위한 엔티티 ID 매개 변수 entId.
  • 특정 API 호출을 식별하기 위한 요청 ID 매개 변수 req-id.
  • API 호출에 X-NSX-EREQID:<string> 머리글이 포함된 경우 외부 요청 ID 매개 변수 ereqId.
  • API 호출에 X-NSX-EUSER:<string> 머리글이 포함된 경우 외부 사용자 매개 변수 euser.
정책 또는 관리자 API 호출의 audit 로그 메시지에는 다음과 같은 추가 필드가 있습니다. NAPI(노드 API) 및 CLI audit 로그에는 이러한 필드가 포함되지 않습니다.
  • API 작업이 읽기(GET) 작업인지 또는 쓰기(PUT/POST/DELETE/...) 작업인지를 표시하는 update 플래그입니다.
  • API 작업의 이름을 표시하는 operation name 필드입니다.
  • API 작업이 성공했는지 또는 실패했는지를 표시하는 operation status 필드입니다.
  • API 요청의 모든 매개 변수 값을 표시하는 new value 필드입니다.

NSX에는 권한 있는 모드 개념이 없습니다. 모든 소스 및 사용자의 API 호출이 감사됩니다.

로그인 성공, 실패한 로그인 및 2개의 서로 다른 디바이스를 통한 로그인(서로 다른 IP 주소 참고)을 보여 주는 로그인 및 로그아웃 syslog 메시지 예제:
2020-07-07T16:33:20.339Z svc.nsxmanager NSX 1513 SYSTEM [nsx@6876 audit="true" comp="nsx-manager" level="INFO" subcomp="http"] UserName="[email protected]", ModuleName="ACCESS_CONTROL", Operation="LOGIN", Operation status="success"

2020-07-07T16:33:58.779Z svc.nsxmanager NSX 1513 SYSTEM [nsx@6876 audit="true" comp="nsx-manager" level="INFO" subcomp="http"] UserName="admin", ModuleName="ACCESS_CONTROL", Operation="LOGOUT", Operation status="success"

2020-07-07T16:50:21.301Z svc.nsxmanager NSX 1513 SYSTEM [nsx@6876 audit="true" comp="nsx-manager" level="INFO" subcomp="http"] UserName="[email protected]", ModuleName="ACCESS_CONTROL", Operation="LOGIN", Operation status="success"

2020-07-07T16:43:20.339Z svc.nsxmanager NSX 1513 SYSTEM [nsx@6876 audit="true" comp="nsx-manager" level="INFO" subcomp="http"] UserName="[email protected]", ModuleName="ACCESS_CONTROL", Operation="LOGIN", Operation status="failure"
정책 API 호출의 syslog 메시지 예제:
<182>1 2020-07-06T18:09:14.210Z svc.nsxmanager NSX 2326 FABRIC [nsx@6876 audit="true" comp="nsx-manager" entId="68d5a9d0-4691-4c9c-94ed-64fd1c96150f" level="INFO" reqId="4c2335aa-c973-4f74-983f-331a4f7041ca" subcomp="manager" update="true" username="admin"] UserName="admin", ModuleName="TransportZone", Operation="CreateTransportZone", Operation status="success", New value=[{"transport_type":"OVERLAY","host_switch_name":"nsxvswitch","host_switch_mode":"STANDARD","nested_nsx":false,"is_default":false,"display_name":"1-transportzone-1307","_protection":"UNKNOWN"}]
CLI 액세스의 syslog 메시지 예제:
2020-07-07T16:36:41.783Z svc.nsxmanager NSX 21018 - [nsx@6876 comp="nsx-manager" subcomp="cli" username="admin" level="INFO"] NSX CLI started (Manager, Policy, Controller) for user: admin
2020-07-07T16:36:53.469Z svc.nsxmanager NSX 21018 - [nsx@6876 comp="nsx-manager" subcomp="cli" username="admin" level="INFO"] NSX CLI stopped for user: admin
사용자가 CLI 명령을 실행할 때의 syslog 메시지 예제(이 예제에서는 set user admin password-expiration 100):
<182>1 2020-07-22T20:51:49.017Z manager2 NSX 1864 - [nsx@6876 comp="nsx-manager" subcomp="cli" username="admin" level="INFO" audit="true"] CMD: set user admin password-expiration 100 (duration: 2.185s), Operation status: CMD_EXECUTED
NAPI 호출의 syslog 메시지 예제:
<182>1 2020-07-21T21:01:38.803Z manager2 NSX 4690 - [nsx@6876 comp="nsx-manager" subcomp="node-mgmt" username="admin" level="INFO" audit="true"] admin 'GET /api/v1/node/services/syslog/exporters' 200 731 "" "PostmanRuntime/7.26.1" 0.004588
CLI 명령의 syslog 메시지 예제:
<182>1 2020-07-21T20:54:40.018Z manager2 NSX 16915 - [nsx@6876 comp="nsx-manager" subcomp="cli" username="admin" level="INFO" audit="true"] CMD: set logging-server 1.1.1.1 proto udp level info (duration: 4.356s), Operation status: CMD_EXECUTED

RFC 5424 및 RFC 3164는 다음과 같은 심각도 수준을 정의합니다.

심각도 수준 설명
0 긴급: 시스템을 사용할 수 없음
1 경고: 작업을 즉시 수행해야 함
2 위험: 위험한 상태
3 오류: 오류 상태
4 경고: 경고 상태
5 알림: 일반적이지만 중요한 상태
6 정보: 정보용 메시지
7 디버그: 디버그 수준 메시지

심각도가 긴급, 경고, 위험 또는 오류인 모든 로그에는 로그 메시지의 구조화된 데이터 부분에 고유한 오류 코드가 포함되어 있습니다. 오류 코드는 문자열과 10진수로 구성됩니다. 문자열은 특정 모듈을 나타냅니다.

로그 파일 또는 원격 로그 서버에 액세스하지 못함

NSX가 로그 파일에 액세스하거나 메시지를 쓰지 못하는 경우 경보가 생성됩니다. 다음과 같은 오류가 발생할 수 있습니다.

  • 로컬 로그 파일이 없습니다.
  • 로컬 로그 파일의 사용 권한 또는 소유권 설정으로 인해 NSX가 파일에 쓸 수 없습니다.
  • NSX는 타사 원격 로그 서버로 로그 메시지를 보낼 수 없습니다. NSXAria Operations for Logs 에이전트에 로그를 전송하지 못할 경우 경보가 발생하지 않습니다.

경보는 경보 프레임워크를 통해 확인할 수 있습니다.

로그 메시지 형식

RFC 5424에 대한 자세한 내용은 https://tools.ietf.org/html/rfc5424 항목을 참조하십시오. RFC 3164에 대한 자세한 내용은 https://tools.ietf.org/html/rfc3164 항목을 참조하십시오.

RFC 5424는 로그 메시지에 대해 다음 형식을 정의합니다.

<facility * 8 + severity> version UTC-TZ hostname APP-NAME procid MSGID [structured-data] msg
샘플 로그 메시지:
<187>1 2016-03-15T22:53:00.114Z nsx-manager NSX - SYSTEM [nsx@6876 comp="nsx-manager" errorCode="MP4039" subcomp="manager"] Connection verification failed for broker '10.160.108.196'. Marking broker unhealthy.

오류 코드

오류 코드 목록을 보려면 기술 자료 문서 71077 NSX-T Data Center 2.x 오류 코드를 참조하십시오.