如何让 munin 监控并显示 CPU 温度

如何让 munin 监控并显示 CPU 温度

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 -umunin插件期望以生成的格式输出时,您无法调用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_

但使用tmpcpu_temp代替temp将不起作用。

重启munin-node服务

munin-node我忽略的另一个细节是每次更改配置或添加插件符号链接后都需要重新启动服务:

sudo systemctl restart munin-node

删除不支持/缺失设备的空图表

如果您看到不存在设备的空图表。还建议删除不存在设备的报告:

munin-node-configure --suggest --remove-also --shell | bash

结果

现在munin显示我的所有 CPU + 其他系统温度:

每周气温图表

相关内容