go의 govmomi로 ESXi의 NIC 정보를 자동 취득하는 Zabbix의 LLD 툴을 만들어 보았다.

Go 공부에서 govmomi을 사용하여 ESXi의 물리적 NIC 정보를 얻고 Zabbix의 LLD에서 모니터링을 자동 등록하는 도구를 만들려고했습니다.

만든 배경



Zabbix는 표준으로 VMware ESXi 호스트를 LLD로 자동 등록할 수 있지만, VMware 모니터링 항목을 LLD로 자동 등록하는 키는 적게 수동으로 등록해야 했습니다.
수가 적으면 문제 없습니다만, 동적으로 호스트가 증감하는 시스템이라면 비효율을 위해 Go의 공부가 처음에는 ESXi 호스트의 물리 NIC 정보를 취득해 LLD 등록하는 툴을 Go로 만들어 보았습니다.

vmware_esxi_nic_lld



htps : // 기주 b. 코 m / 스키 - 쵸케 r / 얌비 x - 고 - 모니 린 g - 와 ls / t Ree /

검증 환경




품목
버전


OS
RHEL7.5

Zabbix
3.4

govmomi
0.18.0


사용법



(1) 여기의 절차에 따라 빌드합니다.

(2) Zabbix 서버 또는 프록시에 도구를 업로드합니다.
$ scp vmware_esxi_nic_lld root@zabbix34:
$ ssh root@zabbix34
# cd /usr/lib/zabbix/externalscripts
# mv ~/vmware_esxi_nic_lld .
# chmod +x vmware_esxi_nic_lld
# ./vmware_esxi_nic_lld -h
NAME:
   vmware_esxi_nic_lld - Get physical nic name of esxi

USAGE:
   vmware_esxi_nic_lld URL UserName Password Uuid Datacenter

COMMANDS:
     URL         URL for vCenter sdk(ex:https://vcenter/sdk)
     UserName    vCenter user
     Password    vCenter user password
     Uuid        ESXi uuid
     Datacenter  Datacenter name(optional)
     help, h     Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help

(3) 템플릿 예제을 다운로드하여 Zabbix로 가져옵니다.

(4) Zabbix의 LLD에서 자동 ESXi 호스트를 추가하는 대신 수동으로 등록하려면 ホスト名uuid로 지정합니다.



ESXi 호스트의 uuid를 확인하려면 다음 페이지를 참조하십시오.

https://qiita.com/sky_jokerxx/items/e14455bfd51295d1d1e7#zabbix에 감시 등록을 한다

위에서 소개한 도구의 사용 예
$ ./mob-property-view.py -vc 192.168.0.253 --mob HostSystem -t esxi-07.local --property summary | grep uuid
Password:
      uuid = '00000000-0000-0000-0000-ac1f6b1e8888',

(5) マクロ는 다음과 같이 등록합니다.




품목
설명


{$URL}
vCenter의 SDK URL

{$USERNAME}
vCenter에 로그인할 사용자 이름

{$PASSWORD}
vCenter에 로그인하는 사용자의 비밀번호


이제 ESXi 호스트의 NIC 정보를 LLD로 가져와 등록 할 수 있습니다 :)

좋은 웹페이지 즐겨찾기