nginx で サーバ監視ツール、munin を動かす
最近ホットなサーバ監視ツール、munin。
詳しいスライドはこちらが分かりやすい。
私が管理しているサーバにも導入してみました。
実際には Apache + munin の導入事例が多いですね。
しかし、私の場合は nginx + munin だが、ちょっと少ないので、忘備録として記録したいと思います。
まず、munin を入れよう
(ここではドメインを「www.domain.com」を前提にします)
yum で EPEL 指定でインストール。
# yum --enablerepo=epel -y install munin munin-node
munin.conf を変更します。
# vi /etc/munin/munin.conf
99行あたりに下記の内容を追加します。
[www.domain.com]
address 127.0.0.1
user_node_name yes
# vi /etc/munin/munin-node.conf
29行目にある hostname を変更します。
host_name www.domain.com
次に、nginx の conf 設定をしよう
munin-node ファイルの最後に nginx で動かすための設定をします。
# vi /etc/munin/plugin-conf.d/munin-node
[nginx*]
env.url http://localhost/nginx_status
www.domain.com へのサーバ監視を munin.domain.com でチェックできるように、nginx の virtual.conf ファイルを編集します。
htpasswd ファイルを設置することで、ログインしてアクセスするようにしておきます。
# vi /etc/nginx/conf.d/virtual.conf
server {
listen 80;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
server {
listen 80;
server_name munin.domain.com;
access_log /var/log/nginx/munin.domain.access.log main;
error_log /var/log/nginx/munin.domain.error.log;
root /var/www/html/munin;
index index.html;
location / {
auth_basic "Restricted";
auth_basic_user_file /var/www/html/munin/.htpasswd;
}
}
htpasswd ファイルをつくろう
下記の [username] をログインユーザー、[passwd] をパスワードに置き換えてコマンドを実施します。
# htpasswd -cd .htpasswd [username] [passwd]
そうすると、コマンドを実施した場所に、「.htpasswd」が生成されます。
その「.htpasswd」は「/var/www/html/munin/」へ置きます。
最後に munin を起動、nginx を再起動しよう
全ての設定を有効するために起動します。
# /etc/init.d/munin-node restart
# /etc/init.d/nginx restart
5分くらいたてば、「munin.domain.com」へアクセスできるようになります。