让我首先给出我在/var/log/syslog和dmesg中看到的输出:
[559151.898586] ACPI Error: SMBus/IPMI/GenericSerialBus write requires Buffer of length 66, found length 32 (20170831/exfield-427)
[559151.911578] No Local Variables are initialized for Method [_PMM]
[559151.911580] No Arguments are initialized for method [_PMM]
[559151.911584] ACPI Error: Method parse/execution failed \_SB.PMI0._PMM, AE_AML_BUFFER_LIMIT (20170831/psparse-550)
[559151.916648] ACPI Exception: AE_AML_BUFFER_LIMIT, Evaluating _PMM (20170831/power_meter-338)显然,普罗米修斯节点出口商正在触发错误,尽管它似乎不是导致记录错误的原因。
现在我想要实现的是-最好-告诉普罗米修斯节点出口商停止查询任何它试图查询的信息。如果做不到这一点,我想让这些消息保持沉默,这样它们就不会发送我的日志文件。
我该怎么做这些选择?.或者也许还有其他我没考虑过的选择..。
这种情况发生在Ubuntu18.04的打包prometheus-node-exporter上(也发生在prometheus-node-exporter的0.16和0.17版本上,它们可以通过stretch-backports安装-是的,在Ubuntu上安装)。
发布于 2019-01-23 19:40:52
显然,最好的方法是将名为acpi_power_meter的内核模块列入黑名单,方法是在/etc/modprobe.d/blacklist.conf (或该文件夹中新创建的文件)中添加如下一行:
blacklist acpi_power_meter在运行中的系统中,为了卸载模块,还应该以超级用户的身份运行rmmod acpi_power_meter。我已经对它进行了测试,这在我负责的所有HP服务器上都运行得很好。错误的原因据称是HP硬件上的BIOS缺陷。
这似乎是唯一可行的方法,我在Prometheus node_exporter项目上通过这句话找到了它。
发布于 2018-11-29 13:15:39
我将这些[_PMM]类型的日志消息放在一个新的openvz容器中(因此这些消息不在我的控制范围之内)。
使用rsyslog,您可以在/etc/rsyslog.d/discard.conf中创建一个属性筛选器(在应用所有其他配置之前,此目录中的文件来源):
:msg, contains, "[_PMM]" ~对于没有过滤器的syslog (例如,inetutils-syAdd.1-d),一个简单的修复方法是创建/etc/cron.hourly/pmmlog &使其可执行:
#!/bin/sh
# remove annoying logs
# Nov 29 12:55:29 vzbackup vmunix: [161167.516267] No Arguments are initialized for method [_PMM]
# Nov 29 12:56:29 vzbackup vmunix: [161227.527169] No Local Variables are initialized for Method [_PMM]
sed -i '/.*[_PMM]/d' /var/log/messageshttps://unix.stackexchange.com/questions/480643
复制相似问题