本文地址:http://www.cnblogs.com/qiaoyihang/

一、Ganglia是什么?Ganglia主要用来解决什么样的问题?

ganglia是一个可扩展的分布式监控系统,用于监控和显示分布式集群节点的状态信息,比如CPU、内存、磁盘利用率、I/O负载、网络流量情况等方面的数据,这些信息是由运行在各个节点上的gmond守护进程来采集,然后汇总到gmetad守护进程中。这些数据使用rrdtool来存储,然后将这些历史数据以图表或曲线的方式通过PHP页面展示出来。

二、Ganglia架构原理

三、gmond是啥玩应?

安装在待监控的主机上,负责和操作系统交互获得需要关注的指标数据,可以简单地把它理解为一个数据收集的工具。

gmond根据操作系统定制的插件(这些插件是用C语言编写的)进行监控,即gmond在内部采用模块化设计。

gmond可以增加更多的用C、C++或Python等语言编写的插件来支持新的指标。

四、gmond的架构

五、gmond集群

一个集群有很多主机,每台gmond主机将指标数据多播到集群内的其他主机,所以每台gmond也必须记录从集群内其他主机收到的指标数据,即ganglia集群内的每个节点都知道同一集群内所有主机当前的指标数据(这些数据都是XML格式的),远程轮询器通过端口8649向集群内任意节点请求获得该集群的XML格式的所有指标数据,所以说只轮询集群内的单个节点就可以获得集群所有指标的数据,这样就解决了因单点故障影响整个系统的问题。

六、多播

Ganglia的收集数据工作可以工作在单播(unicast)或多播(multicast)模式下,默认为多播模式。

多播:发送自己收集到的监控数据到同一网段内所有的机器上,同时收集同一网段内的所有机器发送过来的监控数据。因为是以广播包的形式发送,因此需要同一网段内。但同一网段内,又可以定义不同的发送通道。

单播:发送自己收集到的监控数据到特定的一台或几台机器上,可以跨网段。

七、Gmond拓扑结构

(一)默认多播拓扑

(二)单发/单收多播拓扑

(三)单播拓扑

八、Gmetad

gmetad是一个简单的轮询器,对网络中每个集群进行轮询,并将每台主机上返回的所有指标数据写到各个集群对应的轮询数据库中。

对gmond集群进行轮询,并将指标数据保存到硬盘上

gmetad也可以从其他gmetad中轮询数据,构成一个联合层次架构。

多个轮询引擎可以进一步分散和减轻大型网络中指标数据收集的相关负荷

九、Gmetad拓扑结构

(一)基本拓扑结构:一个gmetad进程轮询一个或多个gmond

(二)高可用拓扑结构

(三)层次化gmetad结构(gmetad还可以轮询其他的gmetad)

十、RRDtool:(数据存储)

(1)RRDtool是什么?

指标数据存储在RRDtool(Round Robin Database轮询数据库)

(2)RRDtool的数据管理方式是什么?

RRDtool内部以“循环覆盖”的方式管理数据,即将新数据的值叠加到原来的数值上来覆盖原有数据

(3)RRDtool的数据管理方式的好处是什么?

这种数据存储方案不仅可以使用户对近期数据进行详细分析,而且可以用少量的硬盘空间存储数年的历史数据,这样就可以预先分配磁盘空间

十一、gweb:(数据可视化)ganglia可视化工具

gweb是一种PHP程序,一般将其运行在Apache网络服务器上,因为要和轮询器创建的RRD数据库进行交互,所以gweb通常和gmetad安装在相同的物理硬件上

用一张张把集群指标组合起来的图表来图像化的展示整个网络状态,并为更多的具体化分析提供完善的点击展开功能

gweb:下一代数据分析

补充:在操作上,每个守护进程都是独立的,运行时只需要按照各自的配置文件来操作就行,但是三者又是相互协作的,需要同时使用才能发挥功效。

Ganglia在线安装

1、检查防火墙状态并关闭防火墙

service iptables status

2、检查SElinux状态

sestatus

