Доброго времени суток.
Для установленного днс сервера Unbound мне захотелось иметь статистику работы. Мониторинг у меня осуществляется с помощью Zabbix. Готового шаблона не нашел, пришел делать свой.
Итак вводные данные:
- Zabbix server 2.2
- ОС сервера на которой стоит Unbound — Centos 7.0
- Unbound v.1.4.20
Для настройки статистики с Unbound в файл /etc/unbound/unbound.conf добавляем следующий параметр:
extended-statistics: yes
В папку с настройками zabbix агента добавляем файл /etc/zabbix/zabbix_agentd.d/userparameter_unbound.conf со следующим содержанием:
nano /etc/zabbix/zabbix_agentd.d/userparameter_unbound.conf
UserParameter=unbound.type[*],echo -n 0; sudo /usr/sbin/unbound-control stats_noreset | grep num.query.type.$1= | cut -d= -f2
UserParameter=unbound.mem[*],echo -n 0; sudo /usr/sbin/unbound-control stats_noreset | grep mem.$1= | cut -d= -f2
UserParameter=unbound.flag[*],sudo /usr/sbin/unbound-control stats_noreset | grep num.query.$1= | cut -d= -f2
UserParameter=unbound.total[*],sudo /usr/sbin/unbound-control stats_noreset | grep total.num.$1= | cut -d= -f2
UserParameter=unbound.rcode[*],sudo /usr/sbin/unbound-control stats_noreset | grep num.answer.rcode.$1= | cut -d= -f2
Почитать о настройке UserParametr можно на сайте Zabbix.
Чтобы учетная запись zabbix могла запускать команду /usr/sbin/unbound-control stats_noreset через sudo, необходимо дать ей разрешение:
nano /etc/sudoers
zabbix ALL = NOPASSWD: /usr/sbin/unbound-control
Но простого добавления недостаточно, если оставить так как есть, то в логах будут ошибки:
sudo: sorry, you must have a tty to run sudo
Воспользуемся советом из форума и добавим в /etc/sudoers следующую строку:
Defaults:zabbix !requiretty
После этого качаем шаблон zbx_templates_Unbound.xml и импортируем в Zabbix. Шаблон применяем к серверу.
Спасибо за столь подробную информацию. Будем использовать.
Почему то это команда возвращает ничего.
/usr/local/sbin/unbound-control stats_noreset | grep total.num.$1= | cut -d= -f2
у меня в локал установка.
При этом на забиксе ничего не рисуется
$1 — это переменная, которая берется из заббикса. Если Вы хотите просто посмотреть в командной строке, что будет, добавьте вместо $1 тот параметр, который Вас интересует.
Алексей. На сервере темплэйт добавил но на граффиках везде пишет no data
Подскажите что может быть ни так. пж
Для начала я бы увеличил уровень детализации логов и там бы посмотрел. Может быть пользователю не хватает прав на забуск команды.
графики при данной конфигурации агента будут не очень красивыми, так как значения постоянно увеличивается в связи с тем что статистика не сбрасывается (stats_noreset)
думаю лучше при каждом запросе счетчики сбрасывать, данные кэшировать в файле и агентом уже из файлы забирать — будет правильнее
Все работает, спасибо.
Добрый день.
У меня на работе есть Unbound работающий в качестве кешируюшего DNS сервера.
Производится мониторинг (zabbix) статистики по следующим параметрам:
total.num.queries — Общее число обращений на разрешение (резолвинг)
total.num.cachehits — Сколько отдано из кеша
total.num.cachemiss — Проведено рекурсий для того чего в кеше небыло
total.requestlist.exceeded — Очереди не переполнялись
unwanted.queries — Запросы которые не прошли ACL или флуд
unwanted.replies — Запросы которые не прошли ACL или флуд
Описания параметров могут быть кривыми…
Вопрос: по каким параметрам лучше производить мониторинг? Может быть нужно добавить какие то параметры или наоборот убрать (из перечисленых выше)?
Заранее спасибо.
Все зависит от задачи, которую вы ставите перед мониторингом.