본문 바로가기
IT/VMware

[VMware] vCenter 모니터링을 위한 Zabbix 연동방법

by 퐁시냥 2022. 5. 7.

Zabbix에서 VMware vCenter를 연동해서 모니터링을 하고 싶었는데, 가이드 문서가 별로 없어서 연동하기가 쉽지 않았다. 

vCenter 연동을 위한 Zabbix Config 수정, 템플릿 매크로 추가, 그래프 추가 등 가이드를 정리해보았다.

 

1. 방화벽 허용 요청

방화벽이 있는 내부망의 경우, Zabbix Agent 통신을 위한 방화벽 허용이 필요하다. 

TCP 443, 10050 포트 허용이 필요하고, vCenter 서버 외에 다른 서버(VCM, DB, AD 서버 등)방화벽 허용은 필요하지 않다.

# 출발지
Zabbix 모니터링 서버
# 목적지
vCenter 서버 (TCP 443, 10050)

 

2. Zabbix Config 파일 수정

Zabbix 서버에서 Config 파일을 수정 후 서비스를 재기동 해야 한다. 

 

1) config 파일 수정

아래 config 상세 설명을 보고 적합한 값으로 세팅하면 된다.

  • config 파일 경로 : /etc/zabbix/zabbix_server.conf
StartVMwareCollectors=30
VMwareFrequency=60
VMwarePerfFrequency=60
VMwareCacheSize=32M
VMwareTimeout=60

 

 

 

[ Config 상세 ]

Parameter Range (default) Description
StartVMwareCollectors 0-250 (0) Number of pre-forked vmware collector instances. This value depends on the number of VMware services you are going to monitor. Use this formula to calculated required StartVMwareCollectors: servicenum < StartVMwareCollectors < (servicenum * 2).
Where servicenum is the number of VMware services, for example, if you have 1 VMware service to monitor set StartVMwareCollectors to 2, if you have 3 VMware services, set it to 5. In most cases, this value should not be less than 2 and should not be 2 times greater than the number of VMware services that you monitor. 
VMwareCacheSize 256K-2G (8M) Shared memory size for storing VMware data. You can view how much cache is utilized on the graph “Zabbix cache usage, % used” on the “Zabbix server” host. Start with 32M and then increase VMware cache size gradually if it is utilized more than 60%.
VMwareFrequency 10-86400 (60) Delay in seconds between data gathering from a single VMware service. This delay should be set to the least update interval of any VMware monitoring item.
VMwarePerfFrequency 10-86400 (60) Delay in seconds between performance counter statistics retrieval from a single VMware service. This delay should be set to the least update interval of any VMware monitoring item that uses VMware performance counters.
VMwareTimeout 1-300 (60) The maximum number of seconds Zabbix vmware collector proccess will wait for a response from VMware service (ESXi hypervisor or vCenter).

 

2) 서비스 재기동

sudo systemctl restart zabbix-server

 

3. VMware 템플릿 추가

Zabbix 에서는 VMware 관련 매크로를 지원해준다. Zabbix 버전 5.0.4부터 "Template VM VMware Macro"라는 새로운 템플릿이 도입되었다. 해당 템플릿을 사용하여 VMware 서비스 API URL, 사용자 이름 및 암호에 대한 정보를 보유할 매크로를 구성한다. 

 

Zabbix 5.0 버전에서는 VMware 관련 세가지 템플릿을 제공하였다. vCenter 연동은 Template VM VMware 템플릿을 이용하면 된다.

 

1) VMware Templates

Zabbix-vCenter-연동-VMware-Templates
Zabbix-vCenter-연동-VMware-Templates

 

[ Zabbix 5.0 VMware Default Temlpates ]

  • Template VM VMware
  • Template VM VMware Guest
  • Template VM VMware Hypervisor

 

2) Guest VM 삭제 방법

