munin-async

相変わらずの思い付き作業であるが、munin-asyncが動いたのでメモ。

この手のは毎回、どっちがサーバーでどっちがクライアントなのかわからなくなるので困る orz

remote machineがデータ収集される方(クライアント)で、serverがデータを収集する方です。

ローカルでデータをため込んで要求に対して返事をするんだからリモート側もサーバーと言えばサーバーなんだよな(ぶつぶつ

とりあえず。マシン名としてremoteとserverで。普通にmuninで収集できているものとします。

インストールはapt-get でばばそ。

remote# apt-get install munin-async
server# apt-get install munin-async

serverで。

server# vipw   <- ユーザーmuninのシェルを/bin/bashに変更
server# su - munin
server$ cd /var/lib/munin
server$ mkdir .ssh
server$ cd .ssh
server$ ssh-keygen -q -N "" -f /var/lib/munin/.ssh/id_rsa
remote# mkdir /var/lib/munin-async/.ssh
server$ scp /var/lib/munin/.ssh/id_rsa.pub root@remote:/var/lib/munin-async/.ssh/authorized_keys
server# chown -R munin.munin /var/lib/munin/.ssh
server$ ssh munin-async@remote

ごにょごにょ聞いてくるが一度ログインしてみる。
もう一度ログインしてみて、何も聞かれなければOK

server# chsh -s /bin/false munin

シェルを戻しておく。これって/usr/sbin/nologinの方がdebian的なのではないのだろうか・・・

あとはserverのmunin.confで

[async.remote]
address ssh://munin-async@remote:22 /usr/share/munin/munin-async --spooldir /var/lib/munin-async --spoolfetch
use_node_name yes

でおけ。
マニュアルには/var/lib/munin/spoolとか書いてあるけど実際には/var/lib/munin-async/ のようだ

あとはremoteで /etc/init.d/munin-node start で起動しておいて、データを収集させておき、server側で/etc/init.d/munin startで収集を行う。

/var/log/munin/munon-update.logとかを見て変なエラーが出てなければOK

今まで1分以上かかっていたのが10秒ぐらいに短縮された :D~