올바른 syslog 설정을 사용하면 환경에 대한 사전 모니터링을 수행하고, 다운타임을 줄이고, 서버에 대한 예방 조치를 취할 수 있습니다.

syslog를 설정하는 동안 로그 파일 보존, syslog 전송, 전송 길이, 오류 처리 및 보안 syslog 메시지 전송을 위한 SSL 인증서 설정에 영향을 주는 몇 가지 매개 변수를 고려해야 합니다. 다음은 syslog 매개 변수를 미세 조정하기 위한 권장 사항입니다. 사용 가능한 모든 매개 변수에 대한 설명은 ESXi Syslog 옵션에서 볼 수 있습니다.

로그 파일 보존을 지정하는 방법

기본적으로 로그 파일은 구성된 크기를 지나서 확장할 수 없습니다. 로그 파일이 구성된 크기에 도달하면 로깅이 새 로그 파일로 라우팅되고 가장 오래된 로그 파일이 삭제됩니다.
참고: 순환 설정과 크기 설정의 균형을 맞추는 것이 가장 좋은 방법입니다. 순환 설정을 늘리면 syslog 파일이 자주 생성되어 다른 로그 파일의 잠재적 손상이나 파괴를 방지할 수 있습니다. 크기 설정을 늘리면 다른 로그 파일로 전환되는 시간이 줄어듭니다. 최적의 크기 설정은 1024KiB의 배수입니다.
Syslog.global.defaultSize 설정을 사용하여 로그 파일 최대 크기를 KiB 단위로 지정하고 Syslog.global.defaultRotate를 사용하여 새 로그 파일로 순환하기 전에 보존할 이전 로그 파일의 최대 수를 설정합니다. 특정 프로그램과 연결된 로그 파일 보존 매개 변수를 변경하려면 Syslog.loggers.<progName>.rotate Syslog.loggers.<progName>.size settings를 사용합니다. 여기서 <progName>은 매개 변수를 조정하려는 프로그램의 이름입니다.

가상 시스템 로그 파일에 영향을 주는 설정 관리

가상 시스템 로그 파일인 vmware.log에 영향을 주는 일부 설정을 vmx 파일 또는 /etc/vmware/config 파일에서 구성할 수 있습니다. vmx 파일을 편집하려면 가상 시스템의 전원을 꺼야 하며 편집 내용은 해당 가상 시스템에만 적용됩니다. /etc/vmware/config 파일을 사용하는 경우 접두사 "vmx"를 설정에 추가해야 하며(예: vmx.log.keepOld = "20") 편집 내용은 ESXi 호스트의 모든 가상 시스템에 영향을 줍니다.

표 1. vmware.log 파일에 대한 구성 가능한 설정
매개 변수 설명 참고
logging

모든 가상 시스템 로깅을 사용하지 않도록 설정합니다.

기본값은 logging = "TRUE"입니다.

가상 시스템 로깅을 사용하지 않도록 설정하려면 다음을 사용합니다.

logging = "FALSE"

이 설정은 사용하지 마십시오. 가상 시스템 로깅을 사용하지 않도록 설정하면 가상 시스템 문제에 대한 지원을 받기가 매우 어렵거나 불가능해지기 때문입니다. 어떤 이유로 이 설정을 사용해야 하는 경우에는 가상 시스템의 vmx 파일에만 배치할 수 있습니다.
log.throttleBytesPerSec

로그 파일 임계치 조절이 적용되는 시점을 제어합니다. 로그 파일 임계치 조절은 vmware.log에 쓰기가 상당한 시간 동안 지정된 속도를 초과할 때 발생합니다. 이 문제는 가상 시스템을 제어하는 VMX 프로세스 내의 코드가 과도한 로그 메시지를 생성하는 경우에 발생합니다. 이 설정의 기본값은 1KB/초입니다.

로그 임계치 조절의 경우 vmware.log 파일에 <<< Log Throttled >>>가 표시됩니다.

log.throttleBytesPerSec = "1500"

로그 임계치 조절을 사용하지 않도록 설정하려면 다음을 사용합니다.

log.throttleBytesPerSec = "0xFFFFFFFF"

영향을 받는 가상 시스템의 문제를 진단하는 데 필요한 정보가 로그 파일 임계치 조절로 인해 모호해질 수 있습니다. 로그 임계치 조절을 사용하지 않도록 설정해야 하는 경우 영향을 받는 가상 시스템의 vmx 파일에 있는 예제에 줄을 배치합니다. 디버깅 세션이 종료된 후 줄을 제거합니다.
log.keepOld

보존할 이전 vmware.log 파일의 수를 제어합니다.

