Guest Introspection Thin Agent는 각 게스트 가상 시스템에 VMware Tools™와 함께 설치됩니다.

Linux의 Thin Agent 문제 해결

가상 시스템의 읽기 및 쓰기 작업, 파일 압축 해제 또는 저장이 느려지는 경우 Thin Agent에 문제가 있을 수 있습니다.

  1. 관련된 모든 구성 요소의 호환성을 확인합니다. ESXi, vCenter Server, NSX Manager 및 선택한 보안 솔루션(예: Trend Micro, McAfee, Kaspersky 또는 Symantec)의 빌드 번호가 필요합니다. 이 데이터를 수집한 후 vSphere 구성 요소의 호환성을 비교합니다. 자세한 내용은 VMware 제품 상호 운용성 매트릭스를 참조하십시오.
  2. 파일 자체 검사가 시스템에 설치되어 있는지 확인합니다.
  3. systemctl status vsepd.service 명령을 실행하여 Thin Agent가 실행 중인지 확인합니다.
  4. Thin Agent가 시스템에 성능 문제를 야기하는 것으로 의심되면 service vsepd stop 명령을 실행하여 서비스를 중지합니다.
  5. 그런 다음 테스트를 수행하여 기준선을 얻습니다. service vsepd start 명령을 실행하여 vsep 서비스를 시작하고 다른 테스트를 수행할 수 있습니다.
  6. 네트워크 이벤트를 사용하는 배포의 경우 systemctcl status vmw_conn_notifyd.service를 실행하여 vmw_conn_notify도 확인해야 합니다.
  7. Linux Thin Agent에 대해 디버깅을 사용하도록 설정:
    1. /etc/vsep/vsep refresh-logging을 실행합니다.
    2. 사용법: /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 파일이 플러딩될 수 있습니다. 가능한 한 빨리 전체 로깅을 사용하지 않도록 설정합니다.

컨텍스트(파일, 프로세스, 네트워크 또는 시스템)를 기준으로 디버그를 사용하도록 설정합니다.

향상된 로깅 지원을 통해 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 transport

Linux에서 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