Ganglia分布式监控部署

Ganglia企业级系统监控

1.现在有哪些分布式企业级监控?

(1).Ganglia(无界面配置)
(2).Nagios(无界面配置)
(3).Zabbix(界面配置)

2.Ganglia监控对象

(1).监控Hadoop(在这方面用的比较多)
(2).监控Hbase

3.Ganglia简介

Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。
每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。
它将从操作系统和指定主机中收集。
接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。
正因为有这种层次结构模式,才使得Ganglia可以实现良好的扩展。gmond带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能

3.1.Ganglia组件

Ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口,通常被称为ganglia-web。

Gmond :是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息 
如果它是一个发送者(mute=no)它会收集基本指标,比如系统负载(load_one),CPU利用率。
它同时也会发送用户通过添加C/Python模块来自定义的指标。 
如果它是一个接收者(deaf=no)它会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中。

Gmetad:也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。
它可以查询多个集群并聚合指标。
它也被用于生成用户界面的web前端。

Ganglia-web :顾名思义,它应该安装在有gmetad运行的机器上,以便读取RRD文件。 
集群是主机和度量数据的逻辑分组,比如数据库服务器,网页服务器,生产,测试,QA等,他们都是完全分开的,你需要为每个集群运行单独的gmond实例。

一般来说每个集群需要一个接收的gmond,每个网站需要一个gmetad。

3.2.单播模式下的Ganglia

Markdown

3.3.广播模式下的Ganglia

Markdown

4.Ganglia安装

4.1.节点部署服务情况

node01(192.168.230.10)、node02(192.168.230.11)、node03(192.168.230.12)、node04(192.168.230.13)
NameNode(NNA)                                                           NameNode(NNS)
                               DataNode            DataNode             
ResourceManager(RMA)                                                    ResourceManager(RMS)
                               NodeManager         NodeManager          NodeManager
                               zookeeper           zookeeper            zookeeper

4.2.安装yum epel源

[root@node01 ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@node02 ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@node03 ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@node04 ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Markdown

4.3.安装依赖包

[root@node01 ~]# yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
[root@node02 ~]# yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
[root@node03 ~]# yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
[root@node04 ~]# yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig

Markdown

4.4.查看Ganglia安装包

[root@node01 ~]# yum search ganglia

Markdown

4.5.在NNA上安装Ganglia

yum -y install ganglia* (包括gmetad,gmond,ganglia-web)

[root@node01 ~]# yum -y install ganglia*

Markdown

4.6.其他节点上安装Ganglia-Gmond

[root@node02 ~]# yum install ganglia-gmond
[root@node03 ~]# yum install ganglia-gmond
[root@node04 ~]# yum install ganglia-gmond

Markdown

4.7.在安装好Ganglia后,我们需要对Ganglia工具进行配置,在由Ganglia-web服务的节点上,我们需要配置web服务

[root@node01 hadoop-2.5.1]# vi /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
</Location>

Markdown

4.8.在/etc/ganglia/gmetad.conf修改内容如下所示:

[root@node01 hadoop-2.5.1]# vi /etc/ganglia/gmetad.conf

Markdown

4.9.在NNA配置gmond.conf

[root@node01 hadoop-2.5.1]# vi /etc/ganglia/gmond.conf

Markdown

Markdown

[root@node01 hadoop-2.5.1]# scp -r /etc/ganglia/gmond.conf root@node02:/etc/ganglia/
[root@node01 hadoop-2.5.1]# scp -r /etc/ganglia/gmond.conf root@node03:/etc/ganglia/
[root@node01 hadoop-2.5.1]# scp -r /etc/ganglia/gmond.conf root@node04:/etc/ganglia/

4.10.配置主节点监控文件

[root@node01 hadoop-2.5.1]# vi /opt/modules/hadoop-2.5.1/etc/hadoop/hadoop-metrics2.properties

namenode.sink.ganglia.servers=node01:8649
resourcemanager.sink.ganglia.servers=node01:8649
mrappmaster.sink.ganglia.servers=node01:8649
jobhistoryserver.sink.ganglia.servers=node01:8649

4.11.从节点配置

[root@node02 hadoop-2.5.1]# vi /opt/modules/hadoop-2.5.1/etc/hadoop/hadoop-metrics2.properties

datanode.sink.ganglia.servers=node02:8649
nodemanager.sink.ganglia.server=node02:8649

[root@node02 hadoop-2.5.1]# vi /opt/modules/hadoop-2.5.1/etc/hadoop/hadoop-metrics2.properties

datanode.sink.ganglia.servers=node03:8649
nodemanager.sink.ganglia.server=node03:8649

[root@node04 hadoop-2.5.1]# vi /opt/modules/hadoop-2.5.1/etc/hadoop/hadoop-metrics2.properties

datanode.sink.ganglia.servers=node04:8649
nodemanager.sink.ganglia.server=node04:8649

4.12.安装 php环境

ganglia使用一个web前端服务来展示监控信息。该服务是使用PHP编写的。因此需要配置php运行环境。

[root@node01 ~]# yum install httpd
[root@node01 ~]# yum install php
[root@node01 ~]# service httpd start

在/var/www/html/下面建立一个文件info.php,内容如下:
<?php 
    echo 'Hello, world!'; 
?> 
在浏览器中输入http://192.168.230.10/info.php,看看是否能正常工作

Markdown

4.13.启动ganglia

[root@node01 html]# service gmetad start
[root@node01 html]# service gmond start  

Markdown

4.14.从页面上访问

http://192.168.230.10/ganglia

一些注意问题:
1、gmetad收集到的信息被放到/var/lib/ganglia/rrds/
2、可以通过以下命令检查是否有数据在传输

如果报错There was an error collecting ganglia data (127.0.0.1:8652): 
fsockopen error: Connection refused,然后gmetad status显示gmetad 已死,
但是 subsys 被锁,这需要改一下目录的权限 chown matrix:matrix /var/lib/ganglia/rrds即可解决。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值