サーバー監視ツールのMuminをインストールし設定します。
さくらのVPSは標準でEPELのリポジトリが効いているので、yum一発でインストールできました。
- muninのインストール
- muninの初期設定
- バーチャルホストの設定
- Apache用pluginの追加
- MySQL用pluginの追加
- ズーミンググラフの設定
1.muninのインストール
yumコマンドでmuninとmunin-nodeをインストールします。
google先生に聞くと、リポジトリの話がでてきますが、さくらのVPSのcentOS6ではデフォルトでEPELのリポジトリが効いているのでyum一発インストールができました。
$ sudo yum install munin munin-node
munin-nodeがサーバーを監視し、そのデータをmuninで表示・確認する感じでしょうか。両方インストールする必要があります。
2.muninの初期設定
まずはmunin-nodeがサーバー起動時に自動的に起動するよう常駐の設定します。
$ sudo /sbin/chkconfig munin-node on
muninの設定ファイルは以下のコマンドで確認できますが、特に内容の変更は必要ありません。
$ sudo vi /etc/httpd/conf.d/munin.conf
munin-htpasswdファイルを作成します。linuxのhtpasswdというコマンドでファイルを作成します。
以下はusernameというログイン名に対するパスワードファイルの作成です。
$ sudo htpasswd -c /etc/munin/munin-htpasswd username
ここまでできたらmunin-nodeを起動し、apacheを再起動します。
$ sudo /sbin/service munin-node start $ sudo /sbin/service httpd restart
※「munin-node start」とすべきところが「munin start」と記載されていました。お問い合わせより指摘があり、修正しています。すみませんorz
ところで自分の場合、「さくらインターネット創業日記」の「ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編)」に記載されていた不要そうなapacheモジュールを参考に、mod_expiresのモジュールを無効にしていたために、munin.confのExpiresActiveの行でエラーになりました。同じ現象の方は少ないと思いますが、エラーが出た場合にはhttpd.confの170行目付近にあるmod_expires.soのコメントアウトをはずして有効化してください。
また、同じくmod_authz_userもコメントアウトしていたためBASIC認証がうまくいかず500 Internal Server Errorが出ました。同じく有効にしてください。
3.バーチャルホストの設定
muninは/var/www/html/munin/にインストールされるので、http://IPアドレス/munin/でアクセスできるかと思います。自分はバーチャルホストの設定を行いました。
# sudo vi /etc/httpd/conf.d/vhost.conf <virtualhost *:80> DocumentRoot /var/www/html/munin ServerName ここにmunin用のURL </virtualhost>
これで設定したURLにアクセスするとmuninのページが表示されるはずです。
4.Apache用pluginの追加
一度muninが正しく動作するのを確認したら、Apache用のpluginを追加します。
pluginへのシンボリックリンクを作成します。
$ sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses $ sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes $ sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume
httpd.confの設定を編集し、ExtendedStatus Onを有効にします。
# sudo vi /etc/httpd/conf/httpd.conf
228行目付近のExtendedStatus Onのコメントアウトを外します。
ExtendedStatus On
また935行目付近にあるserver-statusの項目のコメントアウトも外し、127.0.0.1からのアクセスを許可します。
<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 ←編集 </Location>
httpdとmunin-nodeを再起動します。
$ sudo /sbin/service munin-node restart $ sudo /sbin/service httpd restart
5.mysql用pluginの追加
続いてmysql用のpluginを追加します。
pluginへのシンボリックリンクを作成します。
$ sudo ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes $ sudo ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries $ sudo ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries $ sudo ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/mysql_threads
munin-nodeの設定ファイルを編集します。
$ sudo vi /etc/munin/plugin-conf.d/munin-node
以下の記述を追加します。設定例はユーザー名root、パスワード<password>の例です。
[mysql*] env.mysqladmin /usr/bin/mysqladmin env.mysqlopts -u root -p<password>
注意が必要なのは、-pの後にスペースを入れずパスワードを入力することです。
munin-nodeを再起動します。
$ sudo /sbin/service munin-node restart
6.ズーミンググラフの設定
CGIによるグラフ描画を有効にすると、グラフのズーミング機能が利用できるようになります。
まずはmunin.confの設定を変更(確認)します。
$ sudo vi /etc/httpd/conf.d/munin.conf
以下のエイリアスが記述されているのを確認します。記述がない場合には末尾に追記します。
ScriptAlias /munin-cgi/munin-cgi-graph /var/www/cgi-bin/munin-cgi-graph
CGIが動作できるようディレクトリの所属グループをapache(apacheのユーザー名を変更している場合には、そのapacheユーザーが所属するグループ)に変更します。
$ sudo chgrp apache /usr/share/munin/munin-graph $ sudo chgrp apache /var/log/munin /var/log/munin/munin-graph.log $ sudo chmod g+w /var/log/munin /var/log/munin/munin-graph.log $ sudo chgrp -R apache /var/www/html/munin/ $ sudo chmod -R g+w /var/www/html/munin/
ズーミンググラフが表示されない場合には、apacheのエラーログを確認し「Permission denied」ならディレクトリの権限や所有者、所属グループの確認を行います。
「File does not exist: /var/www/html/munin/munin-cgi」のようなエラーは上記のエイリアスに問題がないか、/var/www/html/munin/munin-cgiが存在するかなどを確認してみてください。