10 가상 머신 모니터링

원본 보기

10 가상 머신 모니터링

개요

Zabbix는 하위 수준 검색 규칙을 사용하여 VMware 하이퍼바이저와 가상 머신을 자동으로 발견하고, 미리 정의된 호스트 프로토타입을 기반으로 이들을 모니터링할 호스트를 생성할 수 있습니다.

Zabbix는 또한 VMware vCenter 또는 ESXi 하이퍼바이저를 모니터링하기 위한 즉시 사용 가능한 템플릿을 포함하고 있습니다.

최소 요구되는 VMware vCenter 또는 vSphere 버전은 5.1입니다.

데이터 수집

가상 머신 모니터링은 두 단계로 구성됩니다:

  1. Zabbix vmware collector 프로세스가 가상 머신 데이터를 수집합니다 - 이 프로세스는 SOAP 프로토콜을 통해 VMware 웹 서비스에서 필요한 정보를 가져와서 전처리한 다음, Zabbix 서버 공유 메모리에 저장합니다.

  2. Zabbix poller 프로세스가 Zabbix 단순 검사 VMware 모니터링 아이템 키를 사용하여 데이터를 검색합니다.

Zabbix는 수집된 데이터를 VMware 구성 데이터와 VMware 성능 카운터 데이터로 나눕니다. 두 유형의 데이터는 vmware collector 프로세스에 의해 독립적으로 수집됩니다.

VMware 성능 카운터 정보를 기반으로 다음 통계를 사용할 수 있습니다:

  • 데이터스토어
  • 디스크 장치
  • CPU
  • 전원
  • 네트워크 인터페이스
  • 사용자 지정 성능 카운터 아이템

VMware 성능 카운터에서 데이터를 가져오는 아이템의 전체 목록은 VMware 모니터링 아이템 키를 참조하세요.

VMware 이벤트 검색 빈도는 vmware.eventlog의 폴링 간격에 의존하지만, 5초보다 짧을 수는 없습니다.

구성

Zabbix 서버가 소스에서 컴파일된 경우, 가상 머신 모니터링을 활성화하려면 --with-libcurl --with-libxml2 구성 옵션으로 컴파일해야 합니다. Zabbix 패키지는 이미 이러한 옵션이 활성화된 상태로 컴파일됩니다.

가상 머신 모니터링을 위해 다음 Zabbix 서버 구성 파일 매개변수를 수정할 수 있습니다:

모니터링되는 VMware 서비스 수보다 더 많은 수집기를 활성화하는 것이 권장됩니다; 그렇지 않으면 VMware 성능 카운터 통계 검색이 VMware 구성 데이터 검색(대규모 설치의 경우 시간이 걸림)으로 인해 지연될 수 있습니다.

일반적으로 StartVMwareCollectors 값은 2 미만이어서는 안 되며, 모니터링되는 VMware 서비스 수의 두 배를 초과해서도 안 됩니다: 서비스 수 < StartVMwareCollectors < (서비스 수 * 2). 예를 들어, 하나의 VMware 서비스를 모니터링할 때는 StartVMwareCollectors2로 설정하고, 세 개의 서비스를 모니터링할 때는 StartVMwareCollectors5로 설정합니다.

필요한 수집기 수는 VMware 환경의 범위, VMwareFrequencyVMwarePerfFrequency 구성 매개변수에도 의존한다는 점에 유의하세요.

데이터스토어 용량 메트릭을 지원하려면 VMware vpxd.stats.maxQueryMetrics 키의 값이 최소 64로 설정되어 있는지 확인하세요. 자세한 내용은 VMware 지식 베이스 문서를 참조하세요.

발견

Zabbix는 하위 수준 발견 규칙(예: vmware.hv.discovery[{$VMWARE.URL}])을 사용하여 VMware 하이퍼바이저와 가상 머신을 자동으로 발견할 수 있습니다. 또한 Zabbix는 호스트 프로토타입을 사용하여 발견된 엔터티에 대한 실제 호스트를 자동으로 생성할 수 있습니다. 자세한 내용은 호스트 프로토타입을 참조하세요.

구성 예제

VMware FQDN 템플릿을 사용하여 VMware를 모니터링하도록 Zabbix를 설정하는 기본 예제는 Zabbix로 VMware 모니터링을 참조하세요.

VMware를 모니터링하기 위해 호스트, 하위 수준 발견 규칙, 호스트 프로토타입을 생성하는 더 자세한 예제는 설정 예제를 참조하세요.

확장 로깅

vmware collector 프로세스에서 수집한 데이터는 디버그 레벨 5를 사용하여 세부 디버깅을 위해 기록할 수 있습니다. 디버그 레벨은 서버프록시 구성 파일에서 구성하거나 런타임 제어 옵션 -R log_level_increase="vmware collector,N"을 사용하여 구성할 수 있습니다. 여기서 "N"은 프로세스 번호입니다.

예를 들어, 모든 vmware collector 프로세스의 디버그 레벨을 4에서 5로 증가시키려면 다음 명령을 실행하세요:

zabbix_server -R log_level_increase="vmware collector"

두 번째 vmware collector 프로세스의 디버그 레벨을 4에서 5로 증가시키려면 다음 명령을 실행하세요:

zabbix_server -R log_level_increase="vmware collector,2"

VMware 수집기 데이터의 확장 로깅이 더 이상 필요하지 않을 때는 -R log_level_decrease 명령을 실행하여 디버그 레벨을 기본값(3)으로 낮추는 것이 권장됩니다.

문제 해결

  • 메트릭이 사용할 수 없는 경우, 최신 VMware vSphere 버전에서 기본적으로 사용할 수 없도록 설정되거나 꺼져 있지는 않은지, 또는 성능 메트릭 데이터베이스 쿼리에 제한이 있지는 않은지 확인하세요. 자세한 내용은 ZBX-12094를 참조하세요.
  • config.vpxd.stats.maxQueryMetrics가 유효하지 않거나 허용된 최대 문자 수를 초과한다는 오류가 발생하면, vCenter Server 설정에 config.vpxd.stats.maxQueryMetrics 매개변수를 추가하세요. 이 매개변수의 값은 VMware의 web.xml 파일에 있는 maxQuerysize 값과 동일해야 합니다. 자세한 내용은 VMware 지식 베이스 문서를 참조하세요.
  • Zabbix 설치가 너무 많은 메모리를 사용한다고 의심되는 경우, tcmalloc을 사용한 과도한 메모리 사용량 프로파일링을 참조하세요.