配置munin

以前给博客配置过munin,后来搬家的时候扔掉了。这两天心血来潮又把munin搭了起来,为防以后遗忘配置步骤,干脆写篇文章放着吧。

环境是centos 6.5,nginx 1.6。

一、安装munin
首先安装epel软件源(fedora的话不需要),这里不再赘述。装好epel后,执行:

yum install munin

会把munin及munin-node安装上去。
默认的静态文件(html,js,css等)目录是/var/www/html

二、配置nginx
这里是创建一个virtual host,然后在其server段写入如下配置:

server
{
  listen 80;
  access_log logs/server-access_log;
  server_name your.vhost.name;
  server_name_in_redirect off;
  root  /var/www/html;
  location /munin {
    auth_basic "Login";
    auth_basic_user_file /var/www/.htpasswd;
  }
}

然后生成.htpasswd文件,用于页面访问认证(想让所有人都能看到munin输出的话可以忽略这步,并且将上面配置中的auth_xxx删掉):

htpasswd -c /var/www/.htpasswd admin

如果提示没有htpasswd这个命令,则需要安装httpd-tools这个包。
admin是用来登陆的用户名,可随意指定。

另外如果nginx的配置中没有启动http_stub_status_module模块,还需要server字段里加入下面这段,在nginx.conf里加或者vhost的conf里加都行:

location /nginx_status {
  stub_status on;
  access_log   off;
}

配置完成后,重启nginx。

三、配置munin
munin是服务器端,munin-node是客户端,因为是要监视本机,所以都需要配置。
先给munin用户创建个cron任务:

sudo -u munin crontab -e
*/5 * * * * /usr/bin/munin-cron

主要配置文件如下:
/etc/munin/plugin-conf.d/munin-node
/etc/munin/munin.conf
/etc/munin/munin-node.conf
如果懒得调了,保持默认也没啥问题。

比如munin-node里能设一下取nginx参数的路径:

[nginx*]
env.url http://localhost/nginx_status

配置完后,重启下munin-node服务,然后将其设置为开机启动(可选)。
测试一下,如果按照上文配置了[nginx*]字段,则执行:

munin-run nginx_request

出现类似“request.value 3”这样的输出则表示一切正常,如果是“request.value U”,就是什么地方出问题了。

没问题的话,接下来就可以访问http://your.vhost.name/munin/,看看效果吧。
注意要确保至少运行了一次munin-cron命令,否则页面会报403错误。可以手动执行munin-cron:

sudo -u munin munin-cron

因为设的是每5分钟取一次值,所以得等一会才能看到状态曲线。

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

Leave a Reply

Your email address will not be published. Required fields are marked *