web-dev-qa-db-ja.com

グラフBind9はCactiで統計を要求します:named.stats =>許可が拒否されました

私は時々前に、美しいグラフィックを生成するためにSNMP/rndcクエリを介してDNS統計を収集できるLinuxDebianに Cactiプラグイン を設定しました。

数週間前までは問題なく動作していました... :-(

したがって、問題は、ファイルnamed.statsに通常どおり特定のユーザー/グループファイルのアクセス許可があることです。しかし、Cactiポーラーユーザーはそれを読み取るために必要なファイル権限を持っていません...

ワークフローは次のとおりです。

  • cactiポーラーはbind-stats.shスクリプトを呼び出します
  • このスクリプトは、ホスト名のsnmpgetを実行します
  • snmpgetrunstats.shスクリプトを呼び出します
  • 最後に、runstats.shは以下を実行します:
    • 古いnamed.statsを削除します
    • 新しいnamed.statsファイルを生成するrndc statsを実行します。
    • perlテンプレートを使用して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 rndccommandを構成して、デフォルトのファイル権限を変更し、スクリプト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
1
gudepier

これにはSudoを使用します。これを/ etc/sudoersに追加します

snmp ALL = NOPASSWD:/usr/local/sbin/cacti_bind9.7/runstats.sh

そして、snmpd.conf拡張行を次のように変更します。

拡張.1.3.6.1.4.1.18689.0.1dnscache-stats /usr/bin/Sudo/usr/local/sbin/cacti_bind9.7/runstats.sh

よろしく、

ルベン。