diff options
author | anarcat <anarcat@users.noreply.github.com> | 2018-02-21 10:24:48 -0500 |
---|---|---|
committer | Ben Kochie <superq@gmail.com> | 2018-02-21 16:24:48 +0100 |
commit | 79ae03c4c7315eeebab360bceb6ac16722265418 (patch) | |
tree | c722cb100e33519df2c2c984f07305edd3381e2e /text_collector_examples | |
parent | e0d54a509cd60a7cb3c226edd771f9d9f63a8127 (diff) | |
download | prometheus_node_collector-79ae03c4c7315eeebab360bceb6ac16722265418.tar.bz2 prometheus_node_collector-79ae03c4c7315eeebab360bceb6ac16722265418.tar.xz prometheus_node_collector-79ae03c4c7315eeebab360bceb6ac16722265418.zip |
add sample directory size exporter (#789)
* add sample directory size exporter
This is a possible workaround for the lack of metrics in the new
storage backend, as documented in:
https://github.com/prometheus/prometheus/issues/3684
Partly inspired by this post as well:
https://www.robustperception.io/monitoring-directory-sizes-with-the-textfile-collector/
* properly escape backslashes and double-quotes
Diffstat (limited to 'text_collector_examples')
-rwxr-xr-x | text_collector_examples/directory-size.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/text_collector_examples/directory-size.sh b/text_collector_examples/directory-size.sh new file mode 100755 index 0000000..2c15402 --- /dev/null +++ b/text_collector_examples/directory-size.sh | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # Expose directory usage metrics, passed as an argument. | ||
4 | # | ||
5 | # Usage: add this to crontab: | ||
6 | # | ||
7 | # */5 * * * * prometheus directory-size.sh /var/lib/prometheus | sponge /var/lib/node_exporter/directory_size.prom | ||
8 | # | ||
9 | # sed pattern taken from https://www.robustperception.io/monitoring-directory-sizes-with-the-textfile-collector/ | ||
10 | # | ||
11 | # Author: Antoine Beaupré <anarcat@debian.org> | ||
12 | echo "# HELP anarcat_dir_space_bytes Disk space used by some directories" | ||
13 | echo "# TYPE anarcat_dir_space_bytes gauge" | ||
14 | du --block-size=1 --summarize "$@" \ | ||
15 | | sed -ne 's/\\/\\\\/;s/"/\\"/g;s/^\([0-9]\+\)\t\(.*\)$/node_directory_size_bytes{directory="\2"} \1/p' | ||