在 pfSense 上,我启用了 Prometheus Node Exporter,但它每 15 秒就会给出以下日志错误:
Feb 15 09:53:57 vault node_exporter[25559]: ts=2024-02-15T08:53:57.164Z caller=collector.go:169 level=error msg="collector failed" name=uname duration_seconds=1.9687e-05 err="cannot allocate memory"
Feb 15 09:53:57 vault node_exporter[25559]: ts=2024-02-15T08:53:57.164Z caller=collector.go:169 level=error msg="collector failed" name=zfs duration_seconds=1.6108e-05 err="couldn't get sysctl: no such file or directory"
这是我的节点导出器设置:
我不确定哪个收集器给出了错误(再想一想,似乎是一些收集器未启用,但仍在尝试收集)。无论如何,如果我需要它,我可能无法禁用它,因此另一个选择是抑制日志中的错误消息。
我试过了:
设置
--log.level=none
,但这显然不是有效的日志级别创建一个
01-node-exporter.conf
文件来抑制消息,如下所示:if $msg contains "collector failed" then { stop }
并把它放进去
/var/etc/syslog.d/
。但这似乎也没有抑制这些消息(这在 Ubuntu 上对我有用)。我也尝试过这个建议,并将其放入
01-node-exporter.conf
文件中,但无济于事::msg, contains, "collector failed" ~
此外,我还找到了node_exporter
配置文件,该文件位于/usr/local/etc/rc.conf.d
.该文件包含:
# This file is generated by the pfSense node_exporter package.
# Do not edit this file, it will be overwritten automatically.
node_exporter_enable="YES"
node_exporter_listen_address="10.10.1.1:9100"
node_exporter_args=" --collector.boottime --collector.cpu --collector.exec --collector.filesystem --collector.loadavg --collector.meminfo --collector.netdev --collector.textfile --collector.time --log.level=error"
我倾向于认为错误的日志消息是 FreeBSD 的 Node Exporter 中的一个错误(因为收集器uname
甚至zfs
似乎没有启用),因此短期解决方案是抑制日志消息。
答案1
我终于找到了解决办法。我无法让任何配置工作,但我设法像这样syslog
编辑配置文件:node_exporter
# This file is generated by the pfSense node_exporter package.
# Do not edit this file, it will be overwritten automatically.
node_exporter_enable="YES"
node_exporter_listen_address="10.10.1.1:9100"
node_exporter_args=" --collector.boottime --collector.cpu --collector.exec --collector.filesystem --collector.loadavg --collector.meminfo --collector.netdev --collector.textfile --collector.time --log.level=error --no-collector.zfs --no-collector.uname"
请注意,我将--no-collector.zfs
和添加--no-collector.uname
到了node_exporter_args
.这会阻止这些收集器运行,从而错误消息消失。
我仍然想知道如何通过syslog
配置直接抑制 FreeBSD 中的日志消息,但那是另一回事了。