安装温度检测工具
CPU 及主板温度检测:lm-sensors
安装完成后执行 sensors-detect
进行传感器探测,通常情况下全部默认选择 yes 即可
探测完成后执行 sensors
测试传感器
在如上输出中,“acpitz-acpi-0” 是主板温度,“coretemp-isa-0000” 是 CPU 温度
硬盘温度检测:hddtemp
安装完成后执行 hddtemp /dev/sd?
测试传感器
由于 PVE 的 web 服务以用户 www-data 身份运行,需要修改 hddtemp 的权限
编辑 PVE web 服务文件
Nodes.pm
编辑文件 /usr/share/perl5/PVE/API2/Nodes.pm
,跳转到 my $dinfo = df('/', 1);
位置,编辑成如下所示
pvemanagerlib.js
修改页面样式以完整显示数据
编辑文件 /usr/share/pve-manager/js/pvemanagerlib.js
,跳转到 gettext('Status') + ': ' + zpool,
位置,编辑成如下所示
跳转到 widget.pveNodeStatus
位置,编辑成如下所示
两处 height
的值需按情况修改,每多一行数据增加 20
例如有 1 行 CPU 与主板温度数据、3 行硬盘温度数据(3 块硬盘),即为 480 与 380
添加显示内容
跳转到 PVE Manager Version
位置,编辑成如下所示
其中处理数据的正则式与返回值可能需按实际情况进行修改
完成
执行 systemctl restart pveproxy
重启 PVE web 服务
在浏览器中清除 PVE 控制台的缓存,重新加载即可在节点概要显示温度信息
遇到的问题:
问题1:
编辑文件 /usr/share/perl5/PVE/API2/Nodes.pm,跳转到 my $dinfo = df(‘/’, 1); 位置,编辑成如下所示 大佬能指点下怎么快捷键跳转吗 我的版本6.2-4全部按遍了也都没反应
答:如果用的是vim 就是按“/” 然后输入“my $dinfo = df(‘/’, 1);” 然后回车
问:
改完,如果更新了pve,然后就。。。。。没了::>_<::
在pve6.2.4上失效了,修改后pve web就打不开了
答:是的 每次更新PVE会覆盖文件
问:
大佬,我的sensors显示如下,按你的正则,主板温度那个语句应该是不行,求指点,改怎么改?正则真的是一窍不通。感谢大佬!
soc_dts0-virtual-0 Adapter: Virtual device temp1: +46.0°C acpitz-acpi-0 Adapter: ACPI interface temp1: +26.8°C (crit = +90.0°C) soc_dts1-virtual-0 Adapter: Virtual device temp1: +47.0°C coretemp-isa-0000 Adapter: ISA adapter Core 0: +45.0°C (high = +105.0°C, crit = +105.0°C) Core 1: +45.0°C (high = +105.0°C, crit = +105.0°C) Core 2: +46.0°C (high = +105.0°C, crit = +105.0°C) Core 3: +46.0°C (high = +105.0°C, crit = +105.0°C)
答:
将 const b0
的正则改为 “/^acpitz-acpi-d+n.*ntemp1.*?+([d.]+)?/m”
问:请问‘value = value.replace(/Â/g, ”);’添加在什么地方啊,硬盘温度确实出现 “” 字符了,感谢!
{ itemId: 'hdd-temperatures', colspan: 2, printBar: false, title: gettext('HDD Temperatures'), textField: 'hdd_temperatures', renderer: function (value) { value = value.replace(/Â/g, ''); // 添加在这里 return value.replace(/n/g, ' ') } }
原文链接:https://zry.io/archives/285