在传统的x86服务器上,ESXi可监控服务器cpu如图所示:
当我们通常玩树莓派时,我们可以得到它cpu温度,并且可以通过程序联动启停风扇。(网很多教程)
当ESXi on Arm安装在树莓派4中b以后默认得不到这个温度。
前几天有网友在https://github.com/thebel1/thpimon中提供了thpimon-0.1.0-1OEM.701.1.0.40650718.aarch64.vib这个驱动,在ESXi on Arm上安装这一vib驱动后,可以通过python脚本来获取相应的数据。具体步骤已包含在上述项目的描述中。这里就不演示步骤了。看下python脚本显示结果:
虽然数据采集问题在这里得到了解决,但时间序列数据无法形成,因此需要进行改造python脚本来实现,恰好有另一个https://github.com/fgrehl/esxi-raspi,时间序列数据的生成是在前者的基础上实现的。
设定interval抓取:
运行结果:
仅仅是在Console打印时间序列数据显然达不到监控水平,因此增加了将数据发送到Graphite主机的CARBON这样就可以在端口了Graphite图形化前端显示时间序列数据。
设置发送主机:
因为涉及到从ESXi向外(CARBON)试着关闭防火墙,发送数据:esxcli network firewall set --enabled false,在重要环境下,请单独设置防火墙规则,不要整体关闭。
看下运行时Console的显示:
格式为指标,数据,时间,
Graphite主机的施工没有详细说明,可以参考https://graphite.readthedocs.io/en/latest/install.html通过Docker我在虚拟机上安装和运行。Photon OS中运行的此Docker,顺便说一句,安利下Photon OS,很适合玩Docker。
访问Graphite webui:
可从树形结构出发Metrics找到我们发送的数据。
双击cputemp可以在右侧显示图形,并定制图形的某些属性。
此外,我们还可以Dashboard如果有多台机器或多个指标,可以定义我们想要的指标。Dashboard:
访问地址保存后http://192.168.1.235/dashboard/ESXi-pi2 cputemp Dashboard可随时访问查看。
从图中可以看出,这段时间应该是ESXi on Arm树莓派4b的cpu温度基本在46-48.5度之间。