Munin是一个网络资源监控工具,通过自带插件可以监控很多系统服务,需要在web server上运行。官网:
munin使用常见的client-server模式,client端使用名为munin-node的守护进程,server端没有服务,只是通过计划任务每5分钟通过脚本读取配置文件来取配置文件中预先定义好的节点服务器信息保存为rrd格式。最终程序通过rrd文件生成静态的图像和html文件。
munin有如下几个优越特性:
1、munin完全由perl编写,因此node端的大多数插件都是perl脚本编写的,当然可以随用户喜好使用自己顺手的语言编写插件。
2、通过插件可以实现snmp信息的读取
3、通过nsca插件可以结合nagios发送被动检查结果
4、无需后端数据库支持
环境:
系统 CentOS 6.4
监控机IP 192.168.55.135
被监控机IP 192.168.55.136
一、监控机配置(Munin master)——server
1、安装munin
(1) 安装apache(可省):
yum install httpd
(2) 安装EPEL源
rpm -Uvh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
(3) 安装munin
yum install munin
涉及的其它软件包地址(不包含依赖包):
2、简单配置munin master
安装完后在/var/www/html会有munin目录,/etc下也有munin目录。
PS:刚安装完/var/www/html/munin目录下是没有index.html,但后面登陆时会自动生成的。
(1) 修改munin.conf文件进行简单配置
vim /etc/munin/munin.conf
(2) 将以下几行的注释去掉:
dbdir /var/lib/muninhtmldir /var/www/html/muninlogdir /var/log/muninrundir /var/run/munintmpldir /etc/munin/templates
(3) 将以下监控本机的代码注释掉:
#[localhost]# address 127.0.0.1# use_node_name yes
(4) 同时添加被监控机地址:
[mytest.192-168-55-136]address 192.168.55.136use_node_name yes
use_node_name命令控制munin命名节点的方式,如果后面跟的参数为yes就是用括号中的值来命名,如果是no则将执行一个DNS查询。
3、设置登陆用户和密码:
建立一个名为muninadmin的用户,需要输入两遍密码。
htpasswd -c /etc/munin/munin-htpasswd muninadmin
4、启动crond服务
service crond start
5、重启httpd
service httpd restart
二、被监控机配置(munin node)——Client
1、安装munin-node
(1) 安装EPEL源
rpm -Uvh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
(2) 安装munin-node
yum install munin-node
涉及的其它软件包地址(不包含依赖包):
2、配置munin node
(1) 修改munin-node.conf文件进行简单配置
vim /etc/munin/munin-node.conf
找到:
allow ^127\.0\.0\.1$
这里是表示允许谁来获取信息,在下面加上监控机IP:
allow ^192\.168\.55\.135$
3、启动munin-node
service munin-node start
三、测试
1、访问http://监控机IP/munin
输入前面设置的用户名和密码登陆。如果验证用户名和密码后,页面显示Index of munin说明index.html没有生成,看日志是因为没有nodes,检查配置是否有错,ip是不是写错了。
2、日志文件
监控机会产生四个日志文件,在/var/log/munin目录下:munin-graph.log,munin-html.log,munin-limits.log,munin-update.log
被监控机产生一个日志文件,同样在/var/log/munin目录下:munin-node.log
被监控机的插件目录在/etc/munin/plugins目录。