ELK Stackでシステム監視 collectdでDNSサーバの情報収集

前々回NTPサーバの情報収集を行ったのと大して変わらないかもだけどDNSサーバBINDの情報をcollectdで収集する。

collectdのプラグインはビルドの仕方によっては使えないものがある。FreeBSDのpkgでインストールした場合はbindプラグインに非対応なのでportsでビルドしてインストールする。その際、make configでCURL_JSONにチェックすることで、collectdのbindプラグインが利用可能になる。

BINDの設定変更

/usr/local/etc/namedb/named.conf (3行追加)
1
2
3
statistics-channels {
    inet 127.0.0.1 port 8053 allow {127.0.0.1;};
};
BIND側で統計情報を出力するように変更。上の例だとローカルホストのポート8053で統計情報にアクセス可能。

BINDの設定再読み込み

# service named reload

/usr/local/etc/collectd.conf (4行追加)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
LoadPlugin bind
<Plugin bind>
    URL "http://localhost:8053/"
    OpCodes         true
    QTypes          true
    ServerStats     true
    ZoneMaintStats  true
    ResolverStats   true
    MemoryStats     false
</Plugin>

BINDが出力する統計情報にbindプラグインからアクセスして情報を取得する。なのでURL指定はローカルホストで、BIND側で設定したのと同じポート番号を指定する。


collectdの再起動

# service collectd restart

続く

関連記事: