在线搭建Ganglia

1. 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这个工具处理过的。

2. 安装步骤

2.1 搭建环境准备

  • 在虚拟机上搭建Ganglia
HostnameIP内存磁盘
hdp-01192.168.121.612G50G
hdp-02192.168.121.622G50G
hdp-03192.168.121.632G50G
hdp-04192.168.121.642G50G
  • 在hdp-01上安装gmetad,在四个节点上都安装gmond。
# 各个节点信息
[root@hdp-01 ~]# yum install redhat-lsb -y
[root@hdp-01 ~]# lsb_release -a				# 查看系统版本信息
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.6.1810 (Core) 
Release:	7.6.1810
Codename:	Core

[root@hdp-01 ~]# sestatus			# 查看SELinux,关闭
SELinux status:                 disabled

2.2 安装gmond

# 需要在所有节点安装gmond
[root@hdp-01 ~]# yum search ganglia-gmond	# 在本地软件库中搜索gmond安装包
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Warning: No matches found for: ganglia-gmond
No matches found
# 配置repo源,参考阿里:https://opsx.alibaba.com/mirror
[root@hdp-01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 有了相应的rpm 包之后,就可以安装gmond了,使用yum安装可以自动解决包依赖问题。
[root@hdp-01 ~]# yum install ganglia-gmond -y

2.3 安装gmetad

# 只需要在hdp-01节点上安装gmetad
[root@hdp-01 ~]# yum install ganglia-gmetad -y

2.4 安装gweb

# 建议将gweb 安装在有gmetad 的节点上。
# 在进行gweb的安装和配置前,请先检查是否已经满足下面需求:有Apache Web Server、 PHP 5.2及更新版本、PHP JSON 扩展的安装和启用 。
[root@hdp-01 ~]# yum install httpd php -y

# 需要启用PHP的JSON扩展,JSON已经包含在PHP 5.2及更新版本中。
# 通过检查/etc/php.d/json.ini文件来检查JSON扩展的状态,如果已经启用JSON扩展,在该文件中应该包含类似下面语句的内容:
extension=json.ini  或者 extension=json.so

# 下载最新的gweb:https://sourceforge.net/projects/ganglia/files/ganglia-web/
[root@hdp-01 ~]# wget https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz
[root@hdp-01 ~]# tar -zxvf ganglia-web-3.7.2.tar.gz -C /opt/
[root@hdp-01 ~]# cd /opt/ganglia-web-3.7.2/
[root@hdp-01 ganglia-web-3.7.2]# vim Makefile
# 修改默认配置:
GDESTDIR = /var/www/html/ganglia2(此处ganglia2就是在浏览器访问时url组成部分)
APACHE_USER = apache
# 注意:GDESTDIR 和 APACHE_USER 要与APACHE的配置文件/etc/httpd/conf/httpd.conf 中的  DocumentRoot 、 apache保持一致

[root@hdp-01 ganglia-web-3.7.2]# yum install rsync
[root@hdp-01 ganglia-web-3.7.2]# make install

2.5 检查服务

# 查看httpd服务
[root@hdp-01 ~]# systemctl start httpd
[root@hdp-01 ~]# systemctl status httpd
[root@hdp-01 ~]# systemctl enable httpd
[root@hdp-01 ~]# systemctl is-enabled httpd

# 查看gmetad服务
[root@hdp-01 ~]# systemctl start gmetad
[root@hdp-01 ~]# systemctl status gmetad
[root@hdp-01 ~]# systemctl enable gmetad
[root@hdp-01 ~]# systemctl is-enabled gmetad

# 查看gmond服务,所有节点都要启动
[root@hdp-01 ~]# systemctl start gmond
[root@hdp-01 ~]# systemctl status gmond
[root@hdp-01 ~]# systemctl enable gmond
[root@hdp-01 ~]# systemctl is-enabled gmond

2.6 访问Ganglia监控平台

  • 访问:192.168.120.61/ganglia2
    在这里插入图片描述
  • 下图用不同颜色表示不同的节点,做粗略的监控时,通过这个图表就能看出各节点大概的资源消耗情况。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@TangXin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值