Ubuntu 18.04系统已coretemp
安装内核模块kernel模块:
% lsmod | grep coretemp
coretemp 20480 0
lm-sensors
它还具有用于检查安装的温度的命令行实用程序:
% which sensors
/usr/bin/sensors
% dpkg -S /usr/bin/sensors
lm-sensors: /usr/bin/sensors
调用sensors
工作+显示所有温度(包+4个CPU核心温度):
% sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +44.0°C (high = +100.0°C, crit = +100.0°C) ALARM (CRIT)
Core 0: +42.0°C (high = +100.0°C, crit = +100.0°C) ALARM (CRIT)
Core 1: +41.0°C (high = +100.0°C, crit = +100.0°C) ALARM (CRIT)
Core 2: +44.0°C (high = +100.0°C, crit = +100.0°C) ALARM (CRIT)
Core 3: +41.0°C (high = +100.0°C, crit = +100.0°C) ALARM (CRIT)
但是,查看munin
浏览器中的输出,我只看到 HDD 温度图表:
我怎样才能munin
监视并显示 CPU 核心温度?
我试过的方法(但没有帮助)
% sudo munin-node-configure
% sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
答案1
通过深入研究细节和查看源代码找到了解决方案。回答是为了未来用户的利益。
确保插件输出与支持的正则表达式匹配
查看插件实现:/usr/share/munin/plugins/sensors_
我注意到该插件在名为的 (perl) 全局哈希中具有详细的正则表达式%config
。支持的传感器类别有 4 个:
- 风扇(风扇转速,单位为 RPM)
- temp(摄氏度)
- 伏特(电压,单位为伏特)
- 功率(瓦特功率)
由于正则表达式非常具体,因此确保sensors
命令行实用程序的输出与这些正则表达式完全匹配非常重要。sensors -u
当munin
插件期望以生成的格式输出时,您无法调用sensors
(没有该-u
选项)。
确保符号链接名称与sensors
类别匹配
这姓名符号链接从/etc/munin/plugins
到/usr/share/munin/plugins/sensors_
必须与受支持的类别匹配。类别名称用作%config
定义每个正则表达式的键。与受支持的类别匹配的扩展名(例如fan
或)是不错的选择:temp
sensors_fan -> /usr/share/munin/plugins/sensors_
sensors_temp -> /usr/share/munin/plugins/sensors_
但使用tmp
或cpu_temp
代替temp
将不起作用。
重启munin-node
服务
munin-node
我忽略的另一个细节是每次更改配置或添加插件符号链接后都需要重新启动服务:
sudo systemctl restart munin-node
删除不支持/缺失设备的空图表
如果您看到不存在设备的空图表。还建议删除不存在设备的报告:
munin-node-configure --suggest --remove-also --shell | bash
结果
现在munin
显示我的所有 CPU + 其他系统温度: