FreeBSDに特化したmilter manager関連ソフトウェアのインストール方法について説明します。milter manager本体のインストール情報はFreeBSDへインストール、FreeBSDに依存しない一般的なインストール情報はインストールを見てください。
milter-manager-log-analyzerはmilter managerのログを解析して統計情報をグラフ化します。
milter-manager-log-analyzerが出力するグラフは同じホストにWebサーバを設置して閲覧する方法とMuninを利用して別ホストで閲覧する方法があります。すでにMuninを導入していたり、メールサーバとは別にシステム監視用のサーバがある場合はMuninを利用するとよいでしょう。そうでない場合は同じホストにWebサーバを設置するのがよいでしょうFIXME。
まずは、milter-manager-log-analyzerのインストール方法を説明します。次に、グラフを閲覧する環境を説明します。
グラフを閲覧する環境の設定方法は、まず、同じホストにWebサーバを設置する方法を説明し、次に別ホストにあるMuninから閲覧する方法を説明します。
それでは、まず、milter-manager-log-analyzerのインストール方法です。
グラフを生成するためにRRDtoolを使います。RRDtoolのRubyインターフェイスもインストールします。
注: RRDtool 1.3.8のRubyバインディングにはバグがあるので、1.3.8を使うときは"-M'WITH_RUBY_MODULE=yes'"オプションは指定しないでください。
% sudo /usr/local/sbin/portupgrade -NRr -m 'WITH_RUBY_MODULE=true' databases/rrdtool
milter-manager-log-analyzerはcronで定期的にログを解析し、グラフを生成します。そのためのcronの設定をするファイルが/usr/local/etc/milter-manager/cron.d/freebsd/milter-manager-logにインストールされています。このファイルを使うと、5分毎にログを解析し、~milter-manager/public_html/log/以下にグラフを生成します。
% sudo -u milter-manager -H crontab /usr/local/etc/milter-manager/cron.d/freebsd/milter-manager-log
milter-manager-log-analyzerは5分おきに実行されているかどうかは、/var/log/cronを見ると確認できます。
これで、milter-manager-log-analyzerのインストールが完了したので、milter-manager-log-analyzerが生成するグラフを閲覧するための環境を設定します。まずは、同じホストにWebサーバを設置する方法です。
WebサーバとしてApacheを使います。ここでは、Apache 2.2系列(www/apache22)をインストールします。
% sudo /usr/local/sbin/portupgrade -NRr www/apache22
グラフは~milter-manager/public_html/log/以下に生成しているので、http://localhost/~milter-manager/log/で閲覧できるようにします。
Apacheで各ユーザ毎にファイルを公開できるようにします。/usr/local/etc/apache22/httpd.confを以下のように編集します。
編集前:
# User home directories #Include etc/apache22/extra/httpd-userdir.conf
編集後:
# User home directories Include etc/apache22/extra/httpd-userdir.conf
設定を再読み込みします。
% sudo /usr/local/etc/rc.d/apache22 reload
これでhttp://localhost/~milter-manager/log/でグラフを閲覧できるようになります。
次は、別ホストにあるMunin上でグラフを閲覧する方法です。
Muninサーバに統計情報を送るmunin-nodeをインストールします。
% sudo /usr/local/sbin/portupgrade -NRr munin-node
milter-manager-log-analyzerが収集した統計情報をMuninに提供するMuninプラグインをインストールします。プラグインは/usr/local/share/munin/plugins/以下にインストールされているので、まずは、それらをmunin-nodeのプラグインディレクトリにインストールします。
% sudo ln -s /usr/local/share/milter-manager/munin/plugins/* /usr/local/share/munin/plugins
これらのプラグインの設定を書いた/usr/local/etc/munin/plugin-conf.d/milter-manager.confを作成します。
/usr/local/etc/munin/plugin-conf.d/milter-manager.conf:
[milter_manager_*] user milter-manager env.PATH /bin:/usr/local/bin:/usr/bin env.logdir /home/milter-manager/public_html/log env.pidfile /var/run/milter-manager/milter-manager.pid
最後にインストールしたプラグインのうち必要なものだけ有効にします。
% sudo /usr/local/sbin/munin-node-configure --shell | grep -e '\(milter_manager_\|postfix_processes\|sendmail_processes\)' | sudo sh
プラグインのインストールはこれで完了です。
注: Muninに統計情報を提供する場合はmilter manager 1.5.0以降のmilter-manager-log-analyzerが生成したデータベースを使う必要があります。1.5.0より前のバージョンからアップデートしている場合は~milter-manager/public_html/log/以下を削除してください。削除すると5分後に新しく統計情報データベースが作成されます。
次に、Muninサーバからの接続を許可します。Muninサーバが192.168.1.254の場合は以下の行を/usr/local/etc/munin/munin-node.confに追加します。
/usr/local/etc/munin/munin-node.conf:
allow ^192\.168\.1\.254$
munin-nodeを再起動し設定を反映させます。
% sudo /usr/local/etc/rc.d/munin-node.sh restart
ここからは監視用サーバでの設定です。監視用サーバもFreeBSDで動いているとします。
まず、muninとApacheをインストールします。
monitoring-server% sudo /usr/local/sbin/portupgrade -NRr munin-main www/apache22
muninの監視対象にmunin-nodeが動いているメールサーバを追加します。メールサーバが以下の場合の/usr/local/etc/munin/munin.confへ追加する設定項目を示します。
このメールサーバを登録するには、以下の内容を/usr/local/etc/munin/munin.confに追記します。
/usr/local/etc/munin/munin.conf:
[mail.example.com] address 192.168.1.2 use_node_name yes
Muninは/usr/local/www/munin/以下にグラフを生成するので、それをhttp://monitoring-server/munin/で閲覧できるようにします。
% sudo ln -s /usr/local/www/munin/ /usr/local/www/apache22/data/
5分後にはhttp://monitoring-server/munin/でグラフを閲覧できるようになります。
milter-manager-log-analyzerを利用することによりmilterを導入した効果を視覚的に確認することができます。MTAとしてPostfixを使用しているのであれば、Mailgraphのグラフと見くらべてmilter導入の効果を確認することができます。milterを試験的に導入している場合などに有効に活用できます。