Less is Best

rubyが好き。技術の話とスタートアップに興味があります。

munin のインストール

munin のインストール 参考 直近でwebサービスをリリースしようと考えているので、サーバー監視をするためにmuninをインストールしました。

まずはインストール

$ yum --enablerepo=epel install munin munin-node

$ sudo /sbin/chkconfig munin-node on
$ sudo htpasswd -c /etc/munin/munin-htpasswd username

$ sudo vi /etc/httpd/conf.d/vhost.conf

virtualhostで動かしていたので、muninもそちらで動くよう設定

<virtualhost *:80>
ServerName sample.com
DocumentRoot /var/www/html/munin

<directory /var/www/html/munin>
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
require valid-user

ExpiresActive On
ExpiresDefault M310
</directory>

muninの監視するサーバーの指定

$ vi /etc/munin/munin.conf
dbdir   /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir  /var/run/munin

・
・
・

[sample2.com]
    address 127.0.0.1
    use_node_name yes
$ sudo /sbin/service munin-node start
$ sudo /sbin/service httpd restart

サーバー監視される側の設定。ホスト名の指定。 $ vi /etc/munin/munin-node.conf

host_name sample2.com

muninの使用するipを空けてあげる。

$ vi /etc/sysconfig/iptables
-A SERVICES -p tcp --dport 4949 -j ACCEPT
$ sudo service iptables restart

さらに、Apacheの監視を行う参考

# ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/
$ vi /etc/httpd/conf.d/status.conf
<IfModule mod_status.c>
    ExtendedStatus On
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
</IfModule>

apache再起動

# /etc/init.d/httpd configtest
# /etc/init.d/httpd graceful

サーバーステータスの確認

# wget -q -O - http://127.0.0.1/server-status/?auto

こんな感じで見られるようになりますのでApacheのチューニングに役立ちます。 Webサーバには入れておきたいプラグインですね。