muninのインストール

EC2を利用するとCPUやメモリ、ネットワークといった リソース使用率をコンソールからグラフで確認できます。

Apacheのプロセス数やMySQLのスレッド数といったより詳しい情報を グラフ化するために、muninというツールをインストールします。

EC2のAmazon Linux AMIベースの環境にmuninをインストールする場合は、 http://fedoraproject.org/wiki/EPEL よりepelリポジトリを追加して yumでインストールすることができます。

yum install munin munin-node

Apacheの設定ファイルを一つ追加して/muninからアクセスできるようにします。

vim /etc/httpd/conf.d/munin.conf  

LoadModule status_module modules/mod_status.so
ExtendedStatus On
Alias /munin /var/www/html/munin
<Location /server-status>
   SetHandler server-status
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1
   Allow from localhost
</Location>

Basic認証のパスワードを設定します

htpasswd -cb /etc/munin/munin-htpasswd user password

サービスを起動します。

service munin-node start
chkconfig munin-node on

ここまででmuninのインストールは完了です。munin-nodeを起動してからしばらくすると/var/www/html/muninフォルダに諸々監視結果が自動生成され、「http://{ホスト名}/munin」にアクセスすることでディスクの使用状況CPUのステータスなどのグラフが表示できます。

apacheのプロセス数やアクセス数をグラフ表示するには下記のコマンドでプラグインを有効にします。

ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume

また、下記のコマンドで現時点でのapacheのプロセス数を確認できます。

munin-run apache_accesses auto

プロセス数が数字でなくUと表示される場合は、mod_statusのが有効になっていないか、/server-statusにlocalhostにアクセスできていない可能性があります。

また、wordpressをインストールしている環境では.htaccessのmod_rewriteの設定に下記の行を追加して「/server-status」へのアクセスはリライトしないように設定します。

RewriteRule ^server-status$ - [L]

MySQLのプラグインは下記のコマンドで有効化します。

ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes
ln -s /usr/share/munin/plugins/mysql_isam_space_ /etc/munin/plugins/mysql_isam_space_
ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/mysql_threads

muninからmysqlにアクセスするために下記の設定ファイルを編集します

vim /etc/munin/plugin-conf.d/munin-node

[mysql*]
env.mysqlopts -u root -pパスワード
env.mysqladmin /usr/bin/mysqladmin

最後に、munin-nodeサービスを再起動してしばらくするとmuninの画面にapacheとmysqlのメニューが追加されます。

service munin-node restart