Guest Introspection Thin Agent는 각 게스트 가상 시스템에 VMware Tools™와 함께 설치됩니다.
Linux의 Thin Agent 문제 해결
가상 시스템의 읽기 및 쓰기 작업, 파일 압축 해제 또는 저장이 느려지는 경우 Thin Agent에 문제가 있을 수 있습니다.
- 관련된 모든 구성 요소의 호환성을 확인합니다. ESXi, vCenter Server, NSX Manager 및 선택한 보안 솔루션(예: Trend Micro, McAfee, Kaspersky 또는 Symantec)의 빌드 번호가 필요합니다. 이 데이터를 수집한 후 vSphere 구성 요소의 호환성을 비교합니다. 자세한 내용은 VMware 제품 상호 운용성 매트릭스를 참조하십시오.
- 파일 자체 검사가 시스템에 설치되어 있는지 확인합니다.
- systemctl status vsepd.service 명령을 실행하여 Thin Agent가 실행 중인지 확인합니다.
- Thin Agent가 시스템에 성능 문제를 야기하는 것으로 의심되면 service vsepd stop 명령을 실행하여 서비스를 중지합니다.
- 그런 다음 테스트를 수행하여 기준선을 얻습니다. service vsepd start 명령을 실행하여 vsep 서비스를 시작하고 다른 테스트를 수행할 수 있습니다.
- 네트워크 이벤트를 사용하는 배포의 경우 systemctcl status vmw_conn_notifyd.service를 실행하여
vmw_conn_notify
도 확인해야 합니다. - Linux Thin Agent에 대해 디버깅을 사용하도록 설정:
- /etc/vsep/vsep
refresh-logging
을 실행합니다. - 사용법:
/etc/vsep/vsepd refresh-logging <dest> <<level> sub-component-name>
여기서 다음이 적용됩니다. <dest>: [1-2] 1 - VM에 대한 로그. 2 - ESX 호스트에 대한 로그
<level>: [1-7] 여기서 4는 로깅 수준 INFO에 대한 것이고, 7은 로깅 수준 DEBUG에 대한 것입니다.
<sub-component-name>: 하나 이상의 전송, 타이머, 파일, 네트워크, 프로세스, 시스템
호스트에 로깅이 사용하도록 설정되면 로그는 ESXi 호스트에 있는 VM의 해당 vmfs 디렉토리의 vmware.log에 저장되어 있습니다.
참고: 전체 로깅을 사용하도록 설정하면 과도한 로그 활동으로 인해 vmware.log 파일이 플러딩될 수 있습니다. 가능한 한 빨리 전체 로깅을 사용하지 않도록 설정합니다.
- /etc/vsep/vsep
컨텍스트(파일, 프로세스, 네트워크 또는 시스템)를 기준으로 디버그를 사용하도록 설정합니다.
향상된 로깅 지원을 통해 Thin Agent는 특정 기능의 모듈 디버그 수준 정보를 VM의 호스트 또는 syslog에 있는 vmware.log에 기록할 수 있습니다.
디버그 로그가 해당 파일에 생성되지 않으면 Thin Agent 서비스를 다시 시작해야 합니다. 로깅 양이 많으면 호스트의 vmware.log에 대한 로깅이 조절될 수 있습니다. refresh-logging 입력 매개 변수가 /etc/vsep/vsepd에 추가되었습니다. 다음을 실행하여 해당 용도를 표시할 수 있습니다.
디버깅:
# /etc/vsep/vsepd refresh-logging사용법: /etc/vsep/vsepd refresh-logging <dest> <<level> sub-component-name>
여기서 다음이 적용됩니다. <dest>: [1-2]: 1은 VM에 대한 로그이고, 2는 ESX 호스트에 대한 로그입니다. VM에 대한 로깅을 사용하도록 설정하면 Linux 배포 소프트웨어를 기준으로 다음 위치에 로그가 저장됩니다.
Ubuntu VM : /var/log/syslog
CentOS, RHEL 및 SLES: /var/log/messages
호스트에 로깅이 사용하도록 설정되면 로그는 ESXi 호스트에 있는 VM의 해당 vmfs 디렉토리의 vmware.log에 저장되어 있습니다.
<level>: [1-7] 여기서 4는 로깅 수준 INFO에 대한 것이고, 7은 로깅 수준 DEBUG에 대한 것입니다.
<sub-component-name>: 하나 이상의 전송, 타이머, 파일, 네트워크, 프로세스, 시스템
예:
다음 명령을 사용하도록 설정하면 해당 컨텍스트의 로그만 출력됩니다.
다음 명령을 사용하여 네트워크 검사에 대한 디버그를 사용하도록 설정할 수 있습니다.
/etc/vsep/vsepd refresh-logging 1 7 network프로세스 검사에 대한 디버그 로깅:
/etc/vsep/vsepd refresh-logging 1 7 process
바이러스 백신 사용 사례에 대한 디버그 로깅:
/etc/vsep/vsepd refresh-logging 1 7 file타이머 컨텍스트의 명령 처리(모든 사용 사례):
/etc/vsep/vsepd refresh-logging 1 7 timer
사용자 모니터링:
/etc/vsep/vsepd refresh-logging 1 7 system
SVM과 Context Mux 간의 프레임워크 통신(모든 사용 사례):
/etc/vsep/vsepd refresh-logging 1 7 transportLinux에서 Thin Agent 충돌 문제 해결
Thin Agent는 충돌 시 코어를 덤프합니다. 따라서 코어 덤프에 대한 운영 체제 구성에 따라 달라집니다. 각 Linux 배포판에는 시스템이 충돌할 때 코어 덤프를 생성하는 다양한 방식 및 구성이 있습니다.
예를 들어 애플리케이션이 충돌 시 코어를 덤프하는 데 apport를 사용할 수 있습니다. 반면에 Red Hat에서는 abrtd를 사용합니다. 그러나 Thin Agent는 로깅 대상에 따라 호스트에서 로깅을 사용하도록 설정한 경우 VM의 /var/log/syslog(Ubuntu)나 /var/log/messages(CentOS, RHEL 및 SLES) 또는 vmware.log에서 역추적을 덤프합니다.
샘플 역추적:
localhost systemd: Started Session 4 of user root. localhost vsep: EMERG: 0: sig_handler(): Received signal: 11 localhost vsep: EMERG: 0: sig_handler(): backtrace returned 7 pointers localhost vsep: EMERG: 0: sig_handler(): /usr/sbin/vsep(+0x1d35e) [0x7fa2e4c9135e] localhost vsep: EMERG: 0: sig_handler(): /lib64/libc.so.6(+0x35a00) [0x7fa2e3d76a00] localhost vsep: EMERG: 0: sig_handler(): /usr/sbin/vsep(+0x3f789) [0x7fa2e4cb3789] localhost vsep: EMERG: 0: sig_handler(): /lib64/libglib-2.0.so.0(+0x6e0fc) [0x7fa2e47960fc] localhost vsep: EMERG: 0: sig_handler(): /lib64/libglib-2.0.so.0(+0x6d745) [0x7fa2e4795745] localhost vsep: EMERG: 0: sig_handler(): /lib64/libpthread.so.0(+0x7df3) [0x7fa2e4109df3] localhost vsep: EMERG: 0: sig_handler(): /lib64/libc.so.6(clone+0x6d) [0x7fa2e3e373dd] localhost vsep: EMERG: 0: sig_handler(): Unmarking all fanotify marked mount points