pfSense(FreeBSD 14.0) - Prometheus ノードのエクスポートでロギングエラーが発生する - ロギングの修正または抑制

pfSense(FreeBSD 14.0) - Prometheus ノードのエクスポートでロギングエラーが発生する - ロギングの修正または抑制

pfSenseでPrometheusノードのエクスポートを有効にしましたが、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のノードのエクスポート(コレクタがアクティブになっていないようだ)のバグだと思う傾向があるので、短期的な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コレクタの実行が停止し、エラーメッセージが消えます。

私はまだ設定を介してFreeBSDからログメッセージを直接抑制する方法を知りたいのですが、syslogそれは別の話です。

関連情報