1.ganglia组件

ganglia 相比于falconzabbix主要在于集群的状态集中显示,可以很便捷的对比各主机的性能状态。

  • gmond:相当于是agent端,主要用于收集各node的性能状态
  • gmetad:相当于是server端,从gmond以poll的方式收集和存储原数据
  • ganglia-web:相当于一个web页面,读取gmetad存储于rrd中的数据进行web展示

2.ganglia工作模式

  • 多播模式:适用于同一网段,各gmond节点相互发送数据,然后gmetad从自身配置文件中的data_source设置值中依次读取,如果第一个数据源读取失败,则会读取下一处数据源数据。
  • 单播模式:能跨网段工作,各gmond节点将数据统一发送于同一节点,然后gmetad再从中读取数据。

多播模式配置比较简单,gmond节点无需配置直接启动即可运行。

本文采用单播模式安装

3.ganglia部署

[root@jump-halo hosts]# ansible kylin --list-host
hosts (32):
10.239.1.35
10.239.1.36
10.110.80.21
10.110.80.23
10.110.80.36
以下略
进程 ip
gmetad 10.239.1.35
ganglia-web 10.239.1.35
gmond 以上所有主机

3.1 gmetad端安装

epel源中均存在rpm包,可以直接yum安装

[root@10-239-1-35 ganglia]# yum install -y ganglia-web.x86_64
[root@10-239-1-35 ganglia]# yum install -y ganglia-gmetad.x86_64
[root@10-239-1-35 ganglia]# yum install -y nginx php-fpm
[root@10-239-1-35 ganglia]# pwd
/etc/ganglia
[root@10-239-1-35 ganglia]# vim gmetad.conf
[root@10-239-1-35 nginx]# vim nginx.conf
[root@10-239-1-35 nginx]# vim conf.d/default.conf
[root@10-239-1-35 nginx]# service php-fpm start
Starting php-fpm: [ OK ]
[root@10-239-1-35 nginx]# service nginx start
Starting nginx: [ OK ]
[root@10-239-1-35 nginx]# service gmetad start
Starting GANGLIA gmetad: [ OK ]
[root@10-239-1-35 nginx]# service gmond start
Starting GANGLIA gmond: [ OK ]
[root@10-239-1-35 nginx]# chkconfig --add nginx
[root@10-239-1-35 nginx]# chkconfig --add php-fpm
[root@10-239-1-35 nginx]# chkconfig nginx on
[root@10-239-1-35 nginx]# chkconfig php-fpm on
[root@10-239-1-35 nginx]# chkconfig --add gmetad
[root@10-239-1-35 nginx]# chkconfig --add gmond
[root@10-239-1-35 nginx]# chkconfig gmetad on
[root@10-239-1-35 nginx]# chkconfig gmond on
[root@10-239-1-35 nginx]# chkconfig --list | egrep "nginx|php-fpm|gmond|gmetad"
gmetad 0:off 1:off 2:on 3:on 4:on 5:on 6:off
gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off

3.2 gmetad的配置文件更改

[root@10-239-1-35 ganglia]# grep ^[^#] /etc/ganglia/gmetad.conf
data_source "bigdata-kylin" localhost
gridname "kylin"
setuid_username ganglia
case_sensitive_hostnames 0
  • data_source "bigdata-kylin" localhost此处设置cluster名称,gmond端务必一致,特别是在多播模式中,依此进行识别,最后的localhost是gmond传输的节点,因为设置gmond端将所有数据传输于gmetad处的的gmond节点,所以可以设置为localhost
  • gridname "kylin" 此处为web端cluster处显示名称,无太多作用,就是为了去掉web中最上端显示的unspecial

3.3 gmetad端web配置文件设置

ganglia-web并不需要设置,此处主要为nginx与php-fpm的配置文件更改,php-fpm配置无需更改

[root@10-239-1-35 ganglia]# cat /etc/nginx/conf.d/default.conf
server {
listen 80 default_server;
server_name _;
root /usr/share/ganglia;
index index.php;
include /etc/nginx/default.d/*.conf; location / {
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} error_page 404 /404.html;
location = /40x.html {
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

3.4 gmond端安装

[root@jump-halo hosts]# ansible kylin -f 10 -m shell -a "yum install ganglia-gmond.x86_64 -y"
[root@jump-halo hosts]# ansible kylin -f 10 -m copy -a "dest=/etc/ganglia src=/tmp/gmond.conf"
[root@jump-halo hosts]# ansible kylin -f 10 -m shell -a "service gmond start"

需要注意的是,gmetad端的gmond需要优先于其它节点的gmond启动

3.5 gmond配置文件

主要更改之处

[root@10-239-1-35 ganglia]# grep ^[^#] /etc/ganglia/gmond.conf
以上略
cluster {
name = "bigdata-kylin" ##需要与gmetad中定义的datasource名称一致
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
/* The host section describes attributes of the host, like the location */
host {
location = "unspecified"
}
/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
#mcast_join = 239.27.1.1 ## 此处为多播设置,单播模式要去掉
host = 10.239.1.35 ##向gmond传送数据的ip,设置
port = 8649 ## 接收gmond节点的端口
ttl = 1
}
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
port = 8649 ##gmond自身节点的端口
bind = 0.0.0.0 ##gmond监听地址,去掉也可以
retry_bind = true
}
以下略

4.ganglia web页面显示

可以看出,所有节点的状态图均在同一web页面进行展示,在Metric 处可以进行监控项的选择对比

