munin-2.0.9 インストールメモ

Munin2.0.x系をソースから入れてみたというメモ。
これでいいのか不明?な点も満載。まあ手元のリソースモニタで使う分には動けばいいか。。というのはあるけれど。
Cent 5.8ベース。

※2013/2/11 追記
 munin-asyncd を使う場合 DB_File.pm が必要で、そのためには db4-devel が必要だったので追加。
 Net/Server.pm の問題は "Fixed in 2.007" とあるので、最新の Net::Server ではfixしているようです。(試してません)


■OSパッケージ
rrdtoolは Alien::RRDtool で入れちゃうので、そのために必要そうなものを適当に入れる。
gcc は入ってなかったので適当に入れた。

yum install gcc44
yum install gcc44-c++
yum install gcc
yum install gcc gcc-c++
yum -y install yum-priorities
vi /etc/yum.repos.d/CentOS-Base.repo
wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
vi /etc/yum.repos.d/epel.repo
yum install net-snmp-perl
yum install rrdtool-perl
yum install git
yum install -y pkg-config
yum install -y gettext
yum install -y glib
yum install -y xml2
yum install -y pango
yum install -y cairo
yum install -y cairo-devel
yum install -y pango-devel
yum install -y glib-devel
yum install -y libxml2-devel
yum install -y openssl-devel
yum install -y db4-devel

perl
本当は perlbrew にしたほうがいいんだろうけど。

./Configure -Dcc=gcc44 -des -Dprefix=[適当に]/munin-perl-5.16.2
make
make test
make install

■cpanm
パス通すのが面倒なので、インストールした [適当に]/munin-perl-5.16.2/bin に放り込む

■モジュール類
近場のミラー(http://ftp.nara.wide.ad.jp/pub/CPAN)を見るようにしてみた

・rrdtool
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Alien::RRDtool
・master
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Time::HiRes 不要
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 Text::Balanced  不要
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Params::Validate
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Date::Parse TimeDate (Date::Parse で)
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Net::SSLeay (要:openssl-devel)
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Getopt::Long 不要
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN File::Copy::Recursive
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN CGI::Fast 不要
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN IO::Socket::INET6 エラー→テスト→-f強制インストール
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
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Mail::Cap MailTools (cpanm Mail::Cap) 不要
・node
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Net::Server
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Net::Server::Fork 不要
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Time::HiRes 不要
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Net::SNMP
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Crypt::DES
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Digest::SHA1
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Digest::HMAC
cpanm -L muninlibs Net::SSLeay 不要(前で入れてるので)
cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN DB_File asyncdで使う

■Munin本体
これで良いか全然分かってない点。
Makefile.config いじって make -> make install …が基本だけど、幾つかハマった。
・sbin 下の「munin-node munin-node-configure munin-run munin-sched」の perlパスが置換されない
 →とりあえず手で直した
・munin-node.conf に「default_plugin_user default_plugin_group」が無いとこんなエラーが出る。
 →munin-node.conf にとりあえず書いてみた。

2012/12/25-17:03:28 [10787] Error output from cpu:
2012/12/25-17:03:28 [10787]     Use of uninitialized value $service_user in concatenation (.) or string at /~/Munin/Node/Service.pm line 151.
2012/12/25-17:03:28 [10787]     User '' required for 'cpu' does not exist. at /~/Munin/Node/OS.pm line 182.
2012/12/25-17:03:28 [10787] Service 'cpu' exited with status 29/0.

・Net/Server.pmでエラー
 →バグ報告あるっぽい?とりあえず修正を手パッチしたら発生しなくなった。
  →http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=693320
  →https://rt.cpan.org/Ticket/Display.html?id=78828

2012/12/25-17:35:12 CONNECT TCP Peer: "[127.0.0.1]:55955" Local: "[127.0.0.1]:4949"
Use of uninitialized value in pattern match (m//) at /~/Net/Server.pm line 600.

確認して無さすぎだけど、とりあえずここまで。
munin-cronがエラーなしで通るようになりましたよ…っと。