Иногда я настраивал плагин Cacti на Linux Debian, который позволяет собирать статистику DNS через запросы SNMP / rndc для генерации прекрасный графика.
Несколько недель назад он работал нормально ... :-(
Итак, проблема в том, что файл named.stats как обычно, имеет свои права доступа к файлам для конкретных пользователей / групп. Но у пользователя Cacti poller нет необходимых прав доступа к файлу для его чтения ...
Рабочий процесс:
bind-stats.sh
сценарийsnmpget
имени хостаsnmpget
называет runstats.sh
сценарийrunstats.sh
выполняет следующее: rndc stats
что порождает новый named.stats файл.консольный вывод:
mdw05:~# /usr/share/cacti/site/scripts/bind-stats.sh example.serverfault.com snmpCommunity
cat: /var/cache/bind/named.stats: Permission denied
mdw05:~#
mdw05:~# ls -l /var/cache/bind/named.stats
-rw-r----- 1 bind bind 4.8K Jul 23 10:54 /var/cache/bind/named.stats
mdw05:~#
Следовательно, как я могу настроить Bind rndc
команда для изменения разрешений файла по умолчанию, чтобы разрешить скрипт runstats.sh
прочитать этот файл ...?
Я уже пытался добавить пользователя SNMP и / или Cacti в качестве члена Привязать группу, но не работает> _ <
Спасибо за вашу помощь.
bind-stats.sh:
#!/bin/sh
# $1 hostname $2 community
/usr/bin/snmpget -v 2c -Ovq -c $2 $1 .1.3.6.1.4.1.18689.0.1.4.1.2.14.100.110.115.99.97.99.104.101.45.115.116.97.116.115.1 | sed 's/"//g'
snmpd.conf:
## cacti polling (http://docs.cacti.net/usertemplate:host:bind9.7)
extend .1.3.6.1.4.1.18689.0.1 dnscache-stats /usr/local/sbin/cacti_bind9.7/runstats.sh
runstats.sh:
#!/bin/sh
rm -f /var/cache/bind/named.stats
rndc stats
cat /var/cache/bind/named.stats | perl /usr/local/sbin/cacti_bind9.7/dnsstats.pl
Используйте для этого sudo. Добавьте это в / etc / sudoers
snmp ALL = NOPASSWD: /usr/local/sbin/cacti_bind9.7/runstats.sh
И измените строку расширения snmpd.conf на:
расширить .1.3.6.1.4.1.18689.0.1 dnscache-stats / usr / bin / sudo /usr/local/sbin/cacti_bind9.7/runstats.sh
С Уважением,
Рубен.