离线搭建监控工具Ganglia

0. Ganglia简介

  • Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
  • Ganglia由gmond、gmetad和gweb三部分组成。
  • gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。gmond相当于一个代理(agent)服务进程,它收集到很多监控的元数据信息后,等待gmetad周期性地轮询这些信息。gmond进程运行时给系统带来的负载是非常小的,从而不会影响用户应用程序性能。
  • gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。gmetad可以看成是Ganglia集群的Master,它采用poll的方式,主动与集群中各个gmond进程交互,周期性地轮询每个gmond进程收集到的元数据,然后存储到RRD数据库中,为Web展示监控数据做准备。
  • gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。用来展示的数据,实际上是经过RRDTool这个工具处理过的。

1. Ganglia安装环境准备

1.1 Ganglia依赖包

libconfuse-2.7-7.el7.x86_64.rpm
libmemcached-1.0.16-5.el7.x86_64.rpm
php-bcmath-5.4.16-46.el7.x86_64.rpm
php-common-5.4.16-46.el7.x86_64.rpm
php-gd-5.4.16-46.el7.x86_64.rpm
php-process-5.4.16-46.el7.x86_64.rpm
php-ZendFramework-1.12.20-1.el7.noarch.rpm
php-cli-5.4.16-46.el7.x86_64.rpm
php-5.4.16-46.el7.x86_64.rpm --nodeps --force
rrdtool-1.4.8-9.el7.x86_64.rpm
rrdtool-devel-1.4.8-9.el7.x86_64.rpm
t1lib-5.1.2-14.el7.x86_64.rpm

1.2 Ganglia安装包

ganglia-3.7.2-2.el7.x86_64.rpm
ganglia-gmetad-3.7.2-2.el7.x86_64.rpm
ganglia-gmond-3.7.2-2.el7.x86_64.rpm
ganglia-gmond-python-3.7.2-2.el7.x86_64.rpm
ganglia-web-3.7.1-2.el7.x86_64.rpm

2. Ganglia搭建

# 在集群所有节点搭建Ganglia依赖环境  --nodeps 安装时不检查依赖关系 --force 强制安装
[root@manager tgm]# rpm -ivh libconfuse-2.7-7.el7.x86_64.rpm
[root@manager tgm]# rpm -ivh libmemcached-1.0.16-5.el7.x86_64.rpm
[root@manager tgm]# rpm -ivh php-bcmath-5.4.16-46.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh php-common-5.4.16-46.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh php-gd-5.4.16-46.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh php-process-5.4.16-46.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh php-ZendFramework-1.12.20-1.el7.noarch.rpm --nodeps --force
[root@manager tgm]# rpm -ivh php-5.4.16-46.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh php-cli-5.4.16-46.el7.x86_64.rpm
[root@manager tgm]# rpm -ivh rrdtool-1.4.8-9.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh rrdtool-devel-1.4.8-9.el7.x86_64.rpm --nodeps --force
[root@manager tgm]# rpm -ivh t1lib-5.1.2-14.el7.x86_64.rpm

# 在所有节点安装Ganglia
[root@manager tgm]# rpm -ivh ganglia-3.7.2-2.el7.x86_64.rpm
[root@manager tgm]# rpm -ivh ganglia-gmond-3.7.2-2.el7.x86_64.rpm
[root@manager tgm]# rpm -ivh ganglia-gmond-python-3.7.2-2.el7.x86_64.rpm

# 只需要在主节点上安装
[root@manager tgm]# rpm -ivh ganglia-gmetad-3.7.2-2.el7.x86_64.rpm
[root@manager tgm]# yum install -y ganglia-web-3.7.1-2.el7.x86_64.rpm

# 有关Ganglia的相关配置文件
Ganglia配置文件目录:/etc/ganglia
rrd数据库存放目录:/var/lib/ganglia/rrds
httpd主站点目录:/var/www/html
ganglia-web安装目录:/usr/share/ganglia
ganglia-web配置目录:/etc/httpd/conf.d/ganglia.conf

3. 修改配置文件

# 将ganglia-web安装目录链接到httpd主站点目录
[root@manager tgm]# ln -s /usr/share/ganglia/ /var/www/html/

# 将ganglia站点目录访问权限改为apache:apache
[root@manager tgm]# cd /var/www/html/
[root@manager html]# useradd apache
[root@manager html]# chown -R apache:apache /var/www/html/ganglia
[root@manager html]# chown -R apache:apache /var/lib/ganglia
[root@manager html]# chmod -R 755 /var/www/html/ganglia

# 将rrd数据库存放目录访问权限改为nobody:nobody
[root@manager html]# chown -R nobody:nobody /var/lib/ganglia/rrds

# 修改ganglia-web的访问权限:
[root@manager html]# vim /etc/httpd/conf.d/ganglia.conf
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
  Require all granted		# 只需修改这一个地方即可
  # Require ip 10.1.2.3
  # Require host example.org
</Location>

# 修改dwoo下面的权限
[root@manager html]# chmod 777 /var/lib/ganglia/dwoo/cache
[root@manager html]# chmod 777 /var/lib/ganglia/dwoo/compiled

# 修改ganglia配置文件:/etc/ganglia/gmetad.conf
[root@manager html]# vim /etc/ganglia/gmetad.conf		# 注意,所有集群节点都需要加上
data_source "hadoop cluster"  manager.bigdata:8649 master1.bigdata:8649 master2.bigdata:8649 worker1.bigdata:8649 worker2.bigdata:8649 worker3.bigdata:8649 worker4.bigdata:8649 worker5.bigdata:8649 worker6.bigdata:8649
setuid_username nobody

# 修改ganglia配置文件:/etc/ganglia/gmond.conf
[root@manager html]# vim /etc/ganglia/gmond.conf
cluster {
  name = "hadoop cluster"		# 这个名字要和服务器端定义的data_source后面的名字一样
  .......
}
udp_send_channel {
  # 注释多播模式
  # mcast_join = 239.2.11.71
  # port = 8649
  # ttl = 1
  # 添加单播模式
  host = 192.168.120.61
  port = 8649
}
udp_recv_channel {			# 仅保留port,其余注释
  port = 8649
}
tcp_accept_channel {		# 仅保留port,其余注释
  port = 8649
}

# Hadoop cluster被监测节点的配置
# 配置/etc/ganglia/gmond.conf
cluster {
  name = "hadoop cluster"  # 这个名字要和服务器端定义的data_source后面的名字一样
  ...
}
udp_send_channel {
 # 单播模式
 host = 192.168.120.61
 port = 8649
}
udp_recv_channel {
  port = 8649
}
tcp_accept_channel {
  port = 8649
}

# Ganglia启动
# 中心节点的启动,start httpd, gmetad, gmond

systemctl start httpd
systemctl start gmetad
systemctl start gmond

systemctl enable httpd
systemctl enable gmetad
systemctl enable gmond

# 被监测节点的启动,支持动态添加被监控节点
# start gmond
systemctl start gmond
systemctl enable gmond

在这里插入图片描述

4. 报错信息解决

4.1 /usr/sbin/gmond: error while loading shared libraries: libapr-1.so.0: cannot open shared object file:…directory

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@TangXin

路漫漫其修远兮,吾将上下而求索

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值