munin 2.0.12 環境構築メモ(munin-master側)
自作の munin plugin 使って OracleDatabase のリソースグラフ化する時のメモ。ここでは Munin-Master 環境。
といっても、基本 Node と変わらずで入れる Perl Module の違いくらいです。
■Perl
Nodeと一緒です。5.16.3 使いました。
./Configure -des -Dprefix=/home/oracle/local/munin make -j 4 make test make install
■Perl-Module
cpanm で入れます。
Mail::Sendmail のテストが固まりますが入力待ちなのでリターン2回くらい入れればそのうちタイムアウトで通って入ります。
IO::Socket::INET6 は ipv6 環境作ってないとテストがエラーになるので、強制インストール。テストスキップでも良いと思います。
export PATH=/home/oracle/local/munin/bin:$PATH curl -LOk http://xrl.us/cpanm chmod 755 cpanm mv cpanm /home/oracle/local/munin/bin/ sudo yum install openssl-devel sudo yum install db4-devel cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Alien::RRDtool cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Storable cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Digest::MD5 cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN HTML::Template cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Params::Validate cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Date::Parse cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Net::SSLeay cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN File::Copy::Recursive cpanm -f --mirror http://ftp.nara.wide.ad.jp/pub/CPAN IO::Socket::INET6 cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Log::Log4perl cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN IPC::Shareable cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Log::Dispatch cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Log::Dispatch::FileRotate cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN MIME::Lite cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Mail::Sender cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Mail::Sendmail
■Munin-Master
Node と一緒。PATH 関係はここで全部設定します。perl 部分を絶対 PATH にしたり。内容は作る人のお好みで。
vi Makefile.config
install で丸ごと入れます。後 Node と一緒で、oracle でもう全部動かすことにするので、chown で がっつり oracle にオーナ・パーミッションを変えます。この辺の考え方は好み次第。
make su -- make install cp -pr contrib /home/oracle/local/munin/ ls -l /home/oracle/local/munin/ chown -R oracle:oinstall /home/oracle/local/munin/* ls -l /home/oracle/local/munin/ exit --
Makefile.config の設定の仕方が多分マズイために起きているんだと思いますが、一部のソースの perl PATH が変わってくれないので手で直します。
cd /home/oracle/local/munin/sbin vi munin-node vi munin-node-configure vi munin-run vi munin-sched === #!/home/oracle/local/munin/bin/perl === cd /home/oracle/local/munin/contrib vi dump_storable vi import_db vi dump_db vi epoch2localtime === #!/home/oracle/local/munin/bin/perl ===
UpdateWorker にパッチあてときます。(前の記事の件です http://nsrzakki.hateblo.jp/entry/2013/04/24/015415)
cd /home/oracle/local/munin/lib/perl5/site_perl/5.16.3/Munin/Node/ cp -p UpdateWorker.pm /tmp/UpdateWorker.pm patch < /home/oracle/local/src/Munin/UpdateWorker.pm.patch
■Munin-Master設定
監視ホストを登録します。
asyncd を使うので、ssh アクセスになります。鍵作って監視先ホストに設定して、sshするようにします。サンプル。
※鍵作る ssh-keygen -t rsa -b 2048 ※監視先ノードで authorized_keys に鍵登録 command="/home/oracle/local/munin/lib/munin-async --spoolfetch",no-pty,from="192.168.xxx.xxx" ssh-rsa xxxxxxxxxx== oracle@hogemaster ※munin.conf に設定 [hogenode] address ssh://oracle@hogenode use_node_name yes
■実行
※一番最初は手動実行して動作チェック /home/oracle/local/munin/bin/munin-cron ※上手くいきそうならcron設定 */5 * * * * /home/oracle/local/munin/bin/munin-cron >/dev/null 2>&1