架构图
在《ganglia系统监控》书中截图基础上修改,具体架构和原理介绍见参考链接中的《ganglia系统监控》一书的链接
配置epel源
配置centos支持epel源,用于安装ganglia相关程序。Debian系列不需要额外配置,官方源就有ganglia。
根据系统版本,在以下连接中找到对应的epel-release-5-4.noarch.rpm
http://dl.fedoraproject.org/pub/epel/
如centos5.6 32位
下载
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
安装
rpm -ivh epel-release-5-4.noarch.rpm
清理缓存
yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors
查看是否有ganglia包
yum list ganglia*
ganglia.i386 3.0.7-1.el5 epel
ganglia-devel.i386 3.0.7-1.el5 epel
ganglia-gmetad.i386 3.0.7-1.el5 epel
ganglia-gmond.i386 3.0.7-1.el5 epel
ganglia-web.i386 3.0.7-1.el5 epe
安装配置过程
ganglia服务端(gmetad/httpd)
系统环境:Centos5.6
1.安装gmetad/gmond/ganglia-web
yum install rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php
将ganglia-web源码拷贝到apache目录
scp cp -r /usr/share/ganglia/* /var/www/html/
2.编辑配置文件
vim /etc/gmetad.conf
------------------------------------------
data_source “Cbas” 192.168.200.151:8655 #所要监控的客户端(如果是广播方式,且每个节点都收集数据每个只需指定集群的任意一台就行)
data_source “Cloud” 10.0.0.182:8656 #第二个集群
setuid_username “root” #可改为其他安全用户
rrd_rootdir “/data/ganglia/rrds” #默认就是这个路径(如果自定义记得同时改web下的conf.php)
3.启动相关程序
service gmetad start
service httpd start
4.Apache密码验证
通过web方式访问ganglia不需要密码,所以我们通过apache设置密码达到安全目的。
htpasswd -c /etc/httpd/conf.d/passwords {your_name}
cd /var/www/html/ganglia
vi .htaccess // 创建apache目录密码文件,并写入下面内容
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/httpd/conf.d/passwords
Require user {your_name}
vi /etc/httpd/conf/httpd.conf
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride None
</Directory>
修改为:
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride AuthConfig
</Directory>
重启apache服务:service httpd restart
ganglia客户端(gmond)
系统环境:Centos/Debian
安装gmond
Centos:yum install ganglia-gmond
Debian: apt-get install ganglia-monitor
添加开机启动
Centos:chkconfig gmond on
Debian: apt-get已经自动加好了
编辑配置文件(相同集群的客户端拷贝同一份配置文件就ok)
修改name和gmetad配置名称一致即可
Centos: vim /etc/gmond.conf(如果木有,使用gmond -t > /etc/gmond.conf 生成)
Debian: vim /etc/ganglia/gmond.conf
--------------------------------------------
cluster {
name = “Cbas”
owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}
被监控hadoop节点配置
vim HADOOP_HOME/conf/hadoop-metrics.properties
添加以下内容,如果hadoop版本是0.20.2及以下则将下述"org.apache.hadoop.metrics.ganglia.GangliaContext31"替换为"org.apache.hadoop.metrics.ganglia.GangliaContext".
具体说明见参考链接“ganglia获取hadoop性能参数”
-------------------------------------------------------
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
dfs.period=10
dfs.servers=239.2.11.71:8649
mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
mapred.period=10
mapred.servers=239.2.11.71:8649
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
jvm.period=10
jvm.servers=239.2.11.71:8649
rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
rpc.period=10
rpc.servers=239.2.11.71:8649
报错解决
浏览器打开ganglia的web页面时报错
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
解决办法(关闭selinux)
setenforce 0
tips
1.关于gmetad程序的data_source多ip之间的关系
如:data_source “Cbas” 192.168.200.151:8655 192.168.200.152:8655
并不是按顺序逐一取一遍数据,实际上192.168.200.151和152是备份关系,即151取不到数据才用152。
2.关于gmond配置文件中udp_send_channel、udp_recv_channel、tcp_accept_channel的作用和相互关系
udp_send_channel
作用:配置gmond程序数据往哪里发。
默认往组播地址239.2.11.71:8656发送本机的监控数据(组播模式)
mcast_join = 239.2.11.71
port = 8656
可以设置往指定gmond发(单播模式),接收gmond一般就是data_source中指定的ip。host和mcast_join参数只能选其一。
host = 192.168.200.151
port = 8656
udp_recv_channel
作用:设置怎样接收其它gmond发出的性能数据
默认指定加入组播239.2.11.71:8656,任何发往该组播地址的数据都能接收(组播模式)
mcast_join = 239.2.11.71
port = 8656
可以指定只接收发给自己的数据(单播模式)
port = 8656
bind = 192.168.200.151 #可选参数,指定监听某个本地ip
tcp_accept_channel
作用:设置gmond监听的tcp端口,提供给gmetad获取监控数据
默认端口8649
三者之间的关系
File:C:/Users/Tan/AppData/Local/YNote/Data/tanwu_2006@163.com/964939c9e5de486f912c5c9294aadc2e/clipboard.png
参考资料
官网文档:http://sourceforge.net/apps/trac/ganglia
ganglia获取hadoop性能参数:http://wiki.apache.org/hadoop/GangliaMetrics
ganglia中文介绍:http://www.cnblogs.com/wukenaihe/archive/2013/03/21/2972837.html
《ganglia系统监控》中文版前两章:http://wenku.it168.com/d_001240738.shtml
apache验证参考:http://heipark.iteye.com/blog/1183270
ibm文档:http://www.ibm.com/developerworks/cn/linux/l-ganglia-nagios-1/