log.keepOld = "20" 이 설정의 값을 기본값(10) 미만으로 설정하지 마십시오. 가상 시스템이 자주 수정되거나 이동되는 경우 이 설정을 20 이상으로 높이는 것이 좋습니다.
log.rotateSize

vmware.log 파일의 최대 크기를 바이트 단위로 제어합니다.

log.rotateSize = "2500000"

vmware.log 파일의 최대 크기 제한을 사용하지 않도록 설정하려면 다음을 사용합니다.

log.rotateSize = "0"

이 설정 값이 100000 미만이면 중요한 로그 메시지가 손실되고 가상 시스템 성능에 영향을 줄 수 있습니다. ESXi 7.x 및 이전 버전에서는 이 설정의 기본값이 vmware.log 파일의 크기에 제한을 두지 않습니다. ESXi 8.x 이상에서 이 설정의 기본값은 2048000입니다.
log.fileName

가상 시스템 로그 파일의 이름과 위치를 제어합니다.

log.fileName = "myVMLog"

이 설정은 가상 시스템 로그 파일의 이름을 vmware.log에서 myVMlog로 변경합니다.

log.fileName = "/vmfs/volumes/vol1/myVM/myVM.log"

이 설정은 파일 이름에 myVM를 사용하여 가상 시스템 로그 파일을 다른 VMFS 볼륨(vol1)의 디렉토리로 보냅니다.

가상 시스템 디렉토리 외부에 로그 파일을 배치하지 마십시오. 그래야 호스트 지원 번들 컬렉션이 로그 파일을 선택할 수 있으며 이는 가상 시스템 문제를 디버깅하는 데 중요할 수 있습니다.
log.fileLevel

메시지가 vmware.log에 기록되는 최소 수준을 제어합니다. 모든 로그 메시지에는 이와 관련된 수준이 있습니다. 지정된 설정보다 낮은 수준은 가상 시스템 로그 파일에 추가되지 않습니다. 가상 시스템 메시지 로그 수준(제한적인 수준이 가장 높은 것부터 가장 낮은 것까지)은 다음과 같습니다.

  • 오류
  • 주의
  • 알림
  • 정보(기본값)
  • 기타 정보
  • 디버그
  • debug1
  • debug2
  • debug3
  • debug4
  • debug5
  • debug6
  • debug7
  • debug8
  • debug9
  • debug10
log.fileLevel = "debug1"

가상 시스템 문제를 디버깅하는 데 필요한 메시지가 필터링으로 제외되지 않도록 제한적인 수준을 "정보"보다 더 높은 수준으로 설정하지 마십시오. 라이센스가 부여된 지원 담당자의 요청이 있는 경우에만 수준을 "정보" 아래로 낮춥니다. 디버깅이 끝나면 설정을 "정보"로 복원합니다.

log.filter.minLogLevel.<groupName>

특수 디버깅 메시지의 출력을 제어합니다.

log.filter.minLogLevel.disklib = "debug5" 라이센스가 부여된 지원 담당자가 요청한 경우에만 이 설정을 사용합니다. 이 지원 담당자는 하나 이상의 <groupName> 매개 변수를 제공해야 합니다. 디버깅이 끝난 후 설정을 제거합니다.
log.sysogID

syslog와 같은 ESXi 호스트의 시스템 로거에 가상 시스템 로그 메시지를 보낼 수 있습니다.

log.syslogID = "vmx"

이 설정의 값으로 "vmx"를 사용하면 ESXi syslog 데몬인 vmsyslogd가 이러한 메시지를 별도의 로그 파일로 보낼 수 있습니다.

log.syslogLevel

ESXi 호스트의 시스템 로거(예: syslog)에 메시지가 출력되는 최소 수준을 제어합니다.

log.syslogLevel = "debug" 이 설정의 수준과 기능은 log.fileLevel 설정의 그것과 동일합니다.

원격 호스트로의 메시지 전송을 지정하는 방법

필요한 경우 syslog 메시지를 수집하기 위해 syslog 수집기(예: VMware vRealize Log Insight(이전의 vCenter Log Insight))라고 하는 하나 이상의 원격 호스트에 syslog 메시지를 보내도록 ESXi를 구성할 수 있습니다.
참고: syslog 메시지를 하나 이상의 syslog 수집기로 보내도록 각 ESXi 호스트를 구성하는 것이 가장 좋습니다. 이렇게 하면 심각한 시스템 이벤트가 발생할 경우 메시지가 보존되고 실시간 분류 및 분석(예: 유형, 시간 범위 또는 시스템별) 또는 아카이브 메시지와 같은 다양한 방법으로 syslog 메시지를 처리할 수 있습니다.

