目前正在使用prometheus对我们的openstack云环境进行监控,但过了半年测试环境的主机资源迟迟未到位,因此和基架沟通是否有传统环境的需求可以做,提到了cmdb和商业监控的替换。但基架又不想我们再到每台虚拟机上去安装agent,因此需要通过vSphere Web Service API抓取测试环境34台主机、1600台虚拟机的监控数据。
经过两个星期的研究,第一稿监控vmware vcenter的prometheus exporter开发完成,一次抓取1600多台主机、虚拟机的cpu mhz、mem mb、disk io、net io大概耗时在1分钟左右。
exporter使用go语言编写,使用vsphere的govmomi sdk。
sdk地址: https://github.com/vmware/govmomi
api文档: https://code.vmware.com/apis/42/vsphere#doc