Press "Enter" to skip to content

Proxmox 7监控面板 增加AMD CPU, Nvme 温度监控

如果你像我一样使用 Promox 的 AMD 处理器 并且不能添加温度监控,那么你很幸运,只需按照我下面的操作进行,应该就可以实现对AMD的处理器进行温度监控。

  1. 首先,你需要安装一些依赖包
apt-update && apt-get install lm-sensors -y

现在,我们需要修改一些文件。稳妥起见,建议你先备份这些要修改的文件,以防万一。

2. 编辑文件: /usr/share/perl5/PVE/API2/Nodes.pm

寻找关键字 $dinfo ,他差不多在行数为 364 左右,像下面这种类似的:

$dinfo = df('/', 1);

然后在这一行后面增加下面的代码:

$res->{CPUtemperature} = `sensors`;
$res->{Nvmetemperature} = `sensors`;

3. 下面一步, 编辑文件: /usr/share/pve-manager/js/pvemanagerlib.js

  • 搜索关键字 height: 300 然后帮他改成 height: 420
  • 寻找关键字 pveversion, 他差不多在行数为 34827 附近, 然后像下面这样增加代码:
        {
            itemId: 'CPUtemperature',
            colspan: 2,
            printBar: false,
            title: gettext('CPU Temperature'),
            textField: 'CPUtemperature',
            renderer: function(value){
                const regex = /Tctl:\s+([-+]?[0-9]*\.?[0-9]+)/;
                const match = str.match(regex);
                const temperature = match ? parseFloat(match[1]) : null;
                return ` ${temperature}℃`;
             }
        },
        {
            itemId: 'Nvmetemperature',
            colspan: 2,
            printBar: false,
            title: gettext('Nvme Temperature'),
            textField: 'Nvmetemperature',
            renderer: function(value){
                const nvmeTemps = Array.from(value.matchAll(/Composite.*?\+([\d\.]+)?/g), m=>m[1]);
                return "Nvme: " + nvmeTemps.map((element, index) => `${element}℃`).join(' | ');
            }
        },

4. 重启服务

systemctl restart pveproxy

5. 刷新浏览器来查看结果

参考资料:

https://medium.com/help-14/add-amd-cpu-gpu-nvme-temperature-monitoring-to-proxmox-7-a95147df71cd

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注