PVE 默认是没有CPU和主板温度显示的,为方便使用,我们自己加上

实际效果

版本和软件

  • Virtual Environment 6.1-3
  • putty 或 PVE自带的Shell 或 MobaXterm 等工具

安装硬件温度监控软件 lm-sensors

lm-sensors(Linux-monitoring sensors,Linux监控传感器)是一款linux的硬件监控的软件,可以帮助我们来监控主板,CPU的工作电压,风扇转速、温度等数据。

  1. 安装lm-sensor
apt-get install lm-sensors
  1. 验证lm-sensors的版本
sensors -v

显示

sensors version 3.5.0 with libsensors version 3.5.0
  1. 执行sensors-detect命令,获取可显示的温度

lm-sensors使用之前需要使用sensors-detect命令去配置它。

sensors-detect是一个与硬件传感器交互的脚本,用来探测哪些传感器可用并加载相关的内核模块。

运行下面的命令,然后按照屏幕提示进行操作。

sensors-detect

确认项目比较多,全部默认yes就行,最后回车,yes
4. 执行sensors命令

使用sensors命令验证lm-sensors是否正常运行,显示出系统运行的温度状态和风扇转速等信息,这个信息就是我们所需要的。

sensors

显示


root@pve:~# sensors
iwlwifi-virtual-0
Adapter: Virtual device
temp1:            N/Aacpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +38.0°C  (high = +84.0°C, crit = +100.0°C)
Core 0:        +32.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:        +33.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:        +32.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:        +32.0°C  (high = +84.0°C, crit = +100.0°C)i350bb-pci-0100
Adapter: PCI adapter
loc1:          +0.0°C  (high =  +0.0°C, crit =  +0.0°C)

我们可以看出

  • acpitz-acpi-0是主板温度
  • coretemp-isa-0000 是 CPU 温度

定制显示温度内容

PVE 的 WebUI 控制台是使用Node.js实现的,所以要修改对应的文件,使得其可以定期执行sensors命令,并将结果输出 Web 页面上。

修改Nodes.pm,获取温度

  1. 打开文件
vi /usr/share/perl5/PVE/API2/Nodes.pm
  1. 增加内容
  • 增加的内容
$res->{temperature} = `sensors`;   # 获取 CPU 和 主板 的温度
  • 增加的位置
    搜索指定内容
/my $dinfo = df('/', 1);

在搜索内容的上面,注意位置进行添加,比如我的在 352 行进行添加

...$res->{ksm} = {shared => $meminfo->{memshared},};$res->{swap} = {free => $meminfo->{swapfree},total => $meminfo->{swaptotal},used => $meminfo->{swapused},};$res->{pveversion} = PVE::pvecfg::package() . "/" .PVE::pvecfg::version_text();$res->{temperature} = `sensors`;   # 获取 CPU 和 主板 的温度my $dinfo = df('/', 1);     # output is bytes$res->{rootfs} = {total => $dinfo->{blocks},avail => $dinfo->{bavail},used => $dinfo->{used},free => $dinfo->{blocks} - $dinfo->{used},};return $res;...

修改pvemanagerlib.js,显示温度

  1. 打开文件
vi /usr/share/pve-manager/js/pvemanagerlib.js
  1. 增加内容,添加页面显示内容
  • 增加的内容,内容要根据自己的实际情况修改,注意逗号“ , ”
,{itemId: 'temperature',colspan: 2,printBar: false,title: gettext('Temperature'),textField: 'temperature',renderer: function(value){const p0 = value.match(/Package id 0.*?\+([\d\.]+)?/)[1];const b0 = value.match(/temp1.*?\+([\d\.]+)?/)[1];const b1 = value.match(/temp2.*?\+([\d\.]+)?/)[1];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 `CPU: ${p0}℃ | Core0: ${c0}℃ | Core1: ${c1}℃ | Core2: ${c2}℃ | Core3: ${c3}℃ | Board: ${b0} ℃ ${b1}℃ `}

const开头的常量名称和数量是由前文所说的sensors命令的输出结果决定的,对于不同的CPU类型其内容会有所不同,可能主板只有一个temp1,可能没有Package的名称,也可能会有多个Socket。

  • 增加的位置
    搜索指定内容
/itemId: 'version',

在内容的下面,注意位置进行添加,我的在 18719 行开始进行添加

...{itemId: 'version',colspan: 2,printBar: false,title: gettext('PVE Manager Version'),textField: 'pveversion',value: ''},{itemId: 'temperature',colspan: 2,printBar: false,title: gettext('Temperature'),textField: 'temperature',renderer: function(value){const p0 = value.match(/Package id 0.*?\+([\d\.]+)?/)[1];const b0 = value.match(/temp1.*?\+([\d\.]+)?/)[1];const b1 = value.match(/temp2.*?\+([\d\.]+)?/)[1];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 `CPU: ${p0}℃ | Core0: ${c0}℃ | Core1: ${c1}℃ | Core2: ${c2}℃ | Core3: ${c3}℃ | Board: ${b0} ℃ ${b1}℃ `}
}],updateTitle: function() {var me = this;var uptime = Proxmox.Utils.render_uptime(me.getRecordValue('uptime'));me.setTitle(me.pveSelNode.data.node + ' (' + gettext('Uptime') + ': ' + uptime + ')');}});...

修改完成,重启Web控制台

systemctl restart pveproxy

