Bug 2307514

Summary: nfsd metrics do not work on RHEL 9
Product: [Fedora] Fedora EPEL Reporter: Marcel Freundl <marcel.freundl>
Component: golang-github-prometheus-node-exporterAssignee: Mark E. Fuller <mark.e.fuller>
Status: ASSIGNED --- QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: epel9CC: go-sig, mark.e.fuller, mikel
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marcel Freundl 2024-08-23 09:34:19 UTC
Description of problem:
On a RHEL 9 server with nfsd running and exported shares node-exporter does not export metrics for nfsd (/proc/net/rpc/nfsd).
In the node-exporter logs this error is shown:
prometheus-node-exporter[2997840]: ts=2024-08-23T08:38:36.096Z caller=collector.go:169 level=error msg="collector failed" name=nfsd duration_seconds=0.00077765 err="failed to retrieve nfsd stats: unknown NFSd metric line \"wdeleg_getattr\""

This issue seems to already be fixed upstream with release 1.8.0: https://github.com/prometheus/node_exporter/pull/2810



Version-Release number of selected component (if applicable):
golang-github-prometheus-node-exporter-1.3.1-5.el9.x86_64

How reproducible:
Configure an nfs export on RHEL 9 and install node-exporter
The nfsd collector is enabled by default in node-exporter


Actual results:
No nfsd metrics are exported


Expected results:
nfsd collector works and the metrics are exported

Comment 1 Mikel Olasagasti Uranga 2024-08-24 14:22:54 UTC
That fix is available for Fedora in the `node-exporter` package.

The package `golang-github-prometheus-node-exporter` has been deprecated and `node-exporter` will be the new package.

**BUT** the current only available package for EPEL9 is the old `golang-github-prometheus-node-exporter` that was a vendored build. A new solution is on the works[1] that will help to update the package for EPEL and automaticaly `golang-github-prometheus-node-exporter` will be replaced with `node-exporter`. Updating the package manually without the new method is something I want to avoid.

[1] https://gitlab.com/fedora/sigs/go/go-vendor-tools/-/issues/10