Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node exporter complains about unknown metric lines from NFSd on Linux 6.6-rc1 #2799

Open
klausman opened this issue Sep 11, 2023 · 5 comments

Comments

@klausman
Copy link
Contributor

Host operating system: output of uname -a

Linux 6.6.0-rc1 vanilla self compiled and running Debian otherwise

node_exporter version: output of node_exporter --version

$ ./node_exporter --version
node_exporter, version 1.6.1 (branch: master, revision: f34aaa61092fe7e3c6618fdb0b0d16a68a291ff7)
  build user:       klausman@felka
  build date:       20230911-15:50:34
  go version:       go1.21.1
  platform:         linux/amd64
  tags:             netgo osusergo static_build

node_exporter command line flags

./node_exporter --web.listen-address=:9101

node_exporter log output

ts=2023-09-11T15:53:30.969Z caller=collector.go:169 level=error msg="collector failed" name=nfsd duration_seconds=0.00018264 err="failed to retrieve nfsd stats: unknown NFSd metric line \"wdeleg_getattr\""

Are you running node_exporter in Docker?

Nope, running in host OS directly.

What did you do that produced an error?

Ran node-exporter as describe above

What did you expect to see?

No errors about unknown metric lines. Not sure if that metric line should actually become a useful exported metric.

What did you see instead?

The log message above

@klausman
Copy link
Contributor Author

This needs to (at least) be handled in the proc module. I have a proof of concept change here:

klausman/procfs@9c4dcd1

@klausman
Copy link
Contributor Author

PR on procfs: prometheus/procfs#574

Also, I think it's less than ideal that one new stat results in node-exporter not exporting any stats about NFSd anymore. Logging unknown stats (though spammy) is fine, but just not exporting any stats in that case is very brittle.

@rexagod
Copy link
Contributor

rexagod commented Mar 17, 2024

Seeing prometheus/procfs#574 is in, I think this can be closed now.

@rexagod
Copy link
Contributor

rexagod commented Mar 17, 2024

Logging unknown stats (though spammy) is fine, but just not exporting any stats in that case is very brittle.

IIUC For this to happen, we'll need procfs to send metric data at-least for the set of metrics that can be successfully resolved (instead of erroring out), which we can then update the collectors of. For the ones that are empty, we can just query them in the next pass. It's necessary that all possible metric data is sent and not interrupted if a certain case errors out.

@josecarre
Copy link

When is this fix coming to debian repos? I'm running prometheus-node-exporter 1.5.0-1+b6 and still see the issue in logs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants