前言
安装ganglia过程还是很麻烦的,之前我写过一篇文章通过yum安装ganglia3.0,但是yum库中没有找到ganglia3.1和3.2的rpm包,为了尝鲜我首先安装了ganglia3.2版本,服务配置都正常就是找不到client机器,万分无奈切换到3.1.7版本,最后很顺利使用单播方式安装成功(我的服务器是双网卡,使用多播配置总是找不到client机器,配置了route还是不行,最后放弃)
安装依赖库
#添加rpmforge库到yum
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# 安装依赖, 32位的安装自己通过"yum list name"找到下面几个库就可以
yum install rrdtool.x86_64 rrdtool-devel.x86_64 expat.x86_64 expat-devel.x86_64 apr.x86_64 apr-devel.x86_64 apr-util.x86_64 apr-util-devel.x86_64 *confuse*
yum install rrdtool.x86_64 rrdtool-devel.x86_64 expat.x86_64 expat-devel.x86_64 apr.x86_64 apr-devel.x86_64 apr-util.x86_64 apr-util-devel.x86_64 *confuse*
安装ganglia
#下载ganglia 3.1.7
wget http://cdnetworks-kr-1.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz
wget http://cdnetworks-kr-1.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz
#安装
tar -zxf ganglia-3.1.7.tar.gz && cd ganglia-3.1.7
./configure --with-gmetad --sysconfdir=/etc/ganglia --enable-gexec --with-python=/usr/local/bin/python2.7
make && make install
*****************
tar -zxf ganglia-3.1.7.tar.gz && cd ganglia-3.1.7
./configure --with-gmetad --sysconfdir=/etc/ganglia --enable-gexec --with-python=/usr/local/bin/python2.7
make && make install
*****************
这里我在make的时候,发生错误“/usr/local/lib/libpython2.7.a: could not read symbols: Bad value”
解决办法:需要重装python 带上 --enable-shared 参数,如下:
./configure --enable-shared && make && make install
ganglia配置
# 准备目录
mkdir -p /var/lib/ganglia/rrds
mkdir -p /var/lib/ganglia/dwoo
mkdir -p /var/www/html/ganglia
# 确保当前目录为“ganglia-3.1.7”
# ganglia3.2在64位下要拷贝下面两个启动文件(3.1.7版本不需要),否则 service 命令找不到程序
# cp /usr/local/sbin/gmetad /usr/sbin
# cp /usr/local/sbin/gmond /usr/sbin
cp gmond/gmond.init /etc/rc.d/init.d/gmond #添加gmond到service
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad #添加gmetad到service
chkconfig --add gmond # gmond开机启动
chkconfig --add gmetad # gmetad 开机启动
cp -r web/* /var/www/html/ganglia # copy ganglia web文件倒apache
chown -R apache:apache /var/lib/ganglia/dwoo/
chown -R nobody:nobody /var/lib/ganglia/rrds/
gmond -t |tee /etc/ganglia/gmond.conf #生成gmond默认配置文件,tee的作用类似重定向符“>>”
*****************
# 几个重要的文件路径(3.2和3.1.7存放路径不一样,大家自己which和find查找吧)
/usr/local/bin/gstat #测试工具,我在多播模式下,不能使用,单播可以,奇怪....
/usr/local/sbin/gmetad #中央服务程序,通过"gmetad -d1"打印启动日志(3.17在/usr/sbin/gmetad)
/usr/local/sbin/gmond # 监控数据采集程序,通过"gmond -d1"打印启动日志(3.17在/usr/sbin/gmond)
/etc/ganglia/gmetad.conf
/etc/ganglia/gmond.conf
mkdir -p /var/lib/ganglia/rrds
mkdir -p /var/lib/ganglia/dwoo
mkdir -p /var/www/html/ganglia
# 确保当前目录为“ganglia-3.1.7”
# ganglia3.2在64位下要拷贝下面两个启动文件(3.1.7版本不需要),否则 service 命令找不到程序
# cp /usr/local/sbin/gmetad /usr/sbin
# cp /usr/local/sbin/gmond /usr/sbin
cp gmond/gmond.init /etc/rc.d/init.d/gmond #添加gmond到service
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad #添加gmetad到service
chkconfig --add gmond # gmond开机启动
chkconfig --add gmetad # gmetad 开机启动
cp -r web/* /var/www/html/ganglia # copy ganglia web文件倒apache
chown -R apache:apache /var/lib/ganglia/dwoo/
chown -R nobody:nobody /var/lib/ganglia/rrds/
gmond -t |tee /etc/ganglia/gmond.conf #生成gmond默认配置文件,tee的作用类似重定向符“>>”
*****************
# 几个重要的文件路径(3.2和3.1.7存放路径不一样,大家自己which和find查找吧)
/usr/local/bin/gstat #测试工具,我在多播模式下,不能使用,单播可以,奇怪....
/usr/local/sbin/gmetad #中央服务程序,通过"gmetad -d1"打印启动日志(3.17在/usr/sbin/gmetad)
/usr/local/sbin/gmond # 监控数据采集程序,通过"gmond -d1"打印启动日志(3.17在/usr/sbin/gmond)
/etc/ganglia/gmetad.conf
/etc/ganglia/gmond.conf
#配置gmeta
vi /etc/ganglia/gmetad.conf
data_source "hadoop" 192.168.1.10 # 集群名称,这里我配置为“hadoop”, 192.168.1.10 为集群中央机器
vi /etc/ganglia/gmetad.conf
data_source "hadoop" 192.168.1.10 # 集群名称,这里我配置为“hadoop”, 192.168.1.10 为集群中央机器
#配置gmond(单播)
vi /etc/ganglia/gmond.conf
cluster {
name = "hadoop" #与gmetad.conf 相同的名称
....
}
udp_send_channel {
#mcast_join = 239.2.11.71 #这行被注释
host = 192.168.1.10 #中央机器的IP # 添加改行
port = 8649
ttl = 1
}
udp_recv_channel {
# mcast_join = 239.2.11.71 #这行被注释
port = 8649
# bind = 239.2.11.71 #这行被注释
}
vi /etc/ganglia/gmond.conf
cluster {
name = "hadoop" #与gmetad.conf 相同的名称
....
}
udp_send_channel {
#mcast_join = 239.2.11.71 #这行被注释
host = 192.168.1.10 #中央机器的IP # 添加改行
port = 8649
ttl = 1
}
udp_recv_channel {
# mcast_join = 239.2.11.71 #这行被注释
port = 8649
# bind = 239.2.11.71 #这行被注释
}
启动和测试
service gmetad start
service gmond start
service httpd start
telnet localhost 8649 # 检查gmond进程,如果出现XML就对了
telnet localhost 8651 # 检查gmetad进程,如果出现XML就对了
打开浏览器,访问http://{you_ip}/ganglia/就可以看到Web界面了
*****************
gmetad启动后执行“service gmetad status”,报错“gmetad dead but subsys locked ”
解决:chown -R nobody:nobody /var/lib/ganglia
httpd启动时报错“Could not reliably determine the server's fully qualified domain name”
解决:vi /etc/httpd/conf/httpd.conf,设置
service gmond start
service httpd start
telnet localhost 8649 # 检查gmond进程,如果出现XML就对了
telnet localhost 8651 # 检查gmetad进程,如果出现XML就对了
打开浏览器,访问http://{you_ip}/ganglia/就可以看到Web界面了
*****************
gmetad启动后执行“service gmetad status”,报错“gmetad dead but subsys locked ”
解决:chown -R nobody:nobody /var/lib/ganglia
httpd启动时报错“Could not reliably determine the server's fully qualified domain name”
解决:vi /etc/httpd/conf/httpd.conf,设置
ServerName localhost:80
如果出图有问题,如出现"localhost"而没有显示机器名,则可能因为/etc/hosts没有正确配置IP与机器名映射关系。
添加Web访问密码
htpasswd -c /etc/httpd/conf.d/passwords ganglia #创建用户名密码,我这里用户名为“ganglia”
vi /var/www/html/ganglia/.htaccess #要指定刚才创建的用户名
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/httpd/conf.d/passwords
Require user ganglia
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/httpd/conf.d/passwords
Require user ganglia
vi /etc/httpd/conf/httpd.conf #添加目录
<Directory "/var/www/html/ganglia/">
AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/httpd/conf.d/passwords
Require user ganglia
</Directory>
<Directory "/var/www/html/ganglia/">
AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/httpd/conf.d/passwords
Require user ganglia
</Directory>
客户端部署
为了方便在服务端想客户端执行命令,我使用了批量工具“pdsh”,具体安装参考我博客文章。安装rpmforce库后,可以通过“yum install pdsh”安装。
配置好Server到client无密码SSH访问
#在Server端执行,这个脚本在不同OS,不同ganglia版本会区别
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/sbin/gmond %h:/usr/sbin/gmond
pdsh -w ssh:192.168.1.[50-100,120-150] mkdir -p /etc/ganglia/
pdsh -w exec:192.168.1.[50-100,120-150] scp /etc/ganglia/gmond.conf %h:/etc/ganglia/
pdsh -w exec:192.168.1.[50-100,120-150] scp /etc/init.d/gmond %h:/etc/init.d/
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/lib64/libganglia-3.1.7.so.0 %h:/usr/lib64/
pdsh -w exec:192.168.1.[50-100,120-150] scp /lib64/libexpat.so.0 %h:/lib64
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/lib64/libconfuse.so.0 %h:/usr/lib64/
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/lib64/libapr-1.so.0 %h:/usr/lib64/
pdsh -w exec:192.168.1.[50-100,120-150] scp -r /usr/lib64/ganglia %h:/usr/lib64/
pdsh -w ssh:192.168.1.[50-100,120-150] service gmond start
pdsh -w ssh:192.168.1.[50-100,120-150] chkconfig --add gmond
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/sbin/gmond %h:/usr/sbin/gmond
pdsh -w ssh:192.168.1.[50-100,120-150] mkdir -p /etc/ganglia/
pdsh -w exec:192.168.1.[50-100,120-150] scp /etc/ganglia/gmond.conf %h:/etc/ganglia/
pdsh -w exec:192.168.1.[50-100,120-150] scp /etc/init.d/gmond %h:/etc/init.d/
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/lib64/libganglia-3.1.7.so.0 %h:/usr/lib64/
pdsh -w exec:192.168.1.[50-100,120-150] scp /lib64/libexpat.so.0 %h:/lib64
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/lib64/libconfuse.so.0 %h:/usr/lib64/
pdsh -w exec:192.168.1.[50-100,120-150] scp /usr/lib64/libapr-1.so.0 %h:/usr/lib64/
pdsh -w exec:192.168.1.[50-100,120-150] scp -r /usr/lib64/ganglia %h:/usr/lib64/
pdsh -w ssh:192.168.1.[50-100,120-150] service gmond start
pdsh -w ssh:192.168.1.[50-100,120-150] chkconfig --add gmond
参考:
http://www.blogjava.net/xylz/archive/2011/07/21/354744.html
http://yifangyou.blog.51cto.com/900206/633002
-- end --
相关推荐
ganglia 3.1.7 rpm包合集 在CentOS5.5下已经安装成功,想要吗? 拿出诚意来吧,哈哈
在安装Ganglia之前,你需要了解以下关键知识点: 1. **系统要求**:Ganglia适用于多种操作系统,包括Linux(如Ubuntu、CentOS)、FreeBSD等。确保你的服务器支持这些操作系统,并且是最新稳定版本。 2. **组件组成...
### 走进Ganglia—源码安装 在IT领域中,系统监控是至关重要的一个环节,而Ganglia正是这样一个优秀的分布式监控系统。它主要用于高性能计算集群、数据中心等环境中的性能数据采集与监控。本文将详细介绍如何通过源...
### Ganglia监控软件知识点 #### 一、Ganglia简介 Ganglia是一款开源的分布式监控系统,主要用于高性能计算(HPC)环境中的资源监控。它能够高效地收集和传播集群内部各节点的状态信息,包括但不限于CPU利用率、...
在suse11-sp1_x64下安装ganglia所需的rpm包。花了很多精力才找到。 ganglia-3.6.0-1.1.src.rpm ganglia-gmetad-3.5.0-56.1.x86_64.rpm ganglia-gmond-3.1.7-8.1.x86_64.rpm libconfuse0-2.7-86.1.x86_64.rpm ...
### Ganglia安装与配置详解 #### 一、前言 Ganglia是一种分布式监控系统,主要用于监测集群中的各个节点的状态,比如CPU使用率、内存占用情况等。它能够有效地帮助管理员掌握系统的整体运行状况,及时发现潜在的...
ganglia 3.7.2 基于centos7可安装rpm包(rpmbuild/RPMS/x86_64目录中) 配合ganglia-web-3.7.2.tar.gz使用 参考:https://blog.csdn.net/lswnew/article/details/79175539
本文将基于提供的文件信息,深入解析Ganglia的安装、配置以及简单应用流程,为读者提供一份详尽的操作指南。 ### Ganglia的安装与配置 #### 安装Ganglia Monitor与Web前端 Ganglia的安装首先涉及到Monitor(gmond...
### 在CentOS 6.2 64位系统上安装Ganglia-3.4 #### 一、环境准备 为了确保安装过程顺利进行,首先需要确保系统的基础环境已搭建好,包括Apache服务器、PHP环境等。以下是安装Ganglia前的一些基本步骤: 1. **安装...
Ganglia-3.1.7是该系统的特定版本,提供了改进的功能和修复了一些已知问题。在本文中,我们将深入探讨Ganglia的核心组件、工作原理、安装与配置过程,以及如何利用其监控网络资源。 一、Ganglia核心组件 Ganglia...
### Ganglia 安装与配置详解 #### 一、Ganglia简介 Ganglia 是一个高性能、可扩展的分布式监控系统,它主要用于监控大型计算集群的资源使用情况。Ganglia 可以实时地收集并展示服务器节点的 CPU 使用率、内存使用量...
为什么用ganglia,以及怎样使用ganglia!
3. **安装Ganglia**: 使用`yum install`或`rpm -ivh`命令安装Ganglia的RPM包,包括gmetad、gmond及相关依赖。 4. **配置Gmond**: 修改`/etc/ganglia/gmond.conf`,配置gmond监听的端口、上报数据的gmetad地址以及...
这里包括ganglia安装需要的所有安装包,源码安装,包括教程,亲自在centos上测试可以安装,在编译ganglia时需要将/usr/local/apr/include/apr-1下的所有文件拷贝到/usr/local/apr/include/下才可以成功哦!
在Linux环境中,通常通过RPM(Red Hat Package Manager)包来安装Ganglia。RPM是一种软件包管理器,它使得软件的安装、升级和卸载过程变得简单。 在这个场景中,提到的四个RPM包分别是: 1. `yum-3.2.29-40.el6....
而又没有epel源的时候, 可以用一台连接外网的linux服务器使用 yum install --downloadonly 来下载ganglia的包, 然后cp到内网的服务器上去安装, 这里就是为你准备好的最新版的ganglia离线安装和依赖包, 请下载吧
本文将详细介绍Ganglia系统状态监控软件的安装与配置步骤,以便读者能够快速上手并实施于实际的监控环境中。 ### Ganglia监控软件的核心组件 Ganglia监控软件由两大核心组件构成:Ganglia Monitoring Daemon ...
### Ganglia安装与配置详解 #### 一、Ganglia简介 Ganglia是一个用于监控高性能计算集群(HPC)的开源系统。它能够收集、分析并展示集群中各节点的资源利用情况,如CPU使用率、内存使用量、磁盘空间等。Ganglia的...
### CentOS安装Ganglia知识点详解 #### 一、Ganglia简介 Ganglia是一款开源的分布式监控系统,主要用于大规模的计算机集群、网格环境中的性能数据监控与展示。该系统可以收集并显示有关节点(例如服务器或工作站)...