Flume监控之Ganglia安装与简单实践

写在前面: 博主是一名大数据的初学者,昵称来源于《爱丽丝梦游仙境》中的Alice和自己的昵称。作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:http://alices.ibilibili.xyz/ , 博客主页:https://alice.blog.csdn.net/
尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为一天的生活就是一生的缩影。我希望在最美的年华,做最好的自己

        上一篇博客,小菌为大家介绍了在Flume中如何实现过滤器的效果👉大数据小白必知必会之Flume实现过滤器效果。相信大家在看后一定还有很多的疑惑,我们该如何监控到Flume在运行过程中的变化呢?不用担心,本篇博客,我们就来学习一下,关于Flume的监控之Ganglia的安装与简单实践

        码字不易,先赞后看!

在这里插入图片描述


Flume 监控之 Ganglia

1、Ganglia的安装与部署

<1> 安装httpd服务与php

        sudo yum -y install httpd php

[root@node01 ~]# sudo yum -y install httpd php
已加载插件:fastestmirror, security
设置安装进程
Determining fastest mirrors
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                                      | 3.7 kB     00:00
extras                                                    | 3.4 kB     00:00
extras/primary_db                                         |  29 kB     00:00
updates                                                   | 3.4 kB     00:00
updates/primary_db                                        |  11 MB     00:01
包 httpd-2.2.15-69.el6.centos.x86_64 已安装并且是最新版本
解决依赖关系
--> 执行事务检查
---> Package php.x86_64 0:5.3.3-50.el6_10 will be 安装
--> 处理依赖关系 php-common(x86-64) = 5.3.3-50.el6_10,它被软件包 php-5.3.3-50.e6_10.x86_64 需要
--> 处理依赖关系 php-cli(x86-64) = 5.3.3-50.el6_10,它被软件包 php-5.3.3-50.el6_0.x86_64 需要
--> 执行事务检查
---> Package php-cli.x86_64 0:5.3.3-50.el6_10 will be 安装
---> Package php-common.x86_64 0:5.3.3-50.el6_10 will be 安装
--> 完成依赖关系计算

依赖关系解决

================================================================================
 软件包             架构           版本                    仓库             大小
================================================================================
正在安装:
 php                x86_64         5.3.3-50.el6_10         updates         1.1 M
为依赖而安装:
 php-cli            x86_64         5.3.3-50.el6_10         updates         2.2 M
 php-common         x86_64         5.3.3-50.el6_10         updates         530 k

事务概要
================================================================================
Install       3 Package(s)

总下载量:3.8 M
Installed size: 13 M
下载软件包:
(1/3): php-5.3.3-50.el6_10.x86_64.rpm                     | 1.1 MB     00:00
(2/3): php-cli-5.3.3-50.el6_10.x86_64.rpm                 | 2.2 MB     00:00
(3/3): php-common-5.3.3-50.el6_10.x86_64.rpm              | 530 kB     00:00
--------------------------------------------------------------------------------
总计                                             4.7 MB/s | 3.8 MB     00:00
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
  正在安装   : php-common-5.3.3-50.el6_10.x86_64                             1/3
  正在安装   : php-cli-5.3.3-50.el6_10.x86_64                                2/3
  正在安装   : php-5.3.3-50.el6_10.x86_64                                    3/3
  Verifying  : php-5.3.3-50.el6_10.x86_64                                    1/3
  Verifying  : php-cli-5.3.3-50.el6_10.x86_64                                2/3
  Verifying  : php-common-5.3.3-50.el6_10.x86_64                             3/3

已安装:
  php.x86_64 0:5.3.3-50.el6_10

作为依赖被安装:
  php-cli.x86_64 0:5.3.3-50.el6_10      php-common.x86_64 0:5.3.3-50.el6_10

完毕!

<2> 安装其他依赖

        sudo yum -y install rrdtool perl-rrdtool rrdtool-devel

