VMware API를 통한 Zabbix 호스트·가상머신 수집 구성하기

목차

ESXi 내부에 일반 agent를 설치하는 대신 VMware API로 상태를 수집하는 방법입니다. 원노트의 Zabbix 6 구성 기록을 기준으로 읽기 전용 계정, collector와 템플릿 매크로를 정리했습니다.

모니터링 계정과 연결 경로

vCenter 또는 ESXi에서 전용 사용자 lieper-monitor를 만들고 모니터링에 필요한 읽기 역할을 부여합니다. 대상 계층의 권한 상속 여부를 확인합니다. API 수집은 보통 HTTPS /sdk를 사용하며 이 목적만으로 ESXi의 agent 포트 10050을 열 필요는 없습니다.

Zabbix collector 설정

서버 또는 실제로 수집하는 프록시의 VMware 기능 지원을 확인합니다. 다음은 /etc/zabbix/zabbix_server.conf의 예시입니다. 수집 대상 수에 맞춰 프로세스·캐시를 조정합니다.

TERMINAL / CONFIG
StartVMwareCollectors=4
VMwareCacheSize=32M
VMwareTimeout=60
TERMINAL / CONFIG
sudo systemctl restart zabbix-server
sudo journalctl -u zabbix-server -n 50 --no-pager

템플릿과 매크로

사용 중인 Zabbix 버전의 VMware 템플릿을 연결하고 다음 매크로를 실제 API 정보로 설정합니다. 암호는 비밀 매크로 등 보호된 방식으로 관리합니다.

TERMINAL / CONFIG
{$VMWARE.URL} = https://esxi.example.com/sdk
{$VMWARE.USERNAME} = lieper-monitor
{$VMWARE.PASSWORD} = 새로 생성한 모니터링 암호

실제 수집에 쓰지 않는 agent 인터페이스를 만들고 10050을 개방하기보다 템플릿 요구 조건을 확인합니다. API 인증·인증서·권한 오류는 서버 로그와 미지원 아이템 원인을 확인합니다.

디스커버리와 단위 검증

Hypervisor·Guest 검색 결과와 최신 데이터의 갱신을 확인합니다. 메모리·CPU counter의 단위는 VMware API와 템플릿의 전처리 설정을 기준으로 확인합니다. 특정 counter가 100분의 1 퍼센트 단위인 경우에만 0.01 승수를 적용하고 모든 비율 값에 일괄 적용하지 않습니다. 실제 VMware 화면의 같은 시간대 값과 비교해 검증합니다.

서비스구축 › zabbix
zabbix 목록