2011.09.20

【サーバー】Muninをインストールする

だいぶ苦労したのでまとめておく。

Muninのダウンロード

まずここからソースをダウンロード。
今回入れたのが1.4.6になる。
Link:Munin - Trac

必要なライブラリのインストール

MuninはPerlで動いている。
Perl内でいろいろとやる関係で参照するライブラリも大量になる。

yumとcpanで必要だったのが以下の通り

$ cpan install Time:HiRes
$ cpan install Storable
$ cpan install Digest::MD5
$ cpan install Text::Balanced
$ cpan install Log::Log4perl
$ cpan install HTML::Template
$ cpan install Net::Server::Fork
$ cpan install LWP::UserAgen

# yum install cairo-devel
# yum install glib2-devel
# yum install pango-devel

そのほかにも明示的に必要とされているのでRRDtoolというのが必要らしい。
Link:RRDtool - About RRDtool

Perlで使用するのでライブラリの作成も行う。
$ ./configure --enable-perl-site-instal

オプションをしてすることで必要なデータは作成してくれるだけなので手動でPerlへコピーが必要となる。
$prefix/lib/perl にデータがあるのでそれを現在使ってるPerlのライブラリにコピーする。

Muninのコンパイルとインストール

次はMuninの実体作成。
いつも通りtarを解凍する。

何も考えずにmake。
$ make

次にインストールだけどデータを統合するサーバーと情報を取得するノードを作成する。
今回はサーバーもノードも同じところへ入れる。

サーバーのインストールはこんな感じ
# make install

ノードのインストールはこんな感じ
# make install-common-prime install-node-prime install-plugins-prime

Muninサーバーの設定

次にサーバー側の設定を変更
# vi /etc/opt/munin/munin.conf

まず保存先や出力先を決定

#データ保存先?
dbdir		/var/opt/munin
#html出力先
htmldir		/opt/munin/www/docs
#ログ出力先?
logdir		/opt/munin/log/munin
#これは何?
rundir		/var/run/munin

複数のサーバーを監視するではあればその下へノード設定を入れる。

Muninノードの設定

次にノード側の設定を変更
# vi /etc/opt/munin/munin-node.conf
サーバーからのアクセスが許可が取れているかを確認する。

ノードで監視するものを選別する。
/etc/opt/munin/plugins/ にプラグインを配置すると監視対象となる。
標準のプラグインは /opt/munin/lib/plugins/ に入っているのでそのファイルを
シンボリックリンクを貼るのがよいらしい。

メモリ監視の例
# ln -s '/opt/munin/lib/plugins/memory' '/etc/opt/munin/plugins/memory'

これだけだと動くかわからないので動作するかを単体で確認する。
# /opt/munin/lib/plugins/apache_processes autoconf
結果でyesと返ってきたら動作するということになる。

こんなことをひとつひとつやるのは大変なので一括チェックのコマンドがある。
# /opt/munin/sbin/munin-node-configure -suggest
結果のSuggestions列でyesとなったものを入れることができる。

yesのものをすべて加えたいときには以下のようにするとlnコマンドを実行してくれる。
# /opt/munin/sbin/munin-node-configure -shell

今回apache_processesをmunin-node-configureで入れようした際なぜかうまくいかない。

まず、Apacheがserver-statusを返せるようになっていないといけない。
ホストも固定っぽいので以下のコマンドでちゃんと取れないとyesにならない。
$ wget http://127.0.0.1/server-status?auto

apache_processesをautoconfで確認したところperlのpw処理でWarningが出てる関係でうまくいかなかったらしい。
なので手動でシンボリックリンクをを通すことで対応しています。

Muninノードをサービスとして登録

Muninをコンパイルしたディレクトリの dists/redhat/munin-node.rc を動くように修正して
適度な名前に変更してchkconfigへ登録する。

これで起動させることでノードの準備は完成です。

Muninサーバー実行

muninサーバーは munin:muninでないと実行できないようなのでユーザー作成。

# groupadd munin
# useradd -g munin munin

Muninサーバーが動作するか確認する
# sudo -u munin /opt/munin/bin/munin-cron
何も出ていなければ、munin.confのhtmldirへ結果が出ているはずなので
Apacheから見れるようにすれば確認できます。

これをcronで5分おきにすることでhtmldirが更新され状況が定期的に出力されるようになります。

$ crontab -u munin -e
*/5 * * * *   /opt/munin/bin/munin-cron 2>&1

こんなことをいろいろ調べてたら1日終わってました。
いや~つかれた。
まあ、思い通りできてよかったとしましょう。

Pocket

ニャッキ格闘列伝 > サーバー >

前の記事:
次の記事:

コメントリスト

コメントなし

コメント



*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

こんなタグが使えるみたいよ:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>