PVE 首页添加温度
PVE 首页添加温度
2023/09/23
pve 首页添加温度
1. 依赖配置
# 安装依赖
apt install lm-sensors
# 检测可用传感器
sensors-detect
# 测试 -j 参数表示 json 输出
sensors -j
2. 修改源码
vi 编辑按键不对解决: nano /etc/vim/vimrc.tiny 将
set compatible
改为set nocompatible
修改后端
/usr/share/perl5/PVE/API2/Nodes.pm, 修改完成后需要重启 systemctl restart pveproxy
# 搜索此部分
$res->{ksm} = {
shared => $meminfo->{memshared},
};
# 追加的内容
$res->{sensinfo} = `sensors -j`;
修改前端
/usr/share/pve-manager/js/pvemanagerlib.js, 修改完成后强制刷新浏览器
- 在 cpu 信息下展示:
# 搜索此部分 { itemId: 'cpus', colspan: 2, printBar: false, title: gettext('CPU(s)'), textField: 'cpuinfo', renderer: Proxmox.Utils.render_cpu_model, value: '', }, # 追加的内容, getattr 具体参数根据 `sensors -j` 调整 { itemId: 'sensinfo', colspan: 2, printBar: false, title: gettext('SensorInfo'), textField: 'sensinfo', renderer: function (value) { const getattr = (data, field) => field.split('.').reduce((p, c) => p ? p[c] : null, data); const unit = '°C'; const data = JSON.parse(value); const cpuPkg = getattr(data, "coretemp-isa-0000.Package id 0.temp1_input")?.toFixed(1); const cpus = [ getattr(data, "coretemp-isa-0000.Core 0.temp2_input"), getattr(data, "coretemp-isa-0000.Core 1.temp3_input"), getattr(data, "coretemp-isa-0000.Core 2.temp4_input"), getattr(data, "coretemp-isa-0000.Core 3.temp5_input"), ]; const disks = [ getattr(data, "nvme-pci-0400.Composite.temp1_input"), getattr(data, "nvme-pci-0400.Sensor 1.temp2_input"), getattr(data, "nvme-pci-0400.Sensor 2.temp3_input"), ]; return `CPU温度: ${cpuPkg}${unit} (${cpus.map(d => d?.toFixed(1) + unit).join(' | ')})<br/> 硬盘:   ${disks.map(d => d?.toFixed(1) + unit).join(' | ')}`; }, value: '', },
Last updated on