
1.安装CPU温度检测软件sensors
| apt install lm-sensors -y |
复制
传感器探测,命令:sensors-detect
全部选择yes即可,可能其中一个地方提示 ENTER,按 回车键 即可
2.查看一下温度信息
复制

3.修改 /usr/share/perl5/PVE/API2/Nodes.pm
| vi /usr/share/perl5/PVE/API2/Nodes.pm |
复制
在里面搜索定位到 PVE::pvecfg::version_text();
在这行下面添加一行 $res->{sensorsInfo} = `sensors`;

4.修改/usr/share/pve-manager/js/pvemanagerlib.js
| vi /usr/share/pve-manager/js/pvemanagerlib.js |
复制
在里面搜索定位到 PVE Manager Version
在花括号结束的地方,另起一行,写入我们的代码
| { |
| itemId: 'sensorsInfo', |
| colspan: 2, |
| printBar: false, |
| title: gettext('CPU温度'), |
| textField: 'sensorsInfo', |
| renderer:function(value) |
| { |
| const p0 = value.match(/Package id 0: +\+(\d+\.\d+)/)[1]; |
| const c0 = value.match(/Core 0: +\+(\d+\.\d+)/)[1]; |
| const c1 = value.match(/Core 1: +\+(\d+\.\d+)/)[1]; |
| const c2 = value.match(/Core 2: +\+(\d+\.\d+)/)[1]; |
| const c3 = value.match(/Core 3: +\+(\d+\.\d+)/)[1]; |
| const c4 = value.match(/Core 4: +\+(\d+\.\d+)/)[1]; |
| const c5 = value.match(/Core 5: +\+(\d+\.\d+)/)[1]; |
| const c6 = value.match(/Core 6: +\+(\d+\.\d+)/)[1]; |
| const c7 = value.match(/Core 7: +\+(\d+\.\d+)/)[1]; |
| const c8 = value.match(/Core 8: +\+(\d+\.\d+)/)[1]; |
| const c9 = value.match(/Core 9: +\+(\d+\.\d+)/)[1]; |
| return `Package: ${p0} ℃ || 核心1: ${c0} ℃ | 核心2: ${c1} ℃ | |
| 核心3: ${c2} ℃ | 核心4: ${c3} ℃ | 核心5: ${c4} ℃ | 核心6: ${c5} ℃| |
| 核心7: ${c6} ℃ | 核心8: ${c7} ℃ | 核心9: ${c8} ℃ | 核心10: ${c9} ℃` |
| } |
| }, |
复制

5.重启pve网页服务,刷新网页
| systemctl restart pveproxy |
复制
如果发现界面显示不完整,则需要修改一下高度

| vi /usr/share/pve-manager/js/pvemanagerlib.js |
复制
搜索 widget.pveNodeStatus 按需求修改height值(每多一行数据增加20)

下面是添加硬盘温度
1.安装硬盘温度检测软件hddtemp
| apt-get install hddtemp |
| chmod +s /usr/sbin/hddtemp |
复制
2.查看一下硬盘温度信息
复制

3.修改 /usr/share/perl5/PVE/API2/Nodes.pm
| vi /usr/share/perl5/PVE/API2/Nodes.pm |
复制
在里面搜索定位到 PVE::pvecfg::version_text();
在我们刚刚添加$res->{sensorsInfo} = `sensors`;这行下面添加
$res->{hddtemp} = `hddtemp /dev/sd?`;

4.修改/usr/share/pve-manager/js/pvemanagerlib.js
| vi /usr/share/pve-manager/js/pvemanagerlib.js |
复制
在里面搜索定位到 PVE Manager Version
在我们刚刚添加CPU温度下面 添加
| { |
| itemId: 'hddtemp', |
| colspan: 2, |
| printBar: false, |
| title: gettext('硬盘温度'), |
| textField: 'hddtemp', |
| renderer: function(value) |
| { |
| value = value.replaceAll('Â', ''); |
| return value.replaceAll('\n', '<br>'); |
| } |
| }, |
复制
5.重启pve网页服务,刷新网页
| systemctl restart pveproxy |
复制
添加UPS信息
修改 /usr/share/perl5/PVE/API2/Nodes.pm
| $res->{hddtemp} = `hddtemp /dev/sd?`; |
复制
修改/usr/share/pve-manager/js/pvemanagerlib.js
| { |
| itemId: 'apcaccess', |
| colspan: 2, |
| printBar: false, |
| title: gettext('UPS信息'), |
| textField: 'apcaccess', |
| renderer: function(value) |
| { |
| const DATE = value.match(/DATE : (\d+-\d+-\d+ \d+:\d+:\d+)/)[1]; |
| const STATUS = value.match(/STATUS : (.+)/)[1]; |
| const LINEV = value.match(/LINEV : (\d+\.\d+)/)[1]; |
| const LOADPCT = value.match(/LOADPCT : (\d+\.\d+)/)[1]; |
| const BCHARGE = value.match(/CHARGE : (\d+\.\d+)/)[1]; |
| const TIMELEFT = value.match(/TIMELEFT : (\d+\.\d+)/)[1]; |
| const SENSE = value.match(/SENSE : (.+)/)[1]; |
| |
| |
| |
| return `更新时间:${DATE} <br> |
| 状态:${STATUS} <br> |
| 输入电压:${LINEV} V <br> |
| 负载:${LOADPCT} % <br> |
| 电池电量:${BCHARGE} % <br> |
| 电池可供电时间:${TIMELEFT} 分钟 <br> |
| 电池灵敏度:${SENSE} |
| |
| |
| ` |
| } |
复制
最后效果
