サーバの稼働状態を監視したいと思い、sysstat/sarでデータ取得を行っていますが、sarコマンドでチェックすると言っても、数字の羅列を見るよりは次のような要件を満たす方法の方が何かと便利です。
- グラフ化
- 自動化
- Webインターフェース
これらを手軽にできるツールがMuninです。
sarの収集データをgnuplotするなどを考えていましたが、基本的に同じデータを元にするのであれば、Muninを使ってみようと思い、導入しました。
さて、前置きは別記事『Muninで監視する(Munin 1.2.5の場合)』と同じなのですが、バージョンの違いにより、インストールで作成されるディレクトリとファイルに違いがありますので、改めてまとめておきたいと思います。
実際に実行した結果、作成されるグラフ例です。これはCPU使用率を示しています。「Mon 00:00」少し前にバージョン1.2.5からバージョン1.4.5にアップデートしたために、測定できていない時間帯があります。
インストール時点では、次のようなデータのグラフが生成され、Webブラウザで参照できるようになります。
localhost disk Disk usage in percent Inode usage in percent network Firewall Throughput HTTP loadtime of a page Netstat venet0 errors venet0 traffic postfix Postfix bytes throughput Postfix Mailqueue processes Fork rate Number of threads Processes Processes priority VMstat system Available entropy CPU usage File table usage Inode table usage Interrupts and context switches Load average Logged in users Memory usage Swap in/out Uptime
以下に、インストール手順を整理しておきます。
1.Muninのインストール
Muninは、収集されたデータを集約してグラフ化する役割を持つ Munin(Munin master)と、データを収集するエージェントの役割を持つ Munin node からなり、ここではローカルサーバでローカルサーバの監視を行う単純な構成を構築しますので、Munin、Munin node の両方をインストールします。
ただし、投稿時点で公開されているバイナリインストールパッケージはバージョン1.4.5です。『Munin – Trac』を参照して確認してください。
なお、i386の場合には、EPELリポジトリを強制的に参照させ、Rpmforgeを参照しないようにすることで、バージョン1.4.5をスムースにインストールすることができます。
[root ~]# yum --enablerepo=epel --disablerepo=rpmforge install munin munin-node (略) Installed: munin.noarch 0:1.4.5-5.el5 munin-node.noarch 0:1.4.5-5.el5 Dependency Installed: hdparm.i386 0:6.6-2 libart_lgpl.i386 0:2.3.17-4 munin-common.noarch 0:1.4.5-5.el5 perl-Crypt-DES.i386 0:2.05-3.el5 perl-DateManip.noarch 0:5.44-1.2.1 perl-Digest-HMAC.noarch 0:1.01-15 perl-Digest-SHA1.i386 0:2.11-1.2.1 perl-HTML-Template.noarch 0:2.9-1.el5.2 perl-IO-Multiplex.noarch 0:1.08-5.el5 perl-IPC-Shareable.noarch 0:0.60-3.el5 perl-Log-Dispatch.noarch 0:2.20-1.el5 perl-Log-Dispatch-FileRotate.noarch 0:1.16-1.el5 perl-Log-Log4perl.noarch 0:1.13-2.el5 perl-MIME-Lite.noarch 0:3.01-5.el5 perl-Mail-Sender.noarch 0:0.8.13-2.el5.1 perl-Mail-Sendmail.noarch 0:0.79-9.el5.1 perl-MailTools.noarch 0:1.77-1.el5.centos perl-Net-SNMP.noarch 0:5.2.0-1.el5.1 perl-Net-Server.noarch 0:0.96-2.el5 perl-Params-Validate.i386 0:0.88-3.el5 perl-TimeDate.noarch 1:1.16-5.el5 perl-XML-DOM.noarch 0:1.44-2.el5 perl-XML-Parser.i386 0:2.34-6.1.2.2.1 perl-XML-RegExp.noarch 0:0.03-2.el5 rrdtool.i386 0:1.2.27-3.el5 rrdtool-perl.i386 0:1.2.27-3.el5 Complete!
実はこれだけでは依存関係でインストールされたパッケージに古いものが含まれているようですので、アップデートを行いました。
[root ~]# yum update (略) Installed: perl-Date-Manip.noarch 0:5.56-1.el5.rf perl-rrdtool.i386 0:1.4.4-1.el5.rf Dependency Installed: libdbi.i386 0:0.8.1-2.1 lua.i386 0:5.1.4-2.el5.rf perl-Email-Date-Format.noarch 0:1.002-1.el5.rf perl-Socket6.i386 0:0.19-3.fc6 ruby.i386 0:1.8.5-19.el5_6.1 ruby-libs.i386 0:1.8.5-19.el5_6.1 xorg-x11-fonts-Type1.noarch 0:7.1-2.1.el5 Updated: perl-Crypt-DES.i386 0:2.05-3.2.el5.rf perl-IO-Multiplex.noarch 0:1.10-1.el5.rf perl-Log-Dispatch.noarch 0:2.26-1.el5.rf perl-Log-Dispatch-FileRotate.noarch 0:1.19-1.el5.rf perl-Log-Log4perl.noarch 0:1.26-1.el5.rf perl-MIME-Lite.noarch 0:3.028-1.el5.rf perl-Mail-Sender.noarch 0:0.8.16-1.el5.rf perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf perl-Net-Server.noarch 0:0.99-1.el5.rf perl-Params-Validate.i386 0:0.95-1.el5.rf perl-XML-DOM.noarch 0:1.44-2.el5.rf rrdtool.i386 0:1.4.4-1.el5.rf Replaced: perl-DateManip.noarch 0:5.44-1.2.1 rrdtool-perl.i386 0:1.2.27-3.el5 Complete!
2./var/lib/muninのパーミッション変更
インストールされた状態では、ユーザ、グループが102,103などに設定されてしまうディレクトリ、ファイルが存在しますので、次のように変更します。
[root ~]# chown munin:munin -R /var/lib/munin
3.munin-nodeの起動
munin-nodeを起動するだけで、データの収集を5分間隔で行うようになります。
[root ~]# service munin-node start Starting Munin Node: [ OK ]
4.LISTENポートの確認
TCPポート4949dLISTENしていることを確認します。
[root ~]# netstat -ln --tcp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:4949 0.0.0.0:* LISTEN
5.munin-nodeの自動起動の設定
[root ~]# chkconfig --list munin-node munin-node 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root ~]# chkconfig munin-node on [root ~]# chkconfig --list munin-node munin-node 0:off 1:off 2:on 3:on 4:on 5:on 6:off
6.httpdの設定
バージョン1.2.5では作成されていた /etc/httpd/conf.d/munin.conf は作成されません。
httpdの設定では、次のようにWebドキュメントパスを設定します。
ScriptAlias /munin/cgi/ /var/www/html/munin/cgi/ <Directory /var/www/html/munin/cgi/> Options ExecCGI Order deny,allow Allow from all </Directory> Alias /munin/ /var/www/html/munin/ <Directory /var/www/html/munin/> Options -Indexes FollowSymLinks Order deny,allow Allow from all </Directory>
7.httpdへの設定反映
[root ~]# service httpd reload httpd を再読み込み中: [ OK ]
これで、設定はすべて完了です。
すでにmunin-nodeがデータ収集をしているかと思いますので、Webブラウザからグラフを参照できるようになっているはずです。