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그것은 또 다른 이야기입니다.

관련 정보