vCenter Zabbix 호스트 추가 후 vCenter에 있는 VM들이 "Virtual Machines" 템플릿으로 호스트 자동 등록되었다. 
Guest VM 들은 vCenter에서 모니터링 가능하고, 자빅스 모니터링 DB 사용률에 영향이 있어 비활성화 후 삭제처리 완료하였다. 모든 Guest VM들을 모니터링 하려 한게 아니라서 비활성화 처리 하였다. 

 

  • 설정 > 템플릿 > Template VM VMware > 디스커버리 규칙 > 'Discover VM VMware' > 상태 - 비활성

 

 

4. vCenter 호스트 추가

vCenter 호스트 추가 방법은 Zabbix 5.0 버전 기준으로 작성하였다. 

호스트 추가 후 바로 연동이 되지 않고, 최대 1~2시간 정도가 걸린다고 한다. 

 

1) 설정 > 호스트 > 호스트 작성 > 호스트

연동하려는 vCenter 호스트를 추가한다. 

호스트명, 그룹을 입력하고 Interfaces에는 vCenter IP주소를 입력한다.

 

  • Interfaces : 에이전트 / IP 주소 - vCenter IP / 포트 - 10050

Zabbix-vCenter-연동-호스트추가
Zabbix-vCenter-연동-호스트추가

 

2) 설정 > 호스트 > 호스트 작성 > 템플릿

템플릿은 Template VM VMwares로 추가한다.

Zabbix-vCenter-연동-호스트추가-템플릿
Zabbix-vCenter-연동-호스트추가-템플릿

3) 설정 > 호스트 > 호스트 작성 > 매크로

난, 매크로 설정 때문에 많이 삽질을 했었다. Zabbix 버전 5.0을 기준으로 매크로 작성 방법이 다르니 아래 내용 참고 바란다.

Zabbix-vCenter-연동-호스트추가-매크로
Zabbix-vCenter-연동-호스트추가-매크로

[ Zabbix Version 이 5.0 이하일 경우]

Zabbix Version이 5.0 버전이라, 아래 매크로를 추가하였다.

  • {$URL} – VMware 서비스 SDK URL(https://vcenter_dns_or_ip/sdk)
  • {$USERNAME} – VMware 서비스 사용자 이름 (읽기전용 계정 생성 완료 : zabbix@vsphere.local)
  • {$PASSWORD} – VMware 서비스 사용자 비밀번호  (읽기전용 계정 생성 완료)

$USERNAME의 경우에는 vCenter에서 Zabbix 용으로 읽기 전용 계정을 생성 하였다. 

vCenter 웹 접속 후, 계정 생성을 하고 권한을 읽기 전용으로 주면 된다. 

 


[ Zabbix Version 이 5.0 이상일 경우]

  • {$VMWARE.URL} – VMware 서비스 SDK URL(https://vcenter_dns_or_ip/sdk)
  • {$VMWARE.USERNAME} – VMware 서비스 사용자 이름
  • {$VMWARE.PASSWORD} – VMware 서비스 사용자 비밀번호


5. 커스텀 그래프 작성

Zabbix에서 기본으로 제공되는 그래프를 사용했더니 정상적으로 데이터가 안 보여서 제대로 연동이 안된 줄 알았다.

기본적으로 내장된 그래프는 VMware vCenter을 모니터링하기 위한 것이 아니다 보니 그래프에서 유의미한 값을 찾기 힘들었다. VMware 템플릿에서 제공하는 아이템들을 이용하여 커스텀 그래프를 생성할 수 있다.

1) 설정 > 호스트 > 그래프 > "그래프 작성"
2) 아이템 추가(원하는 아이템 선택)

3) 아이템 추가 후 "추가" 버튼 클릭

4) 모니터링 > 호스트 > 그래프에서 추가된 그래프 확인 가능

 

6. ESXi 호스트 추가 방법

vCenter Zabbix 호스트 추가 후 자동으로 vCenter에 있는 VM ESXI Host들이 호스트로 등록되었다.
자동 추가된 VM 템플릿 명은 "Template VM VMware Hypervisor"
이로써 vCenter 연동, Guest VM, Hypervisor 연동까지 방법을 알아 보았다. 

 

 

참고

댓글