munin是用于Linux系统(也可以监控windows系统)的监控软件。munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值。整个系统的架构简单明了,操作方便。如果是使用Debian或者Ubuntu安装,安装过程也非常简单。munin除了可以监控结果,也可以设置报警。对于我个人对性能测试的工作来说,是个非常好的工具。
内容
munin整个使用下来,篇幅会有点大,包括展示、自定义插件。这边分成三个部分来说明。本次只讲安装和配置。
munin master和munin-node的安装;
web服务展示结果和动态查看结果;
插件编写与配置(mysql插件与自定义插件)。
架构示意图
munin的架构非常简单。包含一个服务端munin和一个客户端munin-node。munin-node可以部署在多台机器上面,munin用于定时向一台或者多台机器收集监控的信息。munin收集到数据后会生成静态的html文件。为了展示监控的结果,需要一个web服务器。有了web也可以随时随地访问监控结果。
在服务器中配置 Munin
要配置服务器端和客户端,我们需要完成以下两步。
安装 Munin 服务器软件包并配置,使得它能从客户端收集数据。
安装 Munin 客户端,使得服务器能连接到客户端守护进程进行数据收集。
在 Linux 上安装 munin 服务器端
在基于 Ubuntu/Debian 的机器上安装 Munin 服务器:
复制代码代码如下:
apt-get install munin apache2
在基于 Redhat/CentOS 的机器上安装 Munin 服务器:
在基于 Redhat 的机器上安装 Munin 之前,你需要确保 启用 EPEL 软件仓库,因为基于 Redhat 的机器的软件仓库默认没有 Munin。
复制代码代码如下:
yum install munin httpd
在 Linux 上配置 Munin 服务器端
下面是我们要在服务器上启动 Munini 所进行的步骤:
在 /etc/munin/munin.conf 中添加需要监控的主机详情。
配置 apache web 服务器使其包括 munin 配置。
为 web 界面创建用户名和密码
重启 apache 服务器
步骤 1
在 /etc/munin/munin.conf 文件中添加主机条目。调到文件末尾添加要监控的客户端。在这个例子中,我添加了要监控的数据库服务器和它的 IP 地址。
示例:
复制代码代码如下:
[db.linuxnix.com]
address 192.168.1.25
use_node_name yes
保存文件并退出。
步骤 2
在 /etc/apache2/conf.d 目录中编辑或创建文件 munin.conf 用于包括 Munin 和 Apache 相关的配置。另外注意一点,默认其它和 web 相关的 Munin 配置保存在 /var/www/munin 目录。
复制代码代码如下:
vi /etc/apache2/conf.d/munin.conf
内容:
复制代码代码如下:
Alias /munin /var/www/munin
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
AllowOverride None
Options ExecCGI FollowSymlinks
AddHandler cgi-script .cgi
DirectoryIndex index.cgi
AuthUserFile /etc/munin/munin.passwd
AuthType basic
AuthName "Munin stats"
require valid-user
ExpiresActive On
ExpiresDefault M310
保存文件并退出。
步骤 3
现在为查看 munin 的图示而创建用户名和密码:
复制代码代码如下:
htpasswd -c /etc/munin/munin-htpasswd munin
注意:对于 Redhat/Centos 机器,要访问你的配置文件,需要在每个路径中用 “httpd” 替换 “apache2”。
步骤 4
重启 Apache 服务器,使得 Munin 配置生效。
基于 Ubuntu/Debian :
复制代码代码如下:
service apache2 restart
基于 Centos/Redhat :
复制代码代码如下:
service httpd restart
在 Linux 上安装和配置 Munin 客户端
步骤 1
在 Linux 上安装 Munin 客户端
复制代码代码如下:
apt-get install munin-node
注意:如果你想监控你的 Munin 服务器端,你也需要在服务器端安装 munin-node。
步骤 2
编辑 munin-node.conf 文件配置客户端。
复制代码代码如下:
vi /etc/munin/munin-node.conf
示例:
复制代码代码如下:
allow ^127.0.0.1$
allow ^10.10.20.20$
# 监听到哪个地址上
host *
# 以及哪个端口
port 4949
注意: 10.10.20.20 是我的 Munin 服务器,它连接到客户端的 4949 端口获取数据。
步骤 3
在客户端机器中重启 munin-node:
复制代码代码如下:
service munin-node restart
测试连接
检查你是否能从服务器的连接到客户端的 4949 端口,如果不行,你需要在客户端机器中的防火墙打开该端口。
复制代码代码如下:
telnet db.linuxnix.com 4949
访问 Munin web 页面
http://munin.linuxnix.com/munin/index.html
希望这些能对你配置基本的 Munin 服务器有所帮助。