注意:

  • 若浏览器显示内容没有发生变化,可以按ctrl+F5强制刷新或者清理缓存后重试。
  • 若 Web 管理页面不能正常显示,如白屏,则可能代码有错误,应修改后重试。
  • 若 温度的显示值为null,请打开开发者工具,在Console中进行查看

Proxmox VE(PVE) 添加Web控制台显示CPU和主板温度相关推荐

  1. Proxmox VE(PVE)添加硬盘详解

    在PVE中除了装PVE的硬盘,其他硬盘都是需要手动挂载的,这点不如ESXI方便,但是挂载硬盘方式也不难,下面就来看看PVE下怎么新增一块硬盘,不管是机械还是固态都是一样的. 可以看到pve上已经识别了 ...

  2. PVE7.显示CPU和硬盘温度

    PVE显示CPU温度和硬盘温度 这个后面测试只支持这个版本,pve-manager/7.0-13/ 后面7.1 7.2 就不用试了 先来个最终效果图 安装PVE系统 这个不用讲了,网上大把教程. 安装 ...

  3. pve添加新硬盘---U盘安装Proxmox VE(二)

    转自我的个人博客<pve添加新硬盘---U盘安装Proxmox VE(二)> 上一篇<U盘安装Proxmox VE(一)>制作好启动盘后,插入U盘,设置bios从U盘启动,开始 ...

  4. Proxmox VE(PVE)+ceph+物理网络规划-超融合生产环境安装部署案例

    1 Proxmox Virtual Environment介绍 Proxmox VE 是用于企业虚拟化的开源服务器管理平台.它在单个平台上紧密集成了KVM虚拟机管理程序和LXC,软件定义的存储以及网络 ...

  5. Proxmox VE(PVE) 进行网卡直通

    文章目录 我的设备 介绍 添加CPU支持,开启iommu 查询网卡信息 Intel CPU AMD CPU 新增所需模块 添加PCI设备 命令模式添加 web页面模式添加 验证IOMMU有效 IOMM ...

  6. Proxmox VE(PVE)开启IOMMO并开启网卡(82576)SRIOV功能【时隔半年,我回来了】

    转自:https://blog.8086k.cn/archives/71/ 82576在KVM虚拟机下使用网卡的SRIOV功能直通进虚拟机,减少使用Proxmox VE虚拟网卡的NAT功能,提高网卡性 ...

  7. pve开启嵌套虚拟化,pve下kvm类型CPU的群晖VMM虚拟机创建

    pve开启嵌套虚拟化,pve下kvm类型CPU的群晖VMM虚拟机创建 0.前言 pve下安装了群晖,尝试在群晖内利用VMM再创建虚拟机(套娃).直接在VMM里面创建虚拟机会无法开启,也无法删除,只能直 ...

  8. Proxmox VE(PVE)连接WiFi及一些配置

    以下操作基于Debian系统 换源 vi /etc/apt/sources.list deb http://mirrors.aliyun.com/debian buster main contrib ...

  9. proxmox 宿主机添加硬盘

    零 修订记录 序号 修订内容 修订时间 1 新增 20210908 2 增加大于2T 20210908 一 摘要 本文主要介绍proxmox 宿主机添加硬盘 二 环境信息 root@gpu002:/e ...

最新文章

  1. 【Sql Server】DateBase-高级查询
  2. VS2005发布、生成网站时如何设置固定的dll文件名?
  3. spring cloud 日志_微服务架构开发实战:ElasticStack实现日志集中化
  4. python数据库操作批量sql执行_使用Python批量修改数据库执行Sql文件
  5. html 忽略标签属性,限制文本一定数目的字符忽略HTML标签/属性
  6. 快速解决MariaDB无密码就可以登录的问题
  7. python批量图片转pdf,将TIFF图像批量转换为PDF ImageMagick Python
  8. 斐讯K2_V22.5.9.163刷华硕固件--详细教程
  9. 设计四位移位寄存器shifter_4
  10. mysql dump hbase_mysqldump 导出部分数据库
  11. DeFi之道丨告别朝九晚五,一文了解区块链新组织形式DO
  12. [转]Apache Ignite——新一代数据库缓存系统
  13. 向 Dockerfile 传参 --build-arg 遇到的一些小坑
  14. CAD图层的顺序的调整
  15. faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException问题解决
  16. 通俗易懂【Springboot】 单文件下载和批量下载(多个文件合成一个压缩包下载)
  17. 【STM32】标准库 USART通信
  18. 自学java可以吗?难吗?
  19. 网站流量统计与网站访问分析
  20. 蓝牙控制esp32单片机(三)

热门文章

  1. NestedTensor(DETR)
  2. Node.js模块化机制原理探究
  3. Unity 使用 GPU 計算,使用 ComputeShader + ComputeBuffer
  4. windows 截屏快捷键x220_笔记本截屏的快捷键是什么_笔记本截屏快捷键是什么
  5. 小米扫地机器人 设置虚拟墙_米家扫地机器人可以设置虚拟墙吗
  6. select t.* , t.rowid from-对查询出来的sql语句进行编辑
  7. 数字政务是推动公共服务和社会治理精细化、智能化的重要载体
  8. 制作每日疫情通报省份地图
  9. ubuntu16.04+intel无线网卡无法连接WiFi解决方法,下载驱动,升级内核(亲测有效)
  10. 关于蓝牙人员定位的几个重要问题