在成功部署openstack集群后,为了需要实时掌握集群的运行情况,需要部署一套监控系统,以了解系统的运行情况,对于监控系统有很多开源软件功能上都很强大,例如nagios、cacti、zabbix,尤其是zabbix的功能,不过功能强大了配置起了也就麻烦了,现在介绍一个监控组合:munin和collect。munin用来监控compute,对于vm实例使用munin和collect,munin可以监控一些系统的运行情况:cpu、内存、disk之类的。collect则可以监控实例上的一些应用层服务。这两个软件都有一个特点就是部署起来方便,不需要设置过多的参数就可以出效果图。
munin部署环境
munin是由master和agent构成的,agent收集数据发送到master,master把这些数据存贮到rrd中,然后通过图片显示出来。
本篇文章中munin使用环境:ubuntu12.04、ubuntu12.10、debian6
master运行在ubuntu12.04上面,客户端运行在ubuntu12.10和debian6,所有安装采用apt安装,ubuntu12.04 munin版本为1.4.6、ubuntu12.10 munin版本为2.0.2、debian6 munin版本为1.4.5。
munin服务端(10.1.6.104)安装
apt-get -y install apache2 munin munin-node munin-plugins-extra安装完成后,主配文件都在 /etc/munin目录下,munin目录结构如下 :
munin ├── apache.conf #web配置文件 ├── munin.conf #服务端配置文件 ├── munin-conf.d #空目录,可以把munin-conf.d分模块放在其中,通过include包含 ├── munin-node.conf #客户端配置文件 ├── plugin-conf.d #插件配置目录 ├── plugins #插件目录,插件一般在/usr/share/munin/plugins目录下 └── templates #模版目录
初始化调整
1 修改/etc/munin/munin-node.conf
#在allow ^127\.0\.0\.1$这一项前面加如下,这是所有客户端都要设置的,其实在服务端 #也可以不用设置,ip地址为服务端ip地址,是指允许客户端和哪个ip进行通讯,采用perl #正则进行匹配 allow ^10\.1\.6\.104$ #修改host选项,把默认的*改为0.0.0.0,可以不用修改,默认监听在ipv6地址上面,也可 #以不用修改 host 0.0.0.02 修改/etc/munin/ munin.conf
#把默认的host tree修改为如下,为了显示起来好看,也可以不用修改 [py-6.104] address 10.1.6.104 use_node_name yes3 进入/etc/apache2/conf.d目录,添加/etc/munin/apache.conf文件,在ubuntu12.10版本中会自动添加该文件的连接,在其他版本中则需要手动添加
ln -s /etc/munin/apache.conf
4 修改/etc/munin/apache.conf,因为默认web界面只允许服务端本机访问,加入你的本地ip
Order allow,deny Allow from localhost 127.0.0.0/8 ::1 Allow from 10.1.6.x
5 重启apache和munin-node服务,在浏览器汇总输入http://10.1.6.104/munin即可查看
/etc/init.d/munin-node restart /etc/init.d/apache2 restart
6 结果,点击相应的监控项则会看到数据图
munin客户端(10.1.6.13)安装
#基本软件 apt-get -y install munin-node munin-plugins-extra munin-libvirt-plugins #在ubuntu12.10上还可以安装munin-plugins-openstack插件 apt-get -y install munin-plugins-openstack还可以在git上下载更多的插件,只要把插件拷贝到相关目录,并配置好就可以使用了
#如果是其他平台,则软件仓库中没有相应的包,需要到git下载 git clone https://github.com/munin-monitoring/contrib.git
安装完成后,主配文件都在 /etc/munin目录下,munin目录结构如下:
munin/ ├── munin-node.conf #客户端配置文件 ├── plugin-conf.d #插件配置目录 └── plugins #插件目录,是软连接
1 修改/etc/munin/ munin-node.conf,和服务端的修改方法一样
allow ^10\.1\.6\.104$ host 0.0.0.0
2 因为客户端安装了munin-libvirt-plugins插件,而munin-libvirt-plugins默认是不启动的,下来启动该插件,执行以下命令
munin-libvirt-plugins-detect该命令会自动把/usr/share/munin/plugins/目录下的插件连接至/etc/munin/plugins目录,并在/etc/munin/plugin-conf.d目录进行配置
3 重启客户端服务
/etc/init.d/munin-node restart4 修改服务端配置文件 /etc/munin/ munin.conf,添加如下配置
[vm-6.13] address 10.1.6.13 use_node_name yes5 修改服务端的/etc/hosts文件,添加相应的记录
10.1.6.13 vm-6.136 添加多个客户端,结果如下
7 单个实例的数据图
是不是很方便啊,只需要简单的额配置就可以搭建一个监控系统,munin的插件都是用shell、perl脚本写成的,你也可以自己扩展一下。下一篇讲解instance monitor