Tags:, Posted in 系统监控 1 Comment

说明

xuchao向我推荐的监控软件Ganglia,一直没有机会尝试。正巧,有一个项目安装了集群,需要一些基本的监控,所以参考 Installing and configuring Ganglia on CentOS 5.x 一文做了快速的部署。原文写得非常简明清晰,所以参考安装非常顺利,大约只花费了1个小时多点就部署完成,可以算是比较精简实用的安装过程。
不过,要真正掌握,尚需要沉下心好好钻研,后续再和大家讨论了。
本文主要基于CentOS/Red Hat Linux系统,以发行版本软件包为主,快速部署监控系统,完成对群集的监控。
Ganglia :用于高性能计算机系统,如集群和网格,的可伸缩分布式监控系统。
Ganglia包含2个服务进程,并且要求系统安装PHP,RRDtool,Apache:
  • 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
[epel]
name=Epel from fedora
gpgcheck=0

然后执行

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
[epel]
name=Epel from fedora
gpgcheck=0

然后执行

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

不需要重启主节点服务,就可以刷新到新的节点加入到监控群集中!

访问管理界面

配置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

参考

其 他信息