使用 Cacti 绘制 Bind9 请求统计图:named.stats => 权限被拒绝

使用 Cacti 绘制 Bind9 请求统计图:named.stats => 权限被拒绝

我以前曾设定过,Cacti 插件在 Linux Debian 上,允许通过 SNMP/rndc 查询收集 DNS 统计信息,以生成美丽的图形。

直到几周前它还运行良好... :-(

所以问题是该文件命名统计信息像往常一样具有其特定的用户/组文件权限。但是 Cacti poller 用户没有读取它所需的文件权限...

工作流程如下:

  • Cacti 轮询器调用bind-stats.sh脚本
  • 此脚本执行snmpget主机名
  • 调用snmpget脚本runstats.sh
  • 最后runstats.sh执行以下操作:
    • 删除旧的命名统计信息
    • rndc stats产生新的命名统计信息文件。
    • 读取并解析命名统计信息带有 Perl 模板的文件

控制台输出

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:~#



因此,我该如何配置 Bindrndc命令来更改默认文件权限以允许脚本runstats.sh读取此文件……?
我已经尝试将 SNMP 和/或 Cacti 用户添加为绑定群组,但它不起作用>_<

感谢您的帮助。


绑定统计信息

#!/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配置文件

## 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

运行统计信息

#!/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

答案1

为此使用 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

问候,

鲁本。

相关内容