Munin は RRD Tool と連携してサーバー状態やトラフィックなどのあらゆる情報を表示するツールです。
Perl で書かれており、HTML を作成しグラフに表示することができます。
有名なトラフィック監視ツールの MRTG よりもインストールや設定が圧倒的に容易です。
グラフ化したい監視対象のサービスなどは、インストール後でもプラグインを使って簡単に拡張可能です。
Munin 実行ユーザーの作成
以下のように Munin を実行するユーザーを作成します。
# useradd -u 4949 -g munin -s /sbin/nologin munin
RRD Tool、Perl ライブラリのインストール
Munin の動作に必要な RRD Tool や Perl ライブラリを yum を使ってインストールします。

Munin のインストール
Munin のソースファイルを Munin 公式サイト からダウンロードします。

インストール先となるディレクトリを作成し、ソースファイルを保存したディレクトリに移動します。

# cd /usr/local/src

続いてダウンロードしたソースファイルを展開してコンパイルとインストールを行います。

# cd munin-1.2.6

ここで Makefile.config を編集してインストール先を変更します。

# run ‘make’ in the source directory. Modify it to suit your needs.
# DESTDIR is empty during building, and optionally set to point to
# a shadow tree during make install.
#
# the base of the Munin installation.
#
PREFIX = $(DESTDIR)/usr/local/munin_1.2.6
# Where Munin keeps its configurations (server.conf, client.conf, ++)
CONFDIR = $(PREFIX)/etc
Munin の監視クライアントとノードをインストールします。

# make install-node install-node-plugins

Munin のディレクトリを /usr/local/munin としてアクセスできるようにシンボリックリンクを作成します。

Munin の設定
以下のようにスクリプトを実行してプラグインの設定を行います。

Munin の自動起動スクリプト
Munin の自動起動スクリプトは Munin のソースファイル(dists/redhat)に含まれています。
これを /etc/rc.d/init.d/munin-node ファイルとしてコピーします。

インストールディレクトリを変更したので、以下のように起動スクリプトを修正します。

#
# munin-node Control the Munin Node Server (formerly Linpro RRD client)
#
# chkconfig: 2345 90 10
# description: munin node agents
# processname: munin-node
# config: /usr/local/munin/etc/munin-node.conf
# pidfile: /var/run/munin/munin-node.pid
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
PROCNAME=munin-node
mkdir -p /var/run/munin 2>/dev/null
chown munin /var/run/munin
# See how we were called.
case “$1” in
start)
echo -n “Starting Munin Node: “
/usr/local/munin/sbin/munin-node &
...
作成した自動起動スクリプトに実行権限を与えてサービスの登録を行います。

# chkconfig --add munin-node

自動起動スクリプトを使って Munin を起動する場合は以下のように実行します。

cron の登録
crontab に 5 分おきに実行するように登録します。
