본문 바로가기
Monitoring/Zabbix

[모니터링] Zabbix | VMware vSphere 모니터링 - 연동

by 인프라보이 2020. 5. 13.

Zabbix를 통하여 VMware vCenter를 모니터링하여, vCenter Server에서 제공하는 성능 데이터를 Zabbix에서 시각화하여 볼 수 있습니다.

일반적으로 Zabbix Agent를 통한 개별 OS 모니터링을 주요하게 사용하지만, VMware vSphere ESXi 하이퍼바이저를 모니터링은 Zabbix에서 제공하는 API를 통해 모니터링이 가능합니다.

별도의 에이전트 설치 없이 Zabbix서버에서 vCenter Server로 TCP 10050, TCP 443 이 연결이 되어있으면 가능합니다.

Zabbix를 통해 VMware vCenter Server를 연동하게 되면, 전체 ESXi Hypervisor의 성능 데이터를 볼 수 있으며, 특정 시간에 발생한 이슈사항(CPU/Memory 사용률 증가)과 장애 발생 시 Zabbix Alert을 통해 알람을 받을 수 있습니다.

Zabbix에서 VMware vCenter Server를 연동하기 위해서는 아래 2가지를 설정해야 합니다.

1. zabbix_server.conf 수정

2. Zabbix에 vCenter 호스트 추가

위 설정을 진행하게 되면 약 2시간 이내에 Zabbix에서 Gathering 하는 VMware 정보들을 확인할 수 있습니다. 
vCenter를 연동하게 되면, ESXi뿐만 아니라 Guest Virtual Machine의 성능도 수집합니다. 다만, 이는 에이전트를 통한 성능 정보 수집이 아니라 vCenter에서 수집하는 성능 정보이므로, 실제 OS에서 발생하는 성능 데이터와는 다를 수 있습니다. 

1. zabbix_server.conf 수정

 zabbix를 설치할 때 기본적으로 zabbix_server.conf 파일의 위치는 아래와 같습니다.

/usr/local/etc/zabbix_server.conf

vi 편집기 등을 통하여 위 설정파일에서 몇 가지 정보를 수정해주어야 합니다.  보통은 주석으로 처리되어 있어 주석을 제거하고 설정값을 아래와 같이 변경해줍니다.

### Option: StartVMwareCollectors
#       Number of pre-forked vmware collector instances.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartVMwareCollectors=0
StartVMwareCollectors=5

### Option: VMwareFrequency
#       How often Zabbix will connect to VMware service to obtain a new data.
#
# Mandatory: no
# Range: 10-86400
# Default:
# VMwareFrequency=60
VMwareFrequency=60

### Option: VMwarePerfFrequency
#       How often Zabbix will connect to VMware service to obtain performance data.
#
# Mandatory: no
# Range: 10-86400
# Default:
# VMwarePerfFrequency=60
VMwarePerfFrequency=60

### Option: VMwareCacheSize
#       Size of VMware cache, in bytes.
#       Shared memory size for storing VMware data.
#       Only used if VMware collectors are started.
#
# Mandatory: no
# Range: 256K-2G
# Default:
# VMwareCacheSize=8M
VMwareCacheSize=2048M

### Option: VMwareTimeout
#       Specifies how many seconds vmware collector waits for response from VMware service.
#
# Mandatory: no
# Range: 1-300
# Default:
# VMwareTimeout=10
VMwareTimeout=30

위에 주석("#")이 없는 부분들이 변경된 설정 값입니다. 맨 위에 항목이 VMware 정보 수집을 위한 Collector을 5개 설정한다는 내용입니다. vCenter에서 수집되는 많은 양의 정보를 받아와야 되기 때문에 Collector를 5개로 설정하고, CacheSize도 보통은 512MB이지만 저는 2048M을 설정하였습니다.  

위 설정을 하면, Zabbix Server에서 VMware정보를 수집하기 위한 준비가 되었습니다. 이제 관리하고 있는 vCenter Server를 연동해서 성능 정보를 가져와야 합니다. 

2. Zabbix에 vCenter 호스트 추가

Zabbix 대시보드 콘솔에 접속합니다. 

설정 -> 호스트 에서 우측 상단에 "호스트 작성"을 클릭하여 연동하고자 하는 vCenter Server정보를 입력합니다.

호스트명은 임의로 지정해주면 되고, 
에이전트 인터페이스에 vCenter Server IP를 입력해 줍니다. Zabbix Server OS hosts 파일에 DNS 설정이 지정되어 있으면 FQDN으로 넣어주어도 됩니다.  그룹 항목에도 문자열을 입력하면 자동으로 그룹이 생성됩니다.

템플릿은 아래와 같이 "Template VM VMware"를 지정합니다. 

마지막으로 (나머지는 무시해도 됩니다) "매크로"항목에서 vCenter Server 접속 계정을 지정합니다.

 

728x90

댓글