Ganglia

Ganglia集群监视项目,包括gmond、gmetad以及一个Web前端
Gmond :是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息 如果他是一个发送者(mute=no)他会收集基本指标,比如系统负载(load_one),CPU利用率。他同时也会发送用户通过添加C/Python模块来自定义的指标。 如果他是一个接收者(deaf=no)他会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中。

Gmetad:也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD(RoundRobinDatabase,用于记录固定数目,具有循环特性,并且在当前时间点有特定值的数据)存储引擎中。他可以查询多个集群并聚合指标。他也被用于生成用户界面的web前端。

Ganglia-web :顾名思义,他应该安装在有gmetad运行的机器上,以便读取RRD文件。 集群是主机和度量数据的逻辑分组,比如数据库服务器,网页服务器,生产,测试,QA等,他们都是完全分开的,你需要为每个集群运行单独的gmond实例。
Ganglia_第1张图片
Ganglia_第2张图片

配置:
/usr/local/ganglia/etc/gmetad.conf
/usr/local/ganglia/etc/gmond.conf
/home/gangliaInstall/ganglia/ganglia-web-3.5.10/ganglia-web-3.5.10/ganglia-web/debian/conf.php

data_source "mycluster" THadoop1 THadoop2 THadoop3 THadoop4 THadoop5 THadoop6 TH
adoop7 THadoop8
xml_port  8651
interactive_port  8652
rrd_rootdir  "/home/gangliaInstall/ganglia/rrds"
case_sensitive_hostnames  0

data_source参数定义了集群名字,以及集群中的节点。由于采用multicast模式,每台gmond节点都有本Cluster1内节点机器的所有监控数据,因此不需要把所有节点写入data_source中。建议写入不低于2个,在host1节点死机的时候,会自动找host2节点取数据。
xml_port定义了一个收集数据汇总的交互端口,如果不指定,默认是8651,可以通过telnet这个端口得到监控管理端收集到的客户端的所有数据。
interactive_port 定义了Web端获取数据的端口,这个端口在配置Ganglia的web监控界面时需要指定。
rrd_rootdir参数定义了rrd数据库的存放路径,gmetad收集到监控数据后,会更新到该目录下的对应的rrd数据库中。

启动
service gmetad start
其他命令/etc/init.d/gmetad {start|stop|restart|status}

地址:
http://10.185.28.94/ganglia

监控Hadoop集群需要配置
/letv/data/hadoop-2.6.0/etc/hadoop/hadoop-metrics.properties

Ganglia安装后会有两个进程,gmond gmetad。数据以xml方式显示
gmetad 负责对已有 监控数据的汇集工作,默认端口8651
gmond负责对本机状态的监控以及数据的发送,默认端口8649
ganglia的数据收集有推拉两种模式,gmond支持数据推送,gmetad是拉数据。

rrds目录:
/home/gangliaInstall/ganglia/rrds

参考教程:
http://ixdba.blog.51cto.com/2895551/1761003
http://www.uml.org.cn/sjjm/201305171.asp
http://www.dataguru.cn/article-3816-1.html
http://blog.csdn.net/iam333/article/details/16358509
http://sofar.blog.51cto.com/353572/1367205

你可能感兴趣的:(ganglia)