说明
xuchao向我推荐的监控软件Ganglia,一直没有机会尝试。正巧,有一个项目安装了集群,需要一些基本的监控,所以参考 Installing and configuring Ganglia on CentOS 5.x 一文做了快速的部署。原文写得非常简明清晰,所以参考安装非常顺利,大约只花费了1个小时多点就部署完成,可以算是比较精简实用的安装过程。
不过,要真正掌握,尚需要沉下心好好钻研,后续再和大家讨论了。
- gmond – Ganglia monitoring daemon Gmond的任务是搜集系统的性能信息,并跟踪其他运行在群集中的gmond。如果一个节点的gmond服务故障,其他的gmond将知道这个事件。在被 监控系统的每个节点上都运行gmond。
- gmetad – gmetad是只需要运行在群集的主节点。gmetad的任务是每15秒搜集所有gmond服务的性能信息并存储在RRDtool
round-robin
数 据库中(在一个round-robin
数据库中,数据库永远不会把新数据覆盖旧数据)。最后,gmetad还负责在 Apache Web服务器上显示信息。 - Ganglia Web软件包要求PHP安装在群集主节点来显示信息
安装主节点
- 安装EPEL (Extra Packages for Enterprise Linux) 软件包
添加/etc/yum.repos.d/EPEL.repo
1
2
3
4
|
然后执行
1
|
yum upgrade |
- 安装Ganglia软件包
1
|
yum install rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php |
- 默认情况下,Ganglia使用多播或UDP来传递信息。
- 项目安装中,主节点IP地址是 10.64.2.97, 端口号是8649。编辑
/etc/gmond.conf
如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
cluster { name = "My Cluster" owner = "Me" latlong = "unspecified" url = "unspecified" } udp_send_channel { host = 10.64.2.97 port = 8649 ttl = 1 } udp_recv_channel { port = 8649 } |
注意,在/etc/sysconfig/iptables
中配置允许本地局域网内网接口无限制访 问。
1
|
-A RH-Firewall-1-INPUT -s 10.64.2.0/255.255.255.0 -j ACCEPT |
- 配置服务器启动时启动服务gmond
1
2
|
chkconfig --levels 235 gmond on service gmond start |
- 配置
/etc/gmetad.conf
定义数据源
1
|
data_source "My Cluster" 10.64.2.97:8649 |
- 配置服务器启动时启动服务gmetad
1
2
|
chkconfig --levels 235 gmetad on service gmetad start |
- 配置httpd服务启动时启动
1
2
|
chkconfig --levels 235 httpd on service httpd start |
安装被监控节点
- 安装EPEL (Extra Packages for Enterprise Linux) 软件包
添加/etc/yum.repos.d/EPEL.repo
1
2
3
4
|
然后执行
1
|
yum upgrade |
- 安装信息搜集服务
1
|
yum install ganglia-gmond |
- 配置服务器启动时启动服务
1
|
chkconfig --levels 235 gmond on |
- 将主节点
/etc/gmond.conf
配置文件复制到所有被监控节点
1
|
scp 10.64.2.97:/etc/gmond.conf /etc/gmond.conf |
- 启动服务
1
|
service gmond start |
不需要重启主节点服务,就可以刷新到新的节点加入到监控群集中!
访问管理界面
- 访问 http://10.64.2.97/ganglia 可以看到监控群集的负载情况
配置apache访问简单认证
暴露在internet上的监控系统是不安全的,这里简单配置基于apache的密码认证,以确保只有特定账号的管理员才能够访问ganglia管理界面。
- 创建访问账号
1
|
htpasswd -c /etc/httpd/conf.d/passwords rbowen |
- 查看
/etc/httpd/conf.d/ganglia.conf
可以看到有关ganglia的访问文件位于/usr/share/ganglia
,所以在该目录下创建一个.htaccess
文件
1
2
3
4
|
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/httpd/conf.d/passwords Require user rbowen |
- 修改httpd.conf
将以下配置
1
2
3
4
|
<Directory /> Options FollowSymLinks AllowOverride None </Directory> |
修改为
1
2
3
4
5
|
<Directory /> Options FollowSymLinks #AllowOverride None AllowOverride AuthConfig </Directory> |
- 重启httpd
1
|
service httpd restart |
参考
其 他信息
- Gmetric Script Repository 提供了有关Ganglia Gmetric脚本库
- Ganglia 和 Nagios,第 1 部分: 用 Ganglia 监视企业集群 IBM develperWoks网站提供了详尽的介绍ganglia和nagios的资料