Munin導入(監視マネージャー編1)

サーバリソース監視ソフトのMuninを導入してみようと思います。
いろんなサイトを見ているとMRTGなんかよりも簡単に導入できるらしいです。
Muninを動かすためには以下のソフトウェアが必要になるので事前にインストールしておきます。
 ・rrdtool
 ・HTML::Template
 ・Net::Server::Fork

監視マネージャー
最初にMuninを起動するユーザを作成します。

# /usr/sbin/groupadd -g 2008 munin
# /usr/sbin/useradd -u 2008 -g 2008 -s /sbin/nologin -d /usr/local/munin munin

現時点でのMuninの最新バージョンである1.3.3をインストールすることにします。
インストール時にデフォルトディレクトリから変えたい場合はMakefile.configを編集します。

$ wget http://jaist.dl.sourceforge.net/sourceforge/munin/munin_1.3.3.tar.gz
$ tar xvzf munin_1.3.3.tar.gz
$ cd munin-1.3.3
# make install-main

Makefile.configは以下のようにしました。
Makefile.config

PREFIX     = $(DESTDIR)/usr/local/munin
CONFDIR    = $(DESTDIR)/etc/munin
BINDIR     = $(PREFIX)/bin
SBINDIR    = $(PREFIX)/sbin
DOCDIR     = $(PREFIX)/doc
MANDIR     = $(PREFIX)/man
LIBDIR     = $(PREFIX)/lib
HTMLDIR    = $(DESTDIR)/usr/local/apache2/htdocs/munin
CGIDIR     = $(HTMLDIR)/cgi
DBDIR      = $(DESTDIR)/var/lib/munin
PLUGSTATE  = $(DBDIR)/plugin-state
LOGDIR     = $(DESTDIR)/var/log/munin
STATEDIR   = $(DESTDIR)/var/run/munin

USER       = munin
GROUP      = munin

監視マネージャーの設定をします。
エージェントの名前とIPアドレスを指定します。
/etc/munin/munin.conf

# a simple host tree
[www.kajukaju.net]
    address 10.33.77.11
    use_node_name yes

監視マネージャーをcronに登録し5分に1回データを収集するようにします。
/etc/crontab

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/munin/bin

# For munin
*/5 * * * * munin munin-cron

ちなみにcron実行時に以下のようなエラーが出る場合があります。

# /usr/local/munin/bin/munin-cron
Can't locate RRDs.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/site_perl/5.8.5/Munin.pm line 56.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.5/Munin.pm line 56.
Compilation failed in require at /usr/local/munin/lib/munin-update line 28.

対応方法はMuninのサイトにも記載されていますがmunin-cronの先頭を編集すればいいみたいです。
/usr/local/munin/bin/munin-cron

#!/bin/sh
export PERL5LIB=$PERL5LIB:/usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi
[ -x /usr/local/munin/lib/munin-update ] && /usr/local/munin/lib/munin-update $@;
[ -x /usr/local/munin/lib/munin-limits ] && /usr/local/munin/lib/munin-limits $@;
[ -x /usr/local/munin/lib/munin-graph  ] && nice /usr/local/munin/lib/munin-graph --cron $@ 2>&1 | while read line; do [ x"$line" = x"*** attempt to put segment
 in horiz list twice" ] && continue; echo $line; done;
[ -x /usr/local/munin/lib/munin-html   ] && nice /usr/local/munin/lib/munin-html $@;

コメントを残す

メールアドレスが公開されることはありません。

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