올바른 syslog 설정을 사용하면 환경에 대한 사전 모니터링을 수행하고, 다운타임을 줄이고, 서버에 대한 예방 조치를 취할 수 있습니다.
syslog를 설정하는 동안 로그 파일 보존, syslog 전송, 전송 길이, 오류 처리 및 보안 syslog 메시지 전송을 위한 SSL 인증서 설정에 영향을 주는 몇 가지 매개 변수를 고려해야 합니다. 다음은 syslog 매개 변수를 미세 조정하기 위한 권장 사항입니다. 사용 가능한 모든 매개 변수에 대한 설명은 ESXi Syslog 옵션에서 볼 수 있습니다.
로그 파일 보존을 지정하는 방법
가상 시스템 로그 파일에 영향을 주는 설정 관리
가상 시스템 로그 파일인 vmware.log에 영향을 주는 일부 설정을 vmx 파일 또는 /etc/vmware/config 파일에서 구성할 수 있습니다. vmx 파일을 편집하려면 가상 시스템의 전원을 꺼야 하며 편집 내용은 해당 가상 시스템에만 적용됩니다. /etc/vmware/config 파일을 사용하는 경우 접두사 "vmx"를 설정에 추가해야 하며(예: vmx.log.keepOld = "20"
) 편집 내용은 ESXi 호스트의 모든 가상 시스템에 영향을 줍니다.
매개 변수 | 설명 | 예 | 참고 |
---|---|---|---|
logging | 모든 가상 시스템 로깅을 사용하지 않도록 설정합니다. |
기본값은 logging = "TRUE" 입니다.가상 시스템 로깅을 사용하지 않도록 설정하려면 다음을 사용합니다.
|
이 설정은 사용하지 마십시오. 가상 시스템 로깅을 사용하지 않도록 설정하면 가상 시스템 문제에 대한 지원을 받기가 매우 어렵거나 불가능해지기 때문입니다. 어떤 이유로 이 설정을 사용해야 하는 경우에는 가상 시스템의 vmx 파일에만 배치할 수 있습니다. |
log.throttleBytesPerSec | 로그 파일 임계치 조절이 적용되는 시점을 제어합니다. 로그 파일 임계치 조절은 vmware.log에 쓰기가 상당한 시간 동안 지정된 속도를 초과할 때 발생합니다. 이 문제는 가상 시스템을 제어하는 VMX 프로세스 내의 코드가 과도한 로그 메시지를 생성하는 경우에 발생합니다. 이 설정의 기본값은 1KB/초입니다. 로그 임계치 조절의 경우 vmware.log 파일에 <<< Log Throttled >>>가 표시됩니다. |
로그 임계치 조절을 사용하지 않도록 설정하려면 다음을 사용합니다.
|
영향을 받는 가상 시스템의 문제를 진단하는 데 필요한 정보가 로그 파일 임계치 조절로 인해 모호해질 수 있습니다. 로그 임계치 조절을 사용하지 않도록 설정해야 하는 경우 영향을 받는 가상 시스템의 vmx 파일에 있는 예제에 줄을 배치합니다. 디버깅 세션이 종료된 후 줄을 제거합니다. |
log.keepOld | 보존할 이전 vmware.log 파일의 수를 제어합니다. |
log.keepOld = "20" |
이 설정의 값을 기본값(10) 미만으로 설정하지 마십시오. 가상 시스템이 자주 수정되거나 이동되는 경우 이 설정을 20 이상으로 높이는 것이 좋습니다. |
log.rotateSize | vmware.log 파일의 최대 크기를 바이트 단위로 제어합니다. |
vmware.log 파일의 최대 크기 제한을 사용하지 않도록 설정하려면 다음을 사용합니다.
|
이 설정 값이 100000 미만이면 중요한 로그 메시지가 손실되고 가상 시스템 성능에 영향을 줄 수 있습니다. ESXi 7.x 및 이전 버전에서는 이 설정의 기본값이 vmware.log 파일의 크기에 제한을 두지 않습니다. ESXi 8.x 이상에서 이 설정의 기본값은 2048000입니다. |
log.fileName | 가상 시스템 로그 파일의 이름과 위치를 제어합니다. |
이 설정은 가상 시스템 로그 파일의 이름을 vmware.log에서 myVMlog로 변경합니다.
이 설정은 파일 이름에 myVM를 사용하여 가상 시스템 로그 파일을 다른 VMFS 볼륨(vol1)의 디렉토리로 보냅니다. |
가상 시스템 디렉토리 외부에 로그 파일을 배치하지 마십시오. 그래야 호스트 지원 번들 컬렉션이 로그 파일을 선택할 수 있으며 이는 가상 시스템 문제를 디버깅하는 데 중요할 수 있습니다. |
log.fileLevel | 메시지가 vmware.log에 기록되는 최소 수준을 제어합니다. 모든 로그 메시지에는 이와 관련된 수준이 있습니다. 지정된 설정보다 낮은 수준은 가상 시스템 로그 파일에 추가되지 않습니다. 가상 시스템 메시지 로그 수준(제한적인 수준이 가장 높은 것부터 가장 낮은 것까지)은 다음과 같습니다.
|
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.global.logHost 설정을 사용하여 원격 호스트 규격을 정의합니다. 여러 원격 호스트 규격은 쉼표(,)로 구분합니다. Syslog.global.logHost를 설정하면 ESXi 호스트가 syslog 수집기에 대한 연결을 열고 유지 보수하며 메시지 전송이 즉시 시작됩니다. ESXi는 syslog 메시지를 생성할 때 ESXi 호스트의 적절한 로그 파일에 기록하며 구성된 모든 syslog 수집기에도 전달합니다.
다음은 Syslog.global.logHost 원격 호스트 규격에 대한 구문입니다.
protocol://target[:port]
매개 변수 | 설명 | 참고 |
---|---|---|
protocol | 네트워킹 프로토콜을 지정합니다. 유효한 값은 udp, tcp 및 ssl입니다. | ssl 프로토콜은 syslog 메시지 전송이 암호화되도록 지정합니다. tcp 및 udp 프로토콜은 전송을 암호화하지 않습니다.
참고: 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바이트입니다.
원격 호스트에 대한 SSL 전송을 구성할 때의 인증서 고려 사항
추가 SSL 전송 매개 변수
보안 인증 요구 사항을 준수하는 ESXi 시스템에서 X509 CRL 검사가 가능하도록 설정해야 할 수 있습니다. 기본값인 false를 true로 변경하여 고급 설정 Syslog.global.certificate.strictX509Compliance 및 Syslog.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 메시지 및 감사 레코드를 원격 호스트에 전송합니다. 이 메커니즘을 사용하면 vmsyslogd 서비스는 짧은 메시지 버스트 또는 데이터 삭제 없이 빠르게 해결되는 네트워크 연결 문제를 처리할 수 있습니다.
연결 문제가 더 오래 지속되거나 수신 데이터 흐름이 대기열 메커니즘이 허용할 수 있는 제한을 지속적으로 초과하는 경우 vmsyslogd 서비스는 일부 syslog 메시지를 삭제합니다.
이러한 삭제를 최소화하려면 vmsyslogd 로그 파일을 사용 가능한 가장 빠른 스토리지에 배치하고 종단 간 대역폭이 1GigE 이상인 네트워크에서 syslog 수집기를 구성합니다.
애플리케이션에서 과도한 로그가 표시되는 경우 분석 및 수정을 위한 지원 서비스 요청을 제출합니다.
Syslog 데몬 로그 파일에서 메시지 삭제에 대한 통계를 볼 수 있습니다.
삭제된 메시지는 /var/run/log/vmsyslogd-dropped.log에서 볼 수 있습니다. 이 로그 파일에는 프로그램별 보존 매개 변수 설정과 유사한 고유한 보존 설정이 있습니다. 삭제된 메시지 로그 파일 보존 매개 변수는 Syslog.global.droppedMsgs.fileRotate 및 Syslog.global.droppedMsgs.fileSize입니다.