Syslog.global.logHost 설정을 사용하여 원격 호스트 규격을 정의합니다. 여러 원격 호스트 규격은 쉼표(,)로 구분합니다. Syslog.global.logHost를 설정하면 ESXi 호스트가 syslog 수집기에 대한 연결을 열고 유지 보수하며 메시지 전송이 즉시 시작됩니다. ESXi는 syslog 메시지를 생성할 때 ESXi 호스트의 적절한 로그 파일에 기록하며 구성된 모든 syslog 수집기에도 전달합니다.

syslog 메시지 외에도 보안 목적으로 감사 메시지를 syslog 수집기로 전송할 수도 있습니다. 감사 레코드는 ESXi 호스트에서 보안 관련 작업을 추적합니다. 감사 레코드에 대한 자세한 내용은 감사 레코드를 참조하십시오.
참고: 감사 레코드를 설정할지 여부와 설정하는 방법은 회사 보안 대응 팀에 문의하십시오. 인증된 구성에서는 일반적으로 감사 레코드를 사용하도록 설정해야 합니다.

다음은 Syslog.global.logHost 원격 호스트 규격에 대한 구문입니다.

protocol://target[:port]
매개 변수 설명 참고
protocol 네트워킹 프로토콜을 지정합니다. 유효한 값은 udp, tcpssl입니다. ssl 프로토콜은 syslog 메시지 전송이 암호화되도록 지정합니다. tcpudp 프로토콜은 전송을 암호화하지 않습니다.
참고: syslog 메시지 또는 감사 메시지 캡처가 시스템에 중요한 경우 udp 프로토콜을 사용하지 마십시오. ESXi 외부의 네트워킹 인프라가 UDP 메시지를 삭제할 수 있기 때문입니다.
target

원격 호스트를 지정합니다. IPV4 또는 IPV6 주소 또는 호스트 이름을 사용할 수 있습니다.

IPV6 주소를 사용하는 경우 [xxx]처럼 대괄호로 묶어야 합니다. 여기서 xxx는 IPV6 주소입니다.
port (선택 사항) 사용할 원격 호스트 포트를 지정합니다. UDP 또는 TCP를 사용하는 경우 기본 포트는 1514입니다. SSL을 사용하는 경우 기본 포트는 514입니다. 514 또는 1514가 아닌 다른 포트를 사용하도록 선택하는 경우 해당 포트를 열도록 ESXi 방화벽을 조정해야 합니다. 각 원격 호스트 규격에 지정된 포트에 대해 ESXi 방화벽을 여는 방법에 대한 자세한 내용은 ESXi 방화벽 구성을 참조하십시오.
원격 시스템 규격의 샘플:
Syslog.global.logHost 문자열 예 참고
tcp://10.176.130.7:12345 TCP/IP 및 포트 12345를 사용하여 syslog 메시지를 10.176.130.7로 전송합니다.
tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348] 포트 1514를 사용하여 Syslog 메시지를 IPV6 주소로 전송합니다.

tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:5432

포트 54321을 사용하여 Syslog 메시지를 IPV6 주소로 전송합니다.
udp://company.com UDP 및 포트 514를 사용하여 syslog 메시지를 company.com으로 전송합니다.

udp://company.com,tcp://10.20.30.40:1050

syslog 메시지를 두 개의 원격 호스트로 전송합니다. 첫 번째 원격 호스트는 UDP를 사용하고 포트 514를 사용하여 company.com과 통신합니다. 두 번째 원격 호스트는 TCP를 사용하고 포트 1050을 사용하여 IPV4 주소 10.20.30.40과 통신합니다.

ssl://company.com

SSL(TLS) 및 포트 514를 사용하여 syslog 메시지를 company.com으로 전송합니다.

최대 메시지 전송 길이

UDP를 사용하는 경우 최대 syslog 메시지 전송 길이는 IPV4의 경우 480바이트, IPV6의 경우 1180바이트입니다.

TCP 또는 SSL의 경우 기본 최대 syslog 메시지 전송 길이는 1키비바이트(KiB)입니다. Syslog.global.remoteHost.maxMsgLen 매개 변수를 사용하여 이 길이를 늘릴 수 있습니다. 최대값은 16KiB입니다. 16KiB보다 긴 메시지는 잘립니다.
참고: 최대 전송 길이를 늘려야 하는 경우에는 구체적으로 필요한 만큼만 길이를 늘리는 것이 가장 좋습니다.
ESXi 외부의 네트워킹 및 syslog 인프라가 1KiB보다 긴 메시지를 처리할 수 없는 경우 최대 syslog 메시지 길이를 늘리면 문제가 발생할 수 있습니다.
참고: UDP를 사용하여 syslog 메시지를 전송하지 않는 것이 가장 좋습니다. 패킷 길이 제약 조건 및 외부 네트워킹 인프라가 메시지를 삭제할 가능성이 있기 때문입니다.

