一.安装 lm-sensors
apt-get install lm-sensors
安装完成后可以运行 sensors 就能显示温度啦
二.修改面板代码
先备份之后要修改的两个文件
cp /usr/share/perl5/PVE/API2/Nodes.pm /usr/share/perl5/PVE/API2/Nodes.pm.bak
cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak
修改WebUI
主要修改两个文件 Nodes.pm和pvemanagerlib.js。
Nodes.pm
编辑文件 vi /usr/share/perl5/PVE/API2/Nodes.pm
,我一般采用vi
找到317行,在后面添加一行,防止输入错误,可以直接复制下面的代码
$res->{thermalstate} = `sensors`;
pvemanagerlib.js
编辑文件 vi /usr/share/pve-manager/js/pvemanagerlib.js
用搜索找到下图对应的地方修改高度值为420,如下图所示
第二处修改
最后增加显示CPU温度的代码
{
itemId: 'thermal',
colspan: 2,
printBar: false,
title: gettext('CPU温度'),
textField: 'thermalstate',
renderer:function(value){
const c0 = value.match(/Core 0.*?\+([\d\.]+)Â/)[1];
const c1 = value.match(/Core 1.*?\+([\d\.]+)Â/)[1];
const c2 = value.match(/Core 2.*?\+([\d\.]+)Â/)[1];
const c3 = value.match(/Core 3.*?\+([\d\.]+)Â/)[1];
return `Core 0: ${c0} ℃ | Core 1: ${c1} ℃ | Core 2: ${c2} ℃ | Core 3: ${c3} ℃`
}
}
注意红线上的逗号,这个不能漏掉
然后重启pve服务就能看到效果啦,重启服务命令
systemctl restart pveproxy
效果如下图,如果你的CPU不是四核的,上面代码可以修改成适合自己的啊,主要是正则匹配sensors 命令的输出温度值,也可以采用类似的方法添加你需要监控的一些参数啦。
版权属于:小杨的生活
本文链接:https://web.akkdiy.cn/archives/694/
转载时须注明出处及本声明