3、检查是否安装ganglia

rpm -qa | grep ganglia

4、运行下面代码更新资源

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

5、在需要监控的节点上安装gmond

yum install ganglia-gmond

6、修改/etc/ganglia/gmond.conf




7、启动gmond

使用命令service gmond start

8、然后执行telnet localhost 8649

出现了下面的XML内容表示gmond安装成功

9、安装gmetad

先下载 yum install ganglia-gmetad

10、cd /etc/ganglia

vi gmetad.conf

11、service gmetad start

12、telnet localhost 8651

13、安装gweb

yum install ganglia-web

14、cd /etc/httpd/conf.d

vi ganglia.conf

15、安装apache服务器以及PHP

yum install httpd php

16、将ganglia-web 安装目录链接到httpd 主站点目录apache服务器访问的根目录

ln -s /usr/share/ganglia /var/www/html

17、修改httpd 主站点目录下ganglia 站点目录的访问权限将ganglia 站点目录访问权限改为apache:apache否则会报错

chown -R apache:apache /var/www/html/ganglia

chmod -R 755 /var/www/html/ganglia

18、修改rrd 数据库存放目录访问权限将rrd 数据库存放目录访问权限改为ganglia:ganglia否则会报错

chown -R ganglia:ganglia /var/lib/ganglia/rrds

19、启动httpd

service httpd start

访问hostname/ganglia即可(这里的hostname是安装gweb以及gmetad的主机名或者ip

初识ganglia的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 使用ganglia监控hadoop及hbase集群

    一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...

  8. 开源监控软件ganglia安装手册

    Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标. Ganglia的强大在于:g ...

  9. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

随机推荐

  1. vue 插件

    开发插件 插件通常会为vue添加全局功能,插件的范围没有限制--一般有下面几种: 1,添加全局方法或者属性,例:vue-coustom-element 2,添加全局资源:指令.过滤器,.过渡等,如vu ...

  2. HTML5七巧板canvas绘图

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  3. 辛星和你彻底搞清CSS中的相对定位和绝对定位

    前面我在解读CSS中也说过了关于相对定位和绝对定位的问题.无奈还是有些童鞋表示迷茫,于是另开一篇博客,来具体解读相对定位和绝对定位.希望可以以我的点点星光,让后来者少走弯路. 所谓相对定位,就是设置为 ...

  4. linux应用time和timezone

    linux中应用层(非内核层)time是怎样处理的?时区是怎样设置的?夏令时时是怎样实现的?NTP时间同步是怎么回事?本篇文章就在嵌入式linux应用中time和timezone相关问题总结. 1. ...

  5. 【复习】密码算法——AES

    0 AES简介 1997年1月2号,美国国家标准技术研究所宣布希望征集一个安全性能更高的加密算法(AES)[3],用以取代DES.我们知道DES的密钥长度是64 bits,但实际加解密中使用的有效长度 ...

  6. 【PM面试题】设计一个股价推送工具

    这一轮面试时间比较短,问题在短时间内不能很全面展开,因此抓住一些关键点变得尤其重要,这里我记录下当时是怎么想这个问题的. 问题解析 子问题1:推送什么?从问题中看出我们需要推送的是股价,用户可以自定义 ...

  7. JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术

    JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术.从这一点来看,非常类似Microsoft ASP.PHP等技术.借助形式上的内容和外观表现的分 ...

  8. heap corruption detected错误解决方法调试方法以及内存管理相关

    1.heap corruption detected http://vopit.blog.51cto.com/2400931/645980   heap corruption detected:aft ...

  9. MS SqlServer 2008R2- Sql语句循环遍历生成百条随机数

    Sql语句,循环遍历生成区间5~20的随机数语句如下: are @i int DECLARE @Result INT DECLARE @Upper INT DECLARE @Lower INT ) ) ...

  10. Django 后台 无法显示文章标题

    我们会发现所有的文章都是叫 **object,这样肯定不好,比如我们要修改,如何知道要修改哪个呢? 我们修改一下 blog 中的models.py # coding:utf-8 from django ...