원격 호스트에 대한 SSL 전송을 구성할 때의 인증서 고려 사항

SSL을 사용하여 원격 호스트에 syslog 메시지를 전송하도록 ESXi를 구성할 때 각 원격 호스트에 대한 SSL 인증서를 ESXi 호스트 CA 저장소에 추가해야 합니다. 자세한 내용은 ESXi 호스트에 대한 인증서 관리ESXCLI를 사용하여 CA 인증서 관리를 참조하십시오.
참고: SSL 및 개인 키를 사용하여 syslog 메시지를 안전하게 수신하도록 수집기를 구성하는 방법은 syslog 수집기 설명서를 참조하십시오.

추가 SSL 전송 매개 변수

보안 인증 요구 사항을 준수하는 ESXi 시스템에서 X509 CRL 검사가 가능하도록 설정해야 할 수 있습니다. 기본값인 falsetrue로 변경하여 고급 설정 Syslog.global.certificate.strictX509ComplianceSyslog.global.certificate.checkCRL을 켭니다. 구현 제한으로 인해 Syslog.global.certificate.checkSSLCerts 설정을 사용하여 CRL 검사가 가능하도록 설정한 경우 인증서 체인의 모든 인증서가 CRL 링크를 제공해야 합니다. 기본적으로 이 설정은 사용하도록 설정됩니다. 설정을 false로 변경하여 SSL 인증서 검사를 비활성화할 수 있지만 최선의 방법은 아닙니다. 원격 호스트와의 통신 문제를 해결할 때 SSL 인증서 검사를 해제할 수 있지만 제한된 시간 동안만 해제해야 합니다.

Syslog 데몬 오류 및 상태 정보를 찾을 수 있는 위치

ESXi syslog 데몬은 로그 파일인 /var/run/log/vmsyslogd.log를 사용하여 상태 및 오류 정보(삭제된 메시지 포함)를 저장합니다. 감사 레코드 전송을 사용하도록 설정하면 syslog 데몬은 작업과 관련된 감사 레코드(예: 데몬 시작, 중지 및 오류 조건)도 내보내므로 syslog 데몬이 제대로 실행되었는지 확인할 수 있습니다.

기본 Syslog 로그 파일 스토리지 영역을 변경하는 방법

기본 syslog 로그 파일 스토리지 영역은 각 ESXi 호스트에 로컬인 /var/run/log입니다. Syslog.global.logDir syslog 구성 변수를 사용하여 기본 syslog 로그 파일 스토리지 영역을(해당 위치가 영구 스토리지에 있는 한) 변경할 수 있습니다. Syslog.global.logDir이 syslog 로그 파일을 저장하기 위해 여러 ESXi 호스트에서 공유하는 영구 저장소로 구성된 경우 로그 혼합을 방지하기 위해 Syslog.global.logDirUnique 설정을 true로 변경합니다. Syslog.global.logDirUnique 설정은 각 ESXi 시스템이 Syslog.global.logDir 경로에 고유한 이름을 추가하여 로그 파일을 다른 호스트와 구분하도록 합니다.

원격 호스트 및 메시지 삭제를 위한 Syslog 메시지 대기열

syslog 배출이 시작되면 ESXi 재부팅 및 실패 또는 중지할 syslog 재구성을 제외하고 는 절대 멈추지 않습니다.

ESXi는 원격 호스트에 syslog 메시지를 보낼 때 대기열 메커니즘을 사용합니다. 이렇게 하면 네트워크 연결 문제가 발생하고 해결될 경우 메시지 삭제를 방지할 수 있습니다. 단, 연결 문제가 대기열 메커니즘이 허용할 수 있는 것보다 오래 지속되면 syslog 메시지가 삭제됩니다. Syslog 데몬 로그 파일에서 메시지 삭제에 대한 통계를 볼 수 있습니다.

삭제된 메시지는 /var/run/log/vmsyslogd-dropped.log에서 볼 수 있습니다. 이 로그 파일에는 프로그램별 보존 매개 변수 설정과 유사한 고유한 보존 설정이 있습니다. 삭제된 메시지 로그 파일 보존 매개 변수는 Syslog.global.droppedMsgs.fileRotateSyslog.global.droppedMsgs.fileSize입니다.