[root@node01 ~]# sudo yum -y install rrdtool
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解决依赖关系
--> 执行事务检查
---> Package rrdtool.x86_64 0:1.3.8-10.el6 will be 安装
--> 处理依赖关系 dejavu-sans-mono-fonts,它被软件包 rrdtool-1.3.8-10.el6.x86_64
--> 处理依赖关系 dejavu-lgc-sans-mono-fonts,它被软件包 rrdtool-1.3.8-10.el6.x86
--> 执行事务检查
---> Package dejavu-lgc-sans-mono-fonts.noarch 0:2.33-1.el6 will be 安装
---> Package dejavu-sans-mono-fonts.noarch 0:2.33-1.el6 will be 安装
--> 完成依赖关系计算

依赖关系解决

================================================================================
 软件包                               架构             版本                    仓
================================================================================
正在安装:
 rrdtool                              x86_64           1.3.8-10.el6            b
为依赖而安装:
 dejavu-lgc-sans-mono-fonts           noarch           2.33-1.el6              b
 dejavu-sans-mono-fonts               noarch           2.33-1.el6              b

事务概要
================================================================================
Install       3 Package(s)

总下载量:1.1 M
Installed size: 2.7 M
下载软件包:
(1/3): dejavu-lgc-sans-mono-fonts-2.33-1.el6.noarch.rpm                      | 3
(2/3): dejavu-sans-mono-fonts-2.33-1.el6.noarch.rpm                          | 4
(3/3): rrdtool-1.3.8-10.el6.x86_64.rpm                                       | 2
--------------------------------------------------------------------------------
总计                                                                1.6 MB/s | 1
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
  正在安装   : dejavu-lgc-sans-mono-fonts-2.33-1.el6.noarch
  正在安装   : dejavu-sans-mono-fonts-2.33-1.el6.noarch
  正在安装   : rrdtool-1.3.8-10.el6.x86_64
  Verifying  : dejavu-sans-mono-fonts-2.33-1.el6.noarch
  Verifying  : rrdtool-1.3.8-10.el6.x86_64
  Verifying  : dejavu-lgc-sans-mono-fonts-2.33-1.el6.noarch

已安装:
  rrdtool.x86_64 0:1.3.8-10.el6

作为依赖被安装:
  dejavu-lgc-sans-mono-fonts.noarch 0:2.33-1.el6     dejavu-sans-mono-fonts.noar

完毕!

        sudo yum -y install apr-devel

[root@node01 ~]# sudo yum -y install apr-devel
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解决依赖关系
--> 执行事务检查
---> Package apr-devel.x86_64 0:1.3.9-5.el6_9.1 will be 安装
--> 完成依赖关系计算

依赖关系解决

================================================================================
 软件包                 架构                版本                            仓库
================================================================================
正在安装:
 apr-devel              x86_64              1.3.9-5.el6_9.1                 base

事务概要
================================================================================
Install       1 Package(s)

总下载量:176 k
Installed size: 717 k
下载软件包:
apr-devel-1.3.9-5.el6_9.1.x86_64.rpm                                         | 1
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
  正在安装   : apr-devel-1.3.9-5.el6_9.1.x86_64
  Verifying  : apr-devel-1.3.9-5.el6_9.1.x86_64

已安装:
  apr-devel.x86_64 0:1.3.9-5.el6_9.1

完毕!

<3> 安装ganglia

        sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

[root@node01 ~]# sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epe.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch
warning: /var/tmp/rpm-tmp.jfeJoR: Header V3 RSA/SHA256 Signature, key ID 0608b89
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

        sudo yum -y install ganglia-gmetad

[root@node01 ~]# sudo yum -y install ganglia-gmetad
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
epel/metalink                                              | 7.9 kB     00:00
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
epel                                                       | 4.7 kB     00:00
epel/primary_db                                            | 6.1 MB     00:04
解决依赖关系
--> 执行事务检查
---> Package ganglia-gmetad.x86_64 0:3.7.2-2.el6 will be 安装
--> 处理依赖关系 ganglia = 3.7.2-2.el6,它被软件包 ganglia-gmetad-3.7.2-2.el6.x864 需要
--> 处理依赖关系 libconfuse.so.0()(64bit),它被软件包 ganglia-gmetad-3.7.2-2.el686_64 需要
--> 处理依赖关系 libganglia.so.0()(64bit),它被软件包 ganglia-gmetad-3.7.2-2.el686_64 需要
--> 执行事务检查
---> Package ganglia.x86_64 0:3.7.2-2.el6 will be 安装
---> Package libconfuse.x86_64 0:2.7-4.el6 will be 安装
--> 完成依赖关系计算

依赖关系解决

================================================================================
 软件包                  架构            版本                 仓库           大小
================================================================================
正在安装:
 ganglia-gmetad          x86_64          3.7.2-2.el6          epel           52
为依赖而安装:
 ganglia                 x86_64          3.7.2-2.el6          epel           88
 libconfuse              x86_64          2.7-4.el6            epel           79

事务概要
================================================================================
Install       3 Package(s)

总下载量:220 k
Installed size: 926 k
下载软件包:
(1/3): ganglia-3.7.2-2.el6.x86_64.rpm                      |  88 kB     00:00
(2/3): ganglia-gmetad-3.7.2-2.el6.x86_64.rpm               |  52 kB     00:00
(3/3): libconfuse-2.7-4.el6.x86_64.rpm                     |  79 kB     00:00
--------------------------------------------------------------------------------
总计                                              905 kB/s | 220 kB     00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOK
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid : EPEL (6) <epel@fedoraproject.org>
 Package: epel-release-6-8.noarch (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.
  正在安装   : libconfuse-2.7-4.el6.x86_64                                    1/
  正在安装   : ganglia-3.7.2-2.el6.x86_64                                     2/
  正在安装   : ganglia-gmetad-3.7.2-2.el6.x86_64                              3/
  Verifying  : ganglia-gmetad-3.7.2-2.el6.x86_64                              1/
  Verifying  : ganglia-3.7.2-2.el6.x86_64                                     2/
  Verifying  : libconfuse-2.7-4.el6.x86_64                                    3/

已安装:
  ganglia-gmetad.x86_64 0:3.7.2-2.el6

作为依赖被安装:
  ganglia.x86_64 0:3.7.2-2.el6            libconfuse.x86_64 0:2.7-4.el6

完毕!

        sudo yum -y install ganglia-web

[root@node01 ~]# sudo yum -y install ganglia-web
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解决依赖关系
--> 执行事务检查
---> Package ganglia-web.x86_64 0:3.7.1-2.el6 will be 安装
--> 处理依赖关系 php-ZendFramework,它被软件包 ganglia-web-3.7.1-2.el6.x86_64 需
--> 处理依赖关系 php-gd,它被软件包 ganglia-web-3.7.1-2.el6.x86_64 需要
--> 执行事务检查
---> Package php-ZendFramework.noarch 0:1.12.20-1.el6 will be 安装
--> 处理依赖关系 php-bcmath,它被软件包 php-ZendFramework-1.12.20-1.el6.noarch 要
--> 处理依赖关系 php-process,它被软件包 php-ZendFramework-1.12.20-1.el6.noarch 要
--> 处理依赖关系 php-xml,它被软件包 php-ZendFramework-1.12.20-1.el6.noarch 需要
---> Package php-gd.x86_64 0:5.3.3-50.el6_10 will be 安装
--> 处理依赖关系 libXpm.so.4()(64bit),它被软件包 php-gd-5.3.3-50.el6_10.x86_64 要
--> 执行事务检查
---> Package libXpm.x86_64 0:3.5.10-2.el6 will be 安装
---> Package php-bcmath.x86_64 0:5.3.3-50.el6_10 will be 安装
---> Package php-process.x86_64 0:5.3.3-50.el6_10 will be 安装
---> Package php-xml.x86_64 0:5.3.3-50.el6_10 will be 安装
--> 完成依赖关系计算

依赖关系解决

================================================================================
 软件包                  架构         版本                    仓库           大小
================================================================================
正在安装:
 ganglia-web             x86_64       3.7.1-2.el6             epel          782
为依赖而安装:
 libXpm                  x86_64       3.5.10-2.el6            base           51
 php-ZendFramework       noarch       1.12.20-1.el6           epel          4.1
 php-bcmath              x86_64       5.3.3-50.el6_10         updates        40
 php-gd                  x86_64       5.3.3-50.el6_10         updates       112
 php-process             x86_64       5.3.3-50.el6_10         updates        44
 php-xml                 x86_64       5.3.3-50.el6_10         updates       108

事务概要
================================================================================
Install       7 Package(s)

总下载量:5.2 M
Installed size: 38 M
下载软件包:
(1/7): ganglia-web-3.7.1-2.el6.x86_64.rpm                  | 782 kB     00:00
(2/7): libXpm-3.5.10-2.el6.x86_64.rpm                      |  51 kB     00:00
(3/7): php-ZendFramework-1.12.20-1.el6.noarch.rpm          | 4.1 MB     00:00
(4/7): php-bcmath-5.3.3-50.el6_10.x86_64.rpm               |  40 kB     00:00
(5/7): php-gd-5.3.3-50.el6_10.x86_64.rpm                   | 112 kB     00:00
(6/7): php-process-5.3.3-50.el6_10.x86_64.rpm              |  44 kB     00:00
(7/7): php-xml-5.3.3-50.el6_10.x86_64.rpm                  | 108 kB     00:00
--------------------------------------------------------------------------------
总计                                              2.6 MB/s | 5.2 MB     00:01
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
  正在安装   : php-process-5.3.3-50.el6_10.x86_64                             1/
  正在安装   : libXpm-3.5.10-2.el6.x86_64                                     2/
  正在安装   : php-gd-5.3.3-50.el6_10.x86_64                                  3/
  正在安装   : php-bcmath-5.3.3-50.el6_10.x86_64                              4/
  正在安装   : php-xml-5.3.3-50.el6_10.x86_64                                 5/
  正在安装   : php-ZendFramework-1.12.20-1.el6.noarch                         6/
  正在安装   : ganglia-web-3.7.1-2.el6.x86_64                                 7/
  Verifying  : php-xml-5.3.3-50.el6_10.x86_64                                 1/
  Verifying  : ganglia-web-3.7.1-2.el6.x86_64                                 2/
  Verifying  : php-bcmath-5.3.3-50.el6_10.x86_64                              3/
  Verifying  : libXpm-3.5.10-2.el6.x86_64                                     4/
  Verifying  : php-process-5.3.3-50.el6_10.x86_64                             5/
  Verifying  : php-gd-5.3.3-50.el6_10.x86_64                                  6/
  Verifying  : php-ZendFramework-1.12.20-1.el6.noarch                         7/

已安装:
  ganglia-web.x86_64 0:3.7.1-2.el6

作为依赖被安装:
  libXpm.x86_64 0:3.5.10-2.el6          php-ZendFramework.noarch 0:1.12.20-1.el6
  php-bcmath.x86_64 0:5.3.3-50.el6_10   php-gd.x86_64 0:5.3.3-50.el6_10
  php-process.x86_64 0:5.3.3-50.el6_10  php-xml.x86_64 0:5.3.3-50.el6_10

完毕!

        sudo yum install -y ganglia-gmond

[root@node01 ~]# sudo yum install -y ganglia-gmond
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解决依赖关系
--> 执行事务检查
---> Package ganglia-gmond.x86_64 0:3.7.2-2.el6 will be 安装
--> 完成依赖关系计算

依赖关系解决

================================================================================
 软件包                 架构            版本                  仓库           大小
================================================================================
正在安装:
 ganglia-gmond          x86_64          3.7.2-2.el6           epel           78

事务概要
================================================================================
Install       1 Package(s)

总下载量:78 k
Installed size: 178 k
下载软件包:
ganglia-gmond-3.7.2-2.el6.x86_64.rpm                       |  78 kB     00:00
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
  正在安装   : ganglia-gmond-3.7.2-2.el6.x86_64                               1/
  Verifying  : ganglia-gmond-3.7.2-2.el6.x86_64                               1/

已安装:
  ganglia-gmond.x86_64 0:3.7.2-2.el6

完毕!

        其中,Ganglia由gmond、gmetad 和 gweb三部分组成。

        gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。

        gmetad(Ganglia Meta Daemon)整合所有信息,并将其以RRD格式存储至磁盘的服务。

        gweb(Ganglia Web)Ganglia可视化工具,gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。

<4>修改配置文件
1)、修改配置文件/etc/httpd/conf.d/ganglia.conf

        sudo vim /etc/httpd/conf.d/ganglia.conf

        修改为红颜色的配置:

# Ganglia monitoring system php web frontend
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Order deny,allow
#Deny from all
Allow from all
#Allow from 127.0.0.1
#Allow from ::1

#Allow from .example.com

2)、修改配置文件/etc/ganglia/gmetad.conf

        sudo vim /etc/ganglia/gmetad.conf

        修改为:

data_source “node01” 192.168.100.100

3)、修改配置文件/etc/ganglia/gmond.conf

        sudo vim /etc/ganglia/gmond.conf

        修改为:

cluster {
name = “hadoop102”
owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}
udp_send_channel {
#bind_hostname = yes # Highly recommended, soon to be default.
# This option tells gmond to use a source address
# that resolves to the machine’s hostname. Without
# this, the metrics may appear to come from any
# interface and the DNS names associated with
# those IPs will be used to create the RRDs.
#mcast_join = 239.2.11.71
host = 192.168.100.100
port = 8649
ttl = 1
}
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
bind = 192.168.100.100
retry_bind = true
#Size of the UDP buffer. If you are handling lots of metrics you really
#should bump it up to e.g. 10MB or even higher.
#buffer = 10485760
}

4)、修改配置文件/etc/selinux/config

        sudo vim /etc/selinux/config

        修改为:

# This file controls the state of SELinux on the system.
#SELINUX= can take one of these three values:
#enforcing - SELinux security policy is enforced.
#permissive - SELinux prints warnings instead of enforcing.
#disabled - No SELinux policy is loaded.
SELINUX=disabled
#SELINUXTYPE= can take one of these two values:
#targeted - Targeted processes are protected,
#mls - Multi Level Security protection.
SELINUXTYPE=targeted

        提示:

        selinux本次生效关闭必须重启,如果此时不想重启,可以临时生效之:

        sudo setenforce 0

<5>启动ganglia

        sudo service httpd start

        sudo service gmetad start

        sudo service gmond start

<6>打开网页浏览ganglia页面

        http://192.168.100.100/ganglia

        一切都正常的情况下,可以看到类似的页面。

在这里插入图片描述

        提示:如果完成以上操作依然出现权限不足错误,请修改/var/lib/ganglia目录的权限:

        sudo chmod -R 777 /var/lib/ganglia

2、操作Flume测试监控

<1> 修改conf目录下的flume-env.sh配置:
JAVA_OPTS="-Dflume.monitoring.type=ganglia
-Dflume.monitoring.hosts=192.168.1.102:8649
-Xms100m
-Xmx200m"
<2>启动Flume任务
[root@node01 conf]# bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/netcat-logger.conf -Dflume.root.logger==INFO,console -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.100.100:8649
<3>发送数据观察ganglia监测图
[root@node01 ~]# nc node01  44444

        在Web页面,我们选择监控的节点

在这里插入图片描述

        往下翻,我们可以看见这样的一个监控画面

在这里插入图片描述
        图例说明:

字段(图表名称)字段含义
EventPutAttemptCountsource尝试写入channel的事件总数量
EventPutSuccessCount成功写入channel且提交的事件总数量
EventTakeAttemptCountsink尝试从channel拉取事件的总数量。这不意味着每次事件都被返回,因为sink拉取的时候channel可能没有任何数据
EventTakeSuccessCountsink成功读取的事件的总数量
StartTimechannel启动的时间(毫秒)
StopTimechannel停止的时间(毫秒)
ChannelSize目前channel中事件的总数量
ChannelFillPercentagechannel占用百分比
ChannelCapacitychannel的容量

小结

        关于Ganglia更多的演示说明就不过多叙述了,感兴趣的朋友们可以去http://ganglia.info/了解更多~

        受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波🙏

        希望我们都能在学习的道路上越走越远😉
在这里插入图片描述

Alice菌 CSDN认证博客专家 CSDN博客专家 大数据学者 追梦人
00后大数据学者,坚信技术成就自我。
个人原创公众号【猿人菌】,每日更新大数据干货,欢迎上车!
一天的生活就是一生的缩影。在最美的年华,做最好的自己!
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页