5.ganglia节点删除

[root@10-239-1-35 bigdata-kylin]# ll
total 224
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-101-105
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-101-106
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-168
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-169
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-170
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-171
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-172
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-173
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-174
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-144-175
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-150-199
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-150-234
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:31 10-110-152-21
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-110-152-25
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-156-191
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-21
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-23
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-36
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-110-80-56
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:49 10-239-1-104
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:37 10-239-1-105
drwxr-xr-x 2 ganglia ganglia 20480 Aug 8 16:24 10-239-1-35
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:23 10-239-1-50
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:23 10-239-1-51
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:22 10-239-1-64
drwxr-xr-x 2 ganglia ganglia 4096 Aug 8 16:25 10-239-1-75
drwxr-xr-x 2 ganglia ganglia 12288 Aug 8 16:25 10-239-1-76
drwxr-xr-x 2 ganglia ganglia 20480 Aug 8 16:23 __SummaryInfo__
[root@10-239-1-35 bigdata-kylin]# pwd
/var/lib/ganglia/rrds/bigdata-kylin

down掉对应节点的gmond服务,同时需要删除gmetad节点中/var/lib/ganglia/rrds/bigdata-kylin中对应主机的数据目录即可

6.其它

在ganglia-web中的grid之后,有source的选择,即可以选择分组,此处的分组,可以在gmetad中进行设置

/etc/ganglia/gmetad.conf中,可以进行如下设置

data_source "bigdata-kylin" localhost
data_souce "hadoop-kylin" 10.239.1.76
data_souce "letv-kylin" localhost:7387
gridname "kylin"

相关说明如下:

  • data_source "bigdata-kylin" localhost可看gmeta配置说明,此处不再作说明
  • data_souce "hadoop-kylin" 10.239.1.76 此处gmetad不再在本机的gmond中取得数据,会从10.239.1.76主机中取数据,如果有host仅需要加入到hadoop-kylin组,则需要将该hosts中的cluster和host指向10.239.1.76
  • data_souce "letv-kylin" localhost:7387 与第一项不同的就是端口号,同理第二项,需要更改gmond中指定的udp_send_channel端口号

ganglia监控部署的更多相关文章

  1. CentOS下ganglia监控部署

    第一步:CentOS环境准备 1.yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel ...

  2. Ganglia监控Hadoop集群的安装部署[转]

    Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...

  3. Ganglia监控Hadoop集群的安装部署

    一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机器:192.168.52.31,192.168.52.32,192.16 ...

  4. Ganglia 监控Hadoop

    Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...

  5. 高可用Hadoop平台-Ganglia安装部署

    1.概述 最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的.今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容 ...

  6. Hadoop生态圈-使用Ganglia监控flume中间件

    Hadoop生态圈-使用Ganglia监控flume中间件 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Ganglia监控简介 加州伯克利大学千禧计划的其中一个开源项目.是一 ...

  7. 第十二章 Ganglia监控Hadoop及Hbase集群性能(安装配置)

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

  8. ganglia监控自己定义metric实践

    Ganglia监控系统是UC Berkeley开源的一个项目,设计初衷就是要做好分布式集群的监控.监控层面包含资源层面和业务层面,资源层面包含cpu.memory.disk.IO.网络负载等,至于业务 ...

  9. ganglia 一站式部署

    1    ganglia集群监测系统简介 1.1        ganglia简介 ganglia是一款为HPC(高性能计算) 集群设计的可扩展性 的分布式监控系统,它可以监视和显示集群中节点的各种状 ...

随机推荐

  1. LOJ6435 PKUSC2018 星际穿越

    这个题吧当时在考场只得了45分 然后70分的性质都分析到了 不知道为啥就是写萎蛋了 哎 当时还是too young too simple 看了一下julao们的博客这个题有两种做法 一个是比较费脑子的 ...

  2. Maven项目的pom.xml配置文件格式初识

    Maven项目 有pom.xml文件的项目就已经是一个maven项目了,但是还没有被maven托管,我们需要将该项目添加为maven项目 <project xmlns="http:// ...

  3. hive的数据定义之创建数据库和表

    1.对数据库的操作 create database hive_db //创建数据库hive_db create table hive_db.test(字段内容及其格式省略) //在数据库hive_db ...

  4. python在mapreduce运行Wordcount程序

    首先脚本文件: mapper.py: #!/usr/bin/env python import sys for line in sys.stdin: line = line.strip() words ...

  5. boost system

    boost::system::error_code is the most basic class in Boost.System; it represents operating system-sp ...

  6. SSH框架整合-myeclipse

    项目结构   1.mysql数据库 stuinfo /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.5.40 : Database - stuinfo ****** ...

  7. html 的一些基础操作

    花了一天学了点html语言..不记下来的话又白学了 基础中的基础格式 <!DOCTYPE html> <html> <head> <!-- 字符集的选择 ut ...

  8. iptables防火墙相关命令详解

    前提基础: 当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发. iptables实现防火墙功能 ...

  9. CMMI模型

    CMMI的成熟度级别 初始级(过程不可预测,管理和控制差,是反应式的)管理级(过程处于项目级,经常是反应式的)定义级(过程已经提升到组织级(OSSP))定量管理级(对过程进行度量,并进行统计控制)优化 ...

  10. GridManager 隐藏列

    GridManager 表格管理组件, 对列的隐藏与显示的操作有两种方式. 初始化时指定列为隐藏或显示状态.方式如下: <table></table> var table = ...