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

Update readme docker example #3215

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

czephyr
Copy link

@czephyr czephyr commented Dec 23, 2024

A suggestion to update the docker example to be a little more explanatory on the flags and mounts

Signed-off-by: czephyr <[email protected]>
@czephyr czephyr force-pushed the readme_docker_example branch from 6243671 to 1d9dae0 Compare December 23, 2024 18:58
README.md Outdated
quay.io/prometheus/node-exporter:latest \
--path.rootfs=/host
--path.rootfs=/host --path.udev.data=/host/run/udev/data --path.procfs=/host/proc --path.sysfs=/host/sys
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't need to be changed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does --path.rootfs=/host imply all the following flags?

Copy link
Author

@czephyr czephyr Dec 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The udev flag is not obvious and diskstats is enabled by default. If its not set it runs into the warning

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that sounds like a bug. The --path.rootfs flag is supposed to adjust all path defaults so only the one flag is needed.

Copy link
Author

@czephyr czephyr Dec 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --path.rootfs flag is supposed to adjust all path defaults so only the one flag is needed.

Would you mind pointing out an instance of that happening in the code for /proc or /sys?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For example, the os_release.go uses rootfsPath to build the path.

Copy link
Author

@czephyr czephyr Dec 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah for /proc and /sys there is no explicitness in the code because of this I think #912 (comment)

So its possible that when udev flag has been added the --path.rootfs behavior wasn't taken in consideration. I'll attempt a PR if I find it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, but those two paths (/proc and /sys) don't need redirect by default because the node_exporter is executed in the host PID namespace in order to access host metrics.

IIRC, we used to have examples of adjusting --path.procfs with a volume mount. But it turned out we still needed host PID anyway. So those recommendations were dropped. Now we only need to use --path.rootfs.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either the udev flag is better documented and explained or #3216

README.md Outdated Show resolved Hide resolved
czephyr and others added 2 commits December 23, 2024 20:40
Co-authored-by: Ben Kochie <[email protected]>
Signed-off-by: Alfedo Funicello <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants