波に乗ってMuninで監視や自動実行対象を増やしていますが、標準のプラグインに入っていないものがまた出てきました。
次は、unboundです。bind からの脱却と言うことで、UNbound [I]bind の分詞形 ということのようです。unboundは、name server のキャッシング部分を担当してます。nsd3 + unbound ≒ bind と考えて良さそうですよ、奥さん。
で、munin の plugin には、unbound も含まれていないので、どこかから入手しましょう、ということなのですが実は思いがけないところにあります。
通常の deiban ユーザーであれば入手可能なので、それを再利用しましょう。
目次
1. munin 用 unbound plugin ファイルを入手する
答えから言うと、unbound のソースパッケージに含まれています。バイナリパッケージには入っていませんので、ソースパッケージだけダウンロードしてきて、必要な plugin だけ抽出すればオッケーです。
sources.list は大丈夫ですか? squeeze をインストールしてhogehogeしてると次のようになってると思います。赤字部分があればOKです。
/etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ squeeze main
deb-src http://ftp.jp.debian.org/debian/ squeeze maindeb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main# squeeze-updates, previously known as ‘volatile’
deb http://ftp.jp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main
では、apt-get source でダウンロードしておきましょう。
$ sudo apt-get source unbound
Reading package lists… Done
Building dependency tree
Reading state information… Done
Need to get 4394 kB of source archives.
Get:1 http://ftp.jp.debian.org/debian/ squeeze/main unbound 1.4.6-1+squeeze2 (dsc) [1577 B]
Get:2 http://ftp.jp.debian.org/debian/ squeeze/main unbound 1.4.6-1+squeeze2 (tar) [4384 kB]
Get:3 http://ftp.jp.debian.org/debian/ squeeze/main unbound 1.4.6-1+squeeze2 (diff) [8258 B]
Fetched 4394 kB in 2s (1944 kB/s)
さて、その中で、必要なファイルだけ抽出して、ファイルを配置しつつ、実行権限をつけときます。次のようにやれば良いでしょう。unbound のパッケージを download したフォルダで進めますね。
1 2 3 4 5 | $ sudo tar -xvzf /tmp/unbound_1.4.6.orig.tar.gz unbound-1.4.6/contrib/unbound_munin_ unbound-1.4.6/contrib/unbound_munin_ $ sudo mv unbound-1.4.6/contrib/unbound_munin_ /usr/share/munin/plugins/ $ sudo chown root.root /usr/share/munin/plugins/unbound_munin_ $ sudo chmod 755 /usr/share/munin/plugins/unbound_munin_ |
2. unbound.conf ファイルを修正する
munin の設定を弄りたいところですが、まず、unbound.conf を少し修正します。
unbound-control stats を使用できるように有効化します。unbound.conf の statistics に関わる部分を次のように修正します。
/etc/unbound/unbound.conf
# enable extended statistics.
server:
statistics-interval: 0
extended-statistics: yes
# set to yes if graphing tool needs it
statistics-cumulative: no
もし、unbound-control を使えるようにしていない場合ですと、次の設定も有効化して、通信用の鍵を作成する必要があります。
2-1. unbound.conf で unbound-control を有効化する設定変更
/etc/unbound/unbound.conf
remote-control:
control-enable: yes
control-interface: 127.0.0.1
2-2. unbound-control で通信用に利用する鍵の作成
次のコマンドを実行すると、unbound-controlに必要な鍵を一片に作ってくれます。便利(*´Д`)/ヽァ/ヽァ
$ sudo /usr/sbin/unbound-control-setup
setup in directory /etc/unbound/
generating unbound_server.key
Generating RSA private key, 1024 bit long modulus
…………………………..++++++
……….++++++
e is 65537 (0x10001)
generating unbound_control.key
Generating RSA private key, 1024 bit long modulus
……………..++++++
………++++++
e is 65537 (0x10001)
create unbound_server.pem (self signed certificate)
create unbound_control.pem (signed client certificate)
Signature ok
subject=/CN=unbound-control
Getting CA Private Key
Setup success. Certificates created. Enable in unbound.conf file to use
3. munin-node へ監視対象として組み込む
さぁ、munin の構成変更といきましょう。手順は二つです。
3-1. unbound plugin 設定の追加
プラグイン登録の前に、unbound plugin 用の設定だけ済ませておきましょう。対象ファイルは /etc/munin/plugin-conf.d/munin-node になります。
このファイルに、次の 7行をテキトーに追加してください。なぜかディレクトリが微妙にちがうので、default のディレクトリへ変更しておきます。
/etc/munin/plugin-conf.d/munin-node
[unbound*]
user root
env.statefile /var/lib/munin-node/plugin-state/munin/unbound-state
env.unbound_conf /etc/unbound/unbound.conf
env.unbound_control /usr/sbin/unbound-control
env.spoof_warn 1000
env.spoof_crit 100000
3-2. munin-node へ unbound plugin を登録する
さて、ここまでくれば設定は完了です。後は munin-node へ plugin を登録して munin-node を再起動すれば OK ですヽ(´ー`)ノ
まず、次のコマンドで plugin を登録します。
1 2 3 4 5 6 7 8 9 | $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_by_class $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_by_flags $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_by_opcode $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_by_rcode $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_by_type $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_histogram $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_hits $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_memory $ sudo ln -s /usr/share/munin/plugins/unbound_munin_ /etc/munin/plugins/unbound_munin_queue |
そして、一応、munin-run コマンドで正しく実行できているかどうか、確認します。次のように、各パラメータに数値が入ってきていれば問題ありません。”U“の時は正常に取得できていないので、要確認です(´・ω・`) [II]例として unbound-munin-queue を実行しています
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ sudo /usr/sbin/munin-run --debug unbound_munin_queue # Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node # Setting /rgid/ruid/ to /109/0/ # Setting /egid/euid/ to /109 109/0/ # Setting up environment # Environment unbound_conf = /etc/unbound/unbound.conf # Environment unbound_control = /usr/sbin/unbound-control # Environment spoof_warn = 1000 # Environment spoof_crit = 100000 # Environment statefile = /var/lib/munin-node/plugin-state/munin/unbound-state # About to run '/etc/munin/plugins/unbound_munin_queue' t_ql_avg.value 0.133333 t_ql_max.value 1 t_ql_overwritten.value 0 t_ql_exceeded.value 0 |
さて、ここまでくれば、後は munin-node を restart して、次回のクロール後に Webアクセスして確認です!
4. ブラウザでアクセスしてみる
では、クロール後、どんな感じで表示されるでしょうか。
次のような画面があるはずですよ( ´ー`)y-~~ “dns” と言う項目ができてるはずです。
[tmkm-amazon]4873113997[/tmkm-amazon]