PVE 各项传感器温度 WEB 显示,详细教程

2022-06-07 15:25:04 18点赞 141收藏 22评论

追加修改(2022-06-16 23:42:51):
1.JS文件两个字符之间,不管有多少个空格符只能生效一个,用【xa0】可实现多个空格 2.布局代码那块,我之前测试过,第一个修改后像影响不大,第二项就是高度,默认值300,加数值后会向下延伸高度,这个看大伙喜好

前言

此类文章网上随处可见,有手动修改代码或者脚本方式的,但主要硬件配置各尽不同,展现出来的效果不佳或者想个性化自定义显示,由于大多数人不懂相关代码,难下其手。

其实由于作者也不懂代码也走了很多弯路,查阅了很多相关资料,巧合之下找个相关资料,由于当时直接复制保存下来,后面也没找到源网页,现在给大家分享出来。

代码虽说是手打,但简单易懂,大伙可随心所欲自定义显示指定参数

建议用SSH工具修改代码,作者使用的是 FinalShell ,并设置外部文本编辑器为 notepad++ ,自带编辑器编辑大点的文件比较卡顿

建议先另存一份备用

先上效果图:

PVE 各项传感器温度 WEB 显示,详细教程

、安装 sensors 插件

注意:PVE 需要更换国内源才能安装插件,具体百度

1.1 安装sensors,命令:apt-get install lm-sensors

PVE 各项传感器温度 WEB 显示,详细教程

1.2 传感器探测,命令:sensors-detect

通常情况下全部按默认选择 Y 即可,直到传感器检测完成,可能其中一个地方提示 ENTER,按 回车键 即可

PVE 各项传感器温度 WEB 显示,详细教程

1.3 测试显示传感器,命令:sensors

但我们后面需要使用的命令是:sensors -j

-j 表示用 JSON 格式输出传感器数据

PVE 各项传感器温度 WEB 显示,详细教程

二、修改PVE文件,添加修改代码

2.1 编辑/usr/share/perl5/PVE/API2/Nodes.pm

定位编辑位置,查找内容:$res->{ksm} = {

$res->{ksm} = {

shared => $meminfo->{memshared},

};

$res->{sensinfo} = `sensors -j`; # JSON格式输出传感器数据

参考图示,添加代码:$res->{sensinfo} = `sensors -j`;

注意:值得买的编辑器原因复制粘贴后,两行之间会多一行空白行,对运行无碍,嫌弃的可删掉,参考图示。还有注意符号别漏了,确认好保存文件

PS:硬盘温度后面在讲,或者后续直接在此文补充

PVE 各项传感器温度 WEB 显示,详细教程

2.2 编辑/usr/share/pve-manager/js/pvemanagerlib.js

定位编辑位置,查找内容:Proxmox.Utils.render_cpu_model,

PS:大多数教程是显示在 版本 下面,个人感觉在 CPU 下面顺眼

{

itemId: 'cpus',

colspan: 2,

printBar: false,

title: gettext('CPU(s)'),

textField: 'cpuinfo',

renderer: Proxmox.Utils.render_cpu_model,

value: '',

},

{

itemId: 'sensinfo',

colspan: 2,

printBar: false,

title: gettext('温度传感器'), // WEB显示内容

textField: 'sensinfo',

renderer:function(value){

value = JSON.parse(value.replaceAll('Â', ''));

const c0 = value['coretemp-isa-0000']['Core 0']['temp2_input'].toFixed(1);

const c1 = value['coretemp-isa-0000']['Core 1']['temp3_input'].toFixed(1);

const c2 = value['coretemp-isa-0000']['Core 2']['temp4_input'].toFixed(1);

const c3 = value['coretemp-isa-0000']['Core 3']['temp5_input'].toFixed(1);

const f1 = value['it8786-isa-0a40']['fan1']['fan1_input'].toFixed(1);

return `CPU核心温度: ${c0}℃ | ${c1}℃ | ${c2}℃ | ${c3}℃ <br> 风扇转速:${f1}`; // 输出格式

}

},

{

itemId: 'kversion',

colspan: 2,

title: gettext('Kernel Version'),

printBar: false,

textField: 'kversion',

value: '',

},

注意:值得买的编辑器原因复制粘贴后,两行之间会多一行空白行,对运行无碍,嫌弃的可删掉,参考图示。

参考图示:

PVE 各项传感器温度 WEB 显示,详细教程

代码详解:

回到文章前用 sensors -j 输出传感器参数那段

PVE 各项传感器温度 WEB 显示,详细教程

"coretemp-isa-0000" 是 CPU 传感器,其中 "Core 0" 是核心编号,"temp2_input": 56.000 是核心温度

"Package id 0" 是封装传感器,对应的 "temp1_input": xx.000 是封装温度,具体看代码

"acpitz-acpi-0" 是主板传感器,对应的参数大伙看自己的代码

PS:由于作者 CPU 是 J1900,没有封装传感器,和主板传感器,故没有显示出来

作者的 PVE WEB 界面有设置转速,之前是用3线大散热风扇,后面改用2线小风扇,故没显示转速。

转速在 "it8786-isa-0a40" 模块中的 "fan1" 或者 "fan2",看具体插在 CPU 或者 SYS 针脚上

return 输出显示详解:

PVE 各项传感器温度 WEB 显示,详细教程

获取数据格式为【const xxxx = value['xxxx']['xxxx']['xxxx_input'].toFixed(1)】

【result】输出字符串的格式根据实际情况或者个人需求进行修改

比如在作者的基础上加入 CPU 封装温度和主板温度,不需要显示风扇转速

PVE 各项传感器温度 WEB 显示,详细教程

嗯......上传完发现 主板温度 参数 后面少了 ℃

修改完成后保存,建议不要关闭文本编辑器,防止代码出错后 PVE 显示白屏,方便检查代码或恢复代码

2.3 修改布局显示

还是编辑文件 /usr/share/pve-manager/js/pvemanagerlib.js

定位编辑位置。

查找内容:Ext.create('Ext.window.Window', {

PVE 各项传感器温度 WEB 显示,详细教程

继续查找内容跳转:widget.pveNodeStatus

PVE 各项传感器温度 WEB 显示,详细教程

两处 height 的值需按情况修改,每多一行数据增加 20。根据实际情况修改,比如不想看到订阅,可适当调整

三、重启 PVE WEB 服务

输入代码:systemctl restart pveproxy

等待几秒钟后,刷新PVE管理网页或者重新打开PVE管理页面

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
22评论

  • 精彩
  • 最新
  • 置顶 还有两点补充一下:
    1.JS文件两个字符之间,不管有多少个空格符只能生效一个,用【\xa0】可实现多个空格
    2.布局代码那块,我之前测试过,第一个修改后像影响不大,第二项就是高度,默认值300,加数值后会向下延伸高度,这个看大伙喜好

    校验提示文案

    提交
  • PVEtools貌似更适合普通玩家

    校验提示文案

    提交
    用过,没反应,手动代码能自定义

    校验提示文案

    提交
    不好用吗?我没看issue里有很多人反应没用啊

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 怎么在线升级?我7.0想升7.2,源啥的都换了,就是不成功

    校验提示文案

    提交
    貌似敲命令升级的

    校验提示文案

    提交
    一样。7.1用命令升不到7.2

    校验提示文案

    提交
    收起所有回复
  • 这也太麻烦了,早有傻瓜式一键脚本了。

    校验提示文案

    提交
    开头就说了,设备硬件不一样或者想定制显示,一键式并不合适,json相对以前的代码更容易理解,搞一次懂了之后很简单,随意个性化显示

    校验提示文案

    提交
    收起所有回复
  • 升级就没了,太麻烦了

    校验提示文案

    提交
    脚本也是一样,知道怎么改,自己的喜好代码存一份,也非常简单

    校验提示文案

    提交
    收起所有回复
  • 楼主,教一下怎么添加硬盘温度吧,我网上找的方法试了,页面一直转圈加载不出来

    校验提示文案

    提交
    应该代码有问题才会页面打不开

    校验提示文案

    提交
    收起所有回复
  • j4125能用吗

    校验提示文案

    提交
    跟机器没关系。刚刚用E3 V5都没问题

    校验提示文案

    提交
    收起所有回复
  • 用pvetool一键安装更简单一些

    校验提示文案

    提交
  • 想看lxc教学

    校验提示文案

    提交
  • 装一个pve工具箱好多问题都可以解决,不然一堆命令看着头晕。

    校验提示文案

    提交
  • 作者你好:“作者的 PVE WEB 界面有设置转速”请问这个风扇设置转速怎么弄啊?这里只是说了显示风扇转速

    校验提示文案

    提交
  • 很详细的教程,赞了

    校验提示文案

    提交
  • 请问这种传感器能直通给windows虚拟机吗 没有传感器风扇pwm控制不了了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

值友6565592270

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
目录
141
扫一下,分享更方便,购买更轻松