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

Правило обнаружения считывает перечень заданных на клиенте папок (/etc/zabbix/dirsize-list).
Элемент данных (get) толкает процесс расчета и отправки значений на траппер.

Шаблон: template_linux_dirsize
Период обнаружения списка папок: 1 час.
Период опроса значений: 20 минут.

Добавить в конфиг агента

# нужно разрешить выполнение команд
EnableRemoteCommands=1
# нужен Active Server
ServerActive=zabbix.domain.my
# 
UserParameter=dirsize.getlist,/etc/zabbix/scripts/dirsize-getlist.sh

/etc/zabbix/dirsize-list
(с обязательным переносом строки в конце)

/var/www/domain.com/compile
/var/www/domain.com/packages

/etc/zabbix/scripts/dirsize-getlist.sh

#!/bin/bash
echo '{ "data":[ '
echo '{"HEADER":"DOLL" }'
while read LINE
do
echo ',{"{#DIRPATH}":"'$LINE'"}'
done < /etc/zabbix/dirsize-list
echo '] }'

Добавить в /etc/sudoers:

# CentOS 6.8
zabbix<>ALL=(ALL) NOPASSWD: /usr/bin/du
# Debian 8 (jessie)
zabbix  ALL=(ALL:ALL) /usr/bin/du

/etc/zabbix/scripts/dirsize-get.sh

#!/bin/bash
DIRLIST='/etc/zabbix/dirsize-list'
send2zabbix() {
KEY=$1
VALUE=$2
/usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k $KEY -o $VALUE >/dev/null 2>&1
}
while read DIR
do
if [ -d $DIR ]
then
    send2zabbix dirsize.get[$DIR] `sudo du -B1 --max-depth 0 $DIR | awk '{print $1}'` &
fi
done < $DIRLIST
wait