ganglia分布式监控(RPM方式)
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。 每台计算机都运行一个收集和发送度量数据的名为 gmond 的守护进程。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。所有这些数据多次收集会影响节点性能。网络中的 “抖动”发生在大量小消息同时出现时,可以通过将节点时钟保持一致,来避免这个问题。 gmetad可以部署在集群内任一台节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中。 由RRDTool工具处理数据,并生成相应的的图形显示,以Web方式直观的提供给客户端。
软件下载:
系统环境:RHEL6.0 selinux and iptables off
server:192.168.0.2
####配置编译环境
yum install rpm-build libpng-devel libart_lgpl-devel gcc-c++ make python-devel pcre-devel subversion
libxslt expat-devel rrdtool-devel freetype-devel apr-devel httpd php automake autoconf libtool
rpm -ivh libconfuse-2.6-3.el6.x86_64.rpm
rpm -ivh libconfuse-devel-2.6-3.el6.x86_64.rpm4
####编译生成RPM包
rpmbuild ~
rpmbuild -tb ganglia-3.2.0.tar.gz
####编译完成,在/root/rpmbuild/RPM/x86_64
cd /root/rpmbuild/RPMS/x86_64
按依赖关系装
rpm -ivh libganglia-3.2.0-1.x86_64.rpm
rpm -ivh ganglia-gmetad-3.2.0-1.x86_64.rpm
rpm -ivh ganglia-gmond-3.2.0-1.x86_64.rpm
####编辑和ganglia有关的文件
vim /etc/ganglia/gmond.conf
....
cluster {
name="
my cluster"
owner="unspecified"
latlong="unspecified"
url="unspecified"
}
....
tar -zxf ganglia-3.2.0.tar.gz
cd ganglia-3.2.0
cp -r web/ /var/www/html/ganglia
cd /var/www/html/ganglia chown apache dwoo/ #apache用户对此目录有写权限
cp version.php.in version.php
cp config.php.on config.php
vim config.php
....
#where gmetad stores the rrd archives.
$gmetad_root="
/var/lib/ganglia";
$rrd="$gmetad_root/rrds";
#where Dwoo(PHP templatinf engine) store compiled templates.
$dwoo_compiled_dir="
/var/www/html/ganglia/dwoo"
....
执行which rrdtool
显示/usr/bin/rrdtool
####启动ganglia服务
/etc/init.d/gmetad start
/etc/init.d/gmond start
/etc/init.d/httpd start
####若启动gmond服务失败,则执行下面命令,开启多播
route add -host 239.2.11.71 dev eth0
GOOD LUCK!!!!
若你在参考过程中发现了任何错误,
或你有什么建议,
欢迎mail到yungho@yeah.net
一起交流学习
阅读(1987) | 评论(0) | 转发(0) |