PVE7.显示CPU和硬盘温度

PVE显示CPU温度和硬盘温度

这个后面测试只支持这个版本,pve-manager/7.0-13/ 后面7.1 7.2 就不用试了
先来个最终效果图
最终效果图

安装PVE系统

这个不用讲了,网上大把教程。

安装 CPU 及主板温度检测:lm-sensors

apt install lm-sensors

查看cpu温度

root@:~# sensors
acpitz-acpi-0
Adapter: ACPI interface
temp1:        +65.0°C  (crit = +95.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +64.0°C  (high = +105.0°C, crit = +105.0°C)
Core 0:        +64.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:        +64.0°C  (high = +105.0°C, crit = +105.0°C)
Core 2:        +64.0°C  (high = +105.0°C, crit = +105.0°C)
Core 3:        +64.0°C  (high = +105.0°C, crit = +105.0°C)

root@:~# 

温度有点高!!在下载。

安装 硬盘温度检测:hddtemp

apt install hddtemp

查看一下硬盘温度,有2个是usb接口的,不支持温度查看

root@:~# hddtemp /dev/sd?
/dev/sda: SSD 128GB: 40°C
/dev/sdb: HGST HTS541010A9E680: 29°C
/dev/sdc: ST1000LM024 HN-M101MBB: S.M.A.R.T. not available
/dev/sdd: TOSHIBA MK1246GSX: S.M.A.R.T. not available
root@:~# 

修改配置文件

首先备份需要修改的文件

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

修改Nodes.pm文件
用vi命令修改,或者安装lrzsz软件包,下载到本地电脑修改

apt install lrzsz

然后sz命令下载文件到本地电脑

 sz /usr/share/perl5/PVE/API2/Nodes.pm
 sz /usr/share/pve-manager/js/pvemanagerlib.js

电脑用notepad++打开Nodes.pm,搜索pveversion

	$res->{pveversion} = PVE::pvecfg::package() . "/" .
	    PVE::pvecfg::version_text();
    
    $res->{thermalstate} = `sensors`;  //这里加一行
 
    $res->{thermal_hdd} = `hddtemp /dev/sd?`; //这里也加一行
 
	my $dinfo = df('/', 1);     # output is bytes

修改pvemanagerlib.js文件
notepad++打开文件pvemanagerlib.js,搜索title: gettext(‘Detail’),

// ...[OMITTED]...
title: gettext('Detail'),
                                            resizable: true,
                                            modal: true,
                                            width: 650,
                                            height: 400 , //原值3007.0 7.1 7.2的可能不一样
                                            layout: {
                                                type: 'fit',
                                            },

// ...[OMITTED]...

搜索widget.pveNodeStatus

// ...[OMITTED]...
Ext.define('PVE.node.StatusView', {
    extend: 'PVE.panel.StatusView',
    alias: 'widget.pveNodeStatus',

    height: 400,  // 原始值为 300
    bodyPadding: '20 15 20 15',

    layout: {
// ...[OMITTED]...

两处 height 的值需按情况修改,每多一行数据增加 20,我这边增加一行显示CPU温度,4行显示硬盘温度,所以增加了100
再次在pvemanagerlib.js中搜索PVE Manager Version,添加如下代码

	    title: gettext('PVE Manager Version'),
	    textField: 'pveversion',
	    value: '',
	},  //注意这里需要加一个逗号
	   //这里开始复制,
	{
          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} ℃`
          //这里我是4核的cpu,所以添加了4个,其实一个也一样,温度都是一样的
       }     
    },
	{
            itemId: 'thermal-hdd',
            colspan: 2,
            printBar: false,
            title: gettext('硬盘温度'),
            textField: 'thermal_hdd',
            renderer: function(value) {
                value = value.replaceAll('Â', '',);
                return value.replaceAll('\n', '<br>');
            }
    }
//上面这里结束,不要复制多了
    ],

最后一步重启pveproxy

systemctl restart pveproxy

防止自己忘记,写个记录!

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值