munin 2.0.12 環境構築メモ(munin-node側)
自作の munin plugin 使って OracleDatabase のリソースグラフ化する時のメモ。ここでは Munin-Node 環境を作るまで。
oracle plugin はシェルベースで、sqlplus を使ってインスタンスへアクセスします。またリスナ依存を排除するため、ローカル接続を行います。アクセスのしやすさを優先して、munin-node は oracle ユーザで動かすことにしています。
同じ OS 構成ベースであればディレクトリ固めて展開できるように、perl とかも全部1ディレクトリに放り込みます。
■Perl
5.16.3 使いました
./Configure -des -Dprefix=/home/oracle/local/munin make -j 4 make test make install
■Perl-Module
cpanm で入れます。
Net::SSLeay のために openssl-devel が、DB_File のために db4-devel が必要です。
munin-node において、DB_File は asyncd を使わない場合は(多分)不要なはずです。今回は asyncd 使うので必須。
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 Net::Server 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 --mirror http://ftp.nara.wide.ad.jp/pub/CPAN Net::SSLeay cpanm --mirror http://ftp.nara.wide.ad.jp/pub/CPAN DB_File
■Munin-Node
PATH 関係はここで全部設定します。perl 部分を絶対 PATH にしたり。内容は作る人のお好みで。
vi Makefile.config
munin-async を使うので async-prime も必要です。後 oracle でもう全部動かすことにするので、chown で がっつり oracle にオーナ・パーミッションを変えます。この辺の考え方は好み次第。
make su -- make install-common-prime install-node-prime install-plugins-prime install-async-prime 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 ===
SpoolReader にパッチあてときます。(前の記事の件です 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 SpoolReader.pm /tmp/SpoolReader.pm patch < /home/oracle/local/src/Munin/SpoolReader.pm.patch
■Munin-Node設定
asyncd を同じノードに立てるので、アクセス元を localhost だけにしておきます。
あとは必要な default_plugin 関係を追記。
cd /home/oracle/local/munin/etc/ vi munin-node.conf - add default_plugin_user oracle - add default_plugin_group oinstall - mod user oracle - mod group oinstall - mod #host * - mod host 127.0.0.1
■プラグイン設定
山ほどサンプルがあるので、お好きなように設定しましょう。
oracleプラグイン部分は別に書く。
■起動
こんな感じ。実運用時向けに起動スクリプトも作ってあるけど、こんなん別に誰でもかけるしな。。
プロセスダウン検知どうしよう・・・というのが実はあるんですが、本当にどうしよう。munin-limit側で考えるか。
/home/oracle/local/munin/sbin/munin-node /home/oracle/local/munin/lib/munin-asyncd &
とりあえずここまで。