如果想要获取 PVE 的母机硬件温度信息,并且在 pve 的控制面板里显示以达到实时监控服务器的目的。如下图:
安装硬件检测软件 sensors
需要安装硬件检测软件。具体的安装工程请参考这篇文章:https://bmzhp.com/experience/281.html
修改添加显示代码
修改 /usr/share/perl5/PVE/API2/Nodes.pm
vi /usr/share/perl5/PVE/API2/Nodes.pm
在里面搜索定位到 PVE::pvecfg::version_text();
在这行下面添加一行 $res->{sensorsInfo} = sensors
;
改 /usr/share/pve-manager/js/pvemanagerlib.js
vi /usr/share/pve-manager/js/pvemanagerlib.js
在里面搜索定位到 PVE Manager Version
在花括号结束的地方,另起一行,写入我们的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
| | { |
| --- | --- |
| | 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} ℃ |
| | } |
| | }, |
|
重启 pve 网页服务
1
2
3
4
5
|
| | systemctl restart pveproxy |
| --- | --- |
| | 重启网页服务并刷新网页。 |
|
访问控制面板刷新网页就可以了。