监控安装ESXi on Arm的树莓派4b的CPU温度

在传统的x86服务器上,ESXi可以监控该服务器的cpu温度,如图:

cpu温度显示

我们平时玩树莓派时,是可以获取到cpu温度,并且可以通过程序来联动启停风扇的。(网络上教程很多)

当ESXi on Arm安装在树莓派4b以后,默认肯定是获取不到这个温度的。

前几天一位网友在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%20cputemp%20Dashboard可以之后随时访问查看。

从图中看,这段时间该ESXi on Arm所运行的树莓派4b的cpu温度基本在46-48.5度之间。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注