-
Notifications
You must be signed in to change notification settings - Fork 135
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
enhancement(node_exporter): use systemd to create node_exporter_textfile_dir if it doesn't exist #323
base: main
Are you sure you want to change the base?
Conversation
…ile_dir if it doesn't exist Signed-off-by: Siyuan Miao <[email protected]>
{% if node_exporter_textfile_dir | length > 0 %} | ||
{% if (ansible_facts.packages.systemd | first).version is version('235', '>=') %} | ||
ExecStartPre=+/bin/mkdir -p {{ node_exporter_textfile_dir }} | ||
ExecStartPre=+/bin/chown -R {{ node_exporter_system_user }}:{{ node_exporter_system_group }} {{ node_exporter_textfile_dir }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I wonder if this should be -R
. I'm not sure we want all of the prom files changed, just the dir.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In our environment, the text file exporters are started after node_exporter.service
and the directory is used exclusively for text file exporters, so it doesn't really matter, but I think we can remove the -R
, or should we go further and only change the owner if the directory is empty?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if using systemd tmpfiles in this scenario would be a better solution? https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html
ping @ym |
External scripts will also need to write to |
The path is not dynamic like what you get with |
@@ -8,6 +8,16 @@ After=network-online.target | |||
Type=simple | |||
User={{ node_exporter_system_user }} | |||
Group={{ node_exporter_system_group }} | |||
{% if node_exporter_textfile_dir | length > 0 %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would affect the common user who does not use tmpfs.
We're currently using a directory inside tmpfs for textfile collectors to reduce possible unnecessary IO usage, and the directory will be removed after a reboot. This PR is to ensure that
node_exporter_textfile_dir
exists when node-exporter is started.