Ganglia系统监控的安装

一、简介

Ganglia 由 gmond、gmetad 和 gweb 三部分组成
gmond(Ganglia Monitoring Daemon)是一种轻量级服务,可以勉强比作传统监控系统中的“代理(agent)”
软件。安装在每台需要收集指标数据的节点主机上。gmond 在每台主机上完成实际意义上的指标数据收集工作,
并通过侦听/通告协议和集群内其他节点共享数据。使用 gmond,你可以很容易收集很多系统指标数据,如 CPU、
内存、磁盘、网络和活跃进程的数据等。
gmetad(Ganglia Meta Daemon)是一种从其他 gmetad 或 gmond 源收集指标数据,并将其以 RRD 格
式存储至磁盘的服务。gmetad 为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创
建联合监测域成为可能。
gweb(Ganglia Web)gweb 是一种利用浏览器显示 gmetad 所存储数据的 PHP 前端。在 Web 界面中以图

表方式展现集群的运行状态下收集的多种不同指标数据。


二、安装和配置

2.1、 安装  gmon nd d

(1) 在本地软件库中搜索 gmond 安装包:

# yum search ganglia-gmond

(2) 如果上一步没有搜到,需要在本地添加 rmp 资源(以 centos 为例)
①查看 linux 系统的版本信息
# cat /etc/redhat-release
②所以我们浏览器输入 http://mirror.ancl.hawaii.edu/linux/epel/ ,
找到下的 7 目录,然后点击 x86_64 ,一直往里面找,找到我们需要的 rpm 文件
# rpm -Uvh http://mirror.ancl.hawaii.edu/linux/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
或者用一下这个路径都可以

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

(3)再次搜索,查看是否添加成功
# yum search ganglia-gmond
(4)如果搜索到了,我们就可以安装 gmond 了

# sudo yum install ganglia-gmond

2.2 、 安装  gmetad

(1)在本地软件库中搜索 gmetad 安装包:
# yum search ganglia-gmetad
因为在安装 gmond 时已经加载了 ganglia 的 rmp 源,所以这里直接可以搜到
(2)直接安装 gmetad

# sudo yum install ganglia-gmetad

2.3 、 安装  gweb
Ganglia 3.4.0 的 Web 接口是一个独立的发布包,其源代码库也独立的。
Gweb 发行周期和版本号与 Ganglia gmond 和 gmetad 守护进程的发型周期和版本号不再一致。
(1)安装 Apache 和 PHP
# yum install httpd php
执行完之后会发现安装了一下
用户需要启用 PHP 的 JSON 扩展,JSON 已经包含在 PHP 5.2 及更新版本中。
通过检查/etc/php.d/json.ini 文件来检查 JSON 扩展的状态,如果已经启用 JSON 扩展,
在该文件中应该包含类似下面语句的内容:
extension=json.ini
(2)下载最新版本的 gweb
访问 https://sourceforge.net/projects/ganglia/files/gweb/
显示当前 gweb 最新版本是 3.7.2
下载
# wget https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz
(3)解压刚下载的 gweb
# tar -zxvf ganglia-web-3.7.2.tar.gz -C /opt/
# cd /opt/ganglia-web-3.7.2
(4)编译 Makefile
编辑一些用户默认的配置
# vim Makefile

找到一下内容修改为

GDESTDIR = /var/www/html/ganglia2
APACHE_USER = apache
注意:GDESTDIR 和 APACHE_USER 要与 APACHE 的配置文件(/etc/httpd/conf/httpd.conf)

中的 DocumentRoot 、 user 保持一致

(5)开始编译 Makefile
# make install

如果没有提示错误,那么说明 gweb 就安装成功啦。

2.4、状态检查 和 启动

(1)检查 httpd 是否启动
# service httpd status 
(2)启动 httpd
# service httpd start 
(3)检查 gmetad 是否启动
# service gmetad status 
(4)启动 gmetad
# service gmetad start 
(5)检查 gmond 是否启动
# service gmond status 
(6)启动 gmond

# service gmond start 

2.5 、关闭  SEL inux

(1)查看 SELinux 状态
# getenforce 或者 # sestatus 
如果显示 Disabled,表示已经关闭了 selinux
(2)关闭 SELinux

     # vi /etc/selinux/config 

#SELINUX=enforcing
SELINUX= disabled


