December 17, 2021

node_exporter мониторинг размера папки

Для того, чтобы в мтерики node_exporter выводить произвольные значения необходимо в параметрах запуска node_exporter активировать textfile_collector.

Два параметра
--collector.textfile Активирует textfile_collector

--collector.textfile.directory=/var/lib/node_exporter Путь к папке, где должны будут лежать метрики в виде текстовых файлов. Содержимое в формате прометея

Пример:
/usr/local/bin/node_exporter --collector.textfile --collector.textfile.directory=/var/lib/node_exporter --web.listen-address=0.0.0.0:9100

Скрипт на bash, который измеряет размер папки и формирует вывод в формате прометея. Скрипт должен лежать не в папке, которую вы указали в --collector.textfile.directory

#!/bin/sh
#
echo "# HELP node_directory_size_bytes Disk space used by some directories"
echo "# TYPE node_directory_size_bytes gauge"
du --block-size=1 --summarize "$@" \
   | sed -ne 's/\\/\\\\/;s/"/\\"/g;s/^\([0-9]\+\)\t\(.*\)$/node_directory_size_bytes{directory="\2"} \1/p'


Запускается по крону, например:

*/5 * * * * prometheus directory-size.sh /var/lib/prometheus | sponge /var/lib/node_exporter/directory_size.prom