1.前言
Munin 是一款类似 RRD tool 的优秀系统监控工具,它能提供给你多方面的系统性能信息,例如 磁盘、网络、进程、系统和用户。
Munin 的工作原理
Munin 以客户端-服务器模式运行,主服务器上运行的 Munin 服务器进程会从本地运行的客户端守护进程(Munin 可以监控它自己的资源)或者远程客户端(Munin 可以监控上百台机器)收集数据,然后在它的 web 界面上以图形的方式显示出来。
在服务器中配置 Munin
2.安装
要配置服务器端和客户端,我们需要完成以下两步。
安装 Munin 服务器软件包并配置,使得它能从客户端收集数据。
安装 Munin 客户端,使得服务器能连接到客户端守护进程进行数据收集。
2.1 在 Linux 上安装 munin 服务器端
在基于 Redhat/CentOS 的机器上安装 Munin 服务器:
在基于 Redhat 的机器上安装 Munin 之前,你需要确保 启用 EPEL 软件仓库,因为基于 Redhat 的机器的软件仓库默认没有 Munin,下载EPEL 的rpm 安装包(下载对应版本):
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
下载完成后,通过以下命令安装EPEL 软件包
rpm -ivh epel-release-6-8.noarch.rpm或rpm -ivh epel-release*
安装好EPEL 源后,用yum 命令来检查是否添加到源列表:
# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vonline.vn
* epel: buaya.klas.or.id
* extras: centos-hn.viettelidc.com.vn
* updates: mirrors.fibo.vn
repo id repo name status
base CentOS-6 - Base 6,381
epel Extra Packages for Enterprise Linux 6 - x86_64 10,023
extras CentOS-6 - Extras 13
nginx nginx repo 47
updates CentOS-6 - Updates 1,555
repolist: 18,019
EPEL已经在repo 后列出,并且显示提供了上万个软件包,所以EPEL 已经安装到你的CentOS了,EPEL源的配置安装到了/etc/yum.repos.d/epel.repo 文件。
然后就可以直接安装munin了,执行命令:
yum install munin httpd
2.2 在 Linux 上配置 Munin 服务器端:
下面是我们要在服务器上启动 Munini 所进行的步骤:
步骤 1:在 /etc/munin/munin.conf 中添加需要监控的主机详情。
在 /etc/munin/munin.conf 文件中添加主机条目,调到文件末尾添加要监控的客户端。在这个例子中,我添加了要监控的数据库服务器和它的 IP 地址。
[local.127-0-0-1]
address 127.0.0.1
use_node_name yes
保存文件并退出。
步骤 2:配置httpd web 服务器使其包括 munin 配置。
在 /etc/httpd/conf.d 目录中编辑或创建文件 munin.conf 用于包括 Munin 和 httpd 相关的配置
vi /etc/httpd/conf.d/munin.conf
内容:
<Directory /var/www/html/munin>
AuthUserFile /etc/munin/munin-htpasswd
AuthName "munin"
AuthType Basic
require valid-user
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 172.0.0.0/24
</Directory>
保存文件并退出。
步骤 3:为 web 界面创建用户名和密码。
现在为查看 munin 的图示而创建用户名和密码:
htpasswd -c /etc/munin/munin-htpasswd munin
步骤4:munin配置
[root@CentOS5-A munin]# cat /etc/munin/munin.conf |grep -v ^#|grep -v ^$
dbdir /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir /var/run/munin
tmpldir /etc/munin/templates
includedir /etc/munin/conf.d
graph_strategy cron
html_strategy cron
[local.127-0-0-1]
address 127.0.0.1
use_node_name yes
步骤5:检查权限
将 /var/www/munin, /var/lib/munin, /var/log/munin/, /var/run/munin的权限都修改为munin:munin 例如:chown munin:munin /var/www/munin
切换到munin用户,su munin
执行/usr/bin/munin-cron,看看有什么报错,如果是权限问题就修改权限
步骤 6:重启 httpd 服务器。
重启 httpd 服务器,使得 Munin 配置生效
基于 Centos/Redhat :
service httpd restart
查看生成的静态html文件:

3、在 Linux 上安装和配置 Munin 客户端:
步骤 1:在 Linux 上安装 Munin 客户端。
yum install munin-node
注意:如果你想监控你的 Munin 服务器端,你也需要在服务器端安装 munin-node。
步骤 2:编辑 munin-node.conf 文件配置客户端。
vi /etc/munin/munin-node.conf
示例:
allow ^127\.0\.0\.1$
# 监听到哪个地址上
host *
# 以及哪个端口
port 4949
步骤 3:在客户端机器中重启 munin-node:
service munin-node restart
步骤4:直接telnet测试,端口默认是配置为4949的
$ telnet 127.0.0.1 4949
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
munin node at machinename
查看list命令等
3.展示效果
http://web服务器IP/munin
效果:
4.日志说明
监控机产生四个日志文件,在/var/log/munin目录下:munin-graph.log,munin-html.log,munin-limits.log,munin-update.log
被监控机产生一个日志文件,同样在/var/log/munin目录下:munin-node.log
被监控机的插件目录在/etc/munin/plugins目录。