三、访问 Ganglia 监控平台

在浏览器中输入
http://${your.server.ip}/ganglia2/

目录“/ganglia2”可以在 ganglia-web 的 Makefile 文件中 GDESTDIR 被修改,修改后需要重新编译

四、集群的监控

Gmond 安装在每台需要检测的主机上。Gmond 通过与主机操作系统交互获取指标数据,并与同一集群内的其
他主机共享数据。
Gmetad 是一种安装在主机上用来收集和汇聚 gmond 所收集的指标数据的守护进程。gmetad 默认使用 RRD 文
件收集和汇聚指标数据。通过 tcp 端口 8651 侦听远程 gmetad 连接;它也通过 tcp 端口 8652 对交互式请求做出应

答。


当前整个集群为

ServerName   Hadoop Cluster  Zookeeper   HBase Cluster
node1 NameNode & ResourceManager
SecondaryNameNode
yes master & Region server
node2   DataNode & NodeManager   yes  Region server
node3   DataNode & NodeManager  yes  Region server
(1 ) 各 节点的安装
主节点(确保已经安装了这几个,如果就安装)
yum install ganglia-gmond
yum install ganglia-gmetad
yum install ganglia-devel
yum install httpd php
yum install -y rrdtool
从节点
rpm -Uvh http://mirror.ancl.hawaii.edu/linux/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install ganglia-gmond
(2 )配置 gmond.conf
# vi /etc/ganglia/gmond.conf

主节点配置

1.  cluster {
2. name = "bigdata_cluster"
3. ...
4. }
5. udp_send_channel {
6. # the host who gather this cluster's monitoring data and send these data to gmetad node
7. #注释掉多播模式的,以下出现这个都要注释掉
8. #mcast_join = 239.2.11.71
9. #添加单播模式的
10. host = node1
11. port = 8649
12. }
13. udp_recv_channel {
14. port = 8649
15. # 注释掉多余的,留下端口即可
16. }
17. tcp_accept_channel {
18. port = 8649
19. }
监控节点配置
将主节点的发送到监控节点就可以了
(3 )修改 ganglia-web  访问 权限
 # vi /etc/httpd/conf/httpd.conf

在文件的末尾添加

Alias /ganglia /opt/ganglia-web-3.7.2
<location /ganglia>
    Require all granted
</location>
# service httpd restart 
(4 )配置 gmetad
只需在主节点上配置即可
# vi /etc/ganglia/gmetad.conf
1. data_source "bigdata_cluster" node1:8649 node2:8649 node3:8649
2. data_source:此参数定义了集群的名字,以及集群中的节点,
(5 )配置 hadoop
主节点配置
# vi $HADOOP_HOME/etc/hadoop/hadoop-metrics2.properties

可以 注释掉里面的内容直接粘贴修改

### ganglia配置
namenode.sink.ganglia.servers=node1:8649
resourcemanager.sink.ganglia.servers=node1:8649
mrappmaster.sink.ganglia.servers=node1:8649
jobhistoryserver.sink.ganglia.servers=node1:8649
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
从节点配置
### ganglia配置
datanode.sink.ganglia.servers=node1:8649
nodemanager.sink.ganglia.servers=node1:8649
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
(6 )配置 hbase
# vi $HBASE_HOME/conf/hadoop-metrics2.properties

可以 注释掉里面的内容直接粘贴修改(每个节点都一样)

### ganglia配置
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
hbase.sink.ganglia.period=10
hbase.sink.ganglia.servers=node1:8649
hbase.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
hbase.period=10
hbase.servers==node1:8649
jvm.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
jvm.period=10
jvm.servers==node1:8649
rpc.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
rpc.period=10
rpc.servers==node1:8649

(7 )启动 ganglia
主节点的启动(如果已经启动了,就重新启动)
$ systemctl start httpd.service
$ systemctl start gmetad.service
$ systemctl start gmond.service
$ systemctl enable httpd.service
$ systemctl enable gmetad.service

$ systemctl enable gmond.service


被监测节点的启动
#systemctl enable gmond.service

#systemctl start gmond.service


    完整详细的安装文档可以参考我的这份PDF文档:https://download.csdn.net/download/github_39577257/10506860



猜你喜欢

转载自blog.csdn.net/github_39577257/article/details/80754768