一、Ganglia的组件

Ganglia包括如下程序,他们之间通过XML格式传递监控数据,达到监控效果。 
Gmetad 这个程序负责收集各个cluster的数据,并更新到rrd数据库中。 
Gmond 收集本机的监控数据,发送到其他机器上。收集其他机器的监控数据,供Gmetad读取。默认监听端口8649 
web front-end 一个基于web的监控界面,需要和Gmetad安装在同一个节点上,从Gmetad取数据,并且读取rrd数据库,生成图片,显示出来。 
二、Ganglia的工作模式
Ganglia的收集数据工作可以工作在单播(unicast)或多播(multicast)模式下,默认为多播模式。 
单播:发送自己收集到的监控数据到特定的一台或几台机器上,可以跨网段 
多播:发送自己收集到的监控数据到同一网段内所有的机器上,同时收集同一网段内的所有机器发送过来的监控数据。因为是以广播包的形式发送,因此需要同一网段内。但同一网段内,又可以定义不同的发送通道。
三、Ganglia的安装
Ganglia的安装非常简单,分为监控管理端(Gmetad)和客户端(Gmond)安装两部分,已经写成安装脚本,这里不在描述。
推荐安装版本是ganglia-3.4.0,可以在http://sourceforge.net/projects/ganglia/files/下载安装。
四、Ganglia的配置
这里介绍一个简单的Ganglia配置构架,即一个监控管理端和多个客户端,我们假定gmond工作在多播模式,并且有一个Cluster1的集群,里面有10台服务器(从host1到host10),在同一个网段内。
1、监控管理端配置
监控管理端的配置文件是gmetad.conf,在安装Ganglia的etc目录下可以找到,这个文件配置非常简单,介绍如下:
data_source "Cluster1" host1 host2
xml_port 8651
interactive_port 8652
rrd_rootdir "/var/lib/ganglia/rrds"
data_source参数定义了集群名字,以及集群中的节点。由于采用multicast模式,每台gmond节点都有本Cluster1内节点机器的所有监控数据,因此不需要把所有节点写入data_source中。建议写入不低于2个,在host1节点死机的时候,会自动找host2节点取数据。
xml_port定义了一个收集数据汇总的交互端口,如果不指定,默认是8651,可以通过telnet这个端口得到监控管理端收集到的客户端的所有数据。
interactive_port 定义了Web端获取数据的端口,这个端口在配置Ganglia的web监控界面时需要指定。
rrd_rootdir参数定义了rrd数据库的存放路径,gmetad收集到监控数据后,会更新到该目录下的对应的rrd数据库中。
上面通过data_source参数定义了一个监控集群,如果要监控多个应用系统,可以通过如下方式定义:
data_source "my cluster" 10 localhost  my.machine.edu:8649  1.2.3.5:8655
data_source "my grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651
data_source "another source" 1.3.4.7:8655  1.3.4.8
在定义集群节点的时候,可以采用主机名、IP地址等形式,也可以加端口,如果不加端口的话,默认是8649端口,同时可以设定采集数据的频率,如上面的“10 localhost、50 1.3.4.7:8655”等,分别表示每隔10秒钟、50秒钟采集一次数据。
2、客户端配置
客户端监控安装完成后,配置文件位于安装Ganglia的etc目录下,名称为gmond.conf,这个配置文件稍微复杂,介绍如下:
globals {
daemonize = yes        #以后台的方式运行
setuid = yes
user = nobody          #运行gmond的用户
debug_level = 0        #调试级别
max_udp_msg_len = 1472
mute = no            #哑巴,本节点将不会再广播任何自己收集到的数据到网络上
deaf = no             #聋子,本节点将不再接收任何其他节点广播的数据包
allow_extra_data = yes
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no             #是否使用gexec
send_metadata_interval = 0
}
cluster {
name = "Cluster1"     #本节点属于哪个cluster
owner = "junfeng"     #谁是该节点的所有者
latlong = "unspecified"   #在地球上的坐标,经度、纬度?
url = "unspecified"
}
host {
location = "unspecified"  
}
udp_send_channel {       #udp包的发送通道
mcast_join = 239.2.11.71   #多播,工作在239.2.11.71通道下。如果使用单播模式,则要写host = host1,单播模式下也可以配置多个udp_send_channel
port = 8649            #监听端口
ttl = 1
}
udp_recv_channel {           #接收udp包配置
mcast_join = 239.2.11.71   #同样工作在239.2.11.71通道下
port = 8649                #监听端口
bind = 239.2.11.71         #绑定
}
tcp_accept_channel {
port = 8649               #通过tcp协议监听的端口,远端可以通过链接8649端口得到监控数据
}
3、Ganglia之Web端配置
Ganglia的web监控界面是基于PHP的,因此需要安装PHP环境,PHP环境的安装不在介绍,可以在http://sourceforge.net/projects/ganglia/files/下载ganglia-web,然后放到web根目录即可,推荐下载ganglia-web-3.5.7版本。
配置ganglia的web界面比较简单,只需要修改几个php文件即可,首先第一个是conf_default.php,可以将conf_default.php重命名为conf.php,也可以保持不变,ganglia的web默认先找conf.php,找不到会继续找conf_default.php,需要修改的内容如下:
$conf['gmetad_root'] = "/var/lib/ganglia"; # ganglia web根目录
$conf['rrds'] = "${conf['gmetad_root']}/rrds"; #ganglia web读取rrds数据库的路径
$conf['dwoo_compiled_dir'] = "${conf['gmetad_root']}/dwoo/compiled"; #需要777权限
$conf['dwoo_cache_dir'] = "${conf['gmetad_root']}/dwoo/cache"; #需要777权限
$conf['rrdtool'] = "/opt/rrdtool/bin/rrdtool"; #指定rrdtool的路径
$conf['graphdir']= $conf['gweb_root'] . '/graph.d'; #生成图形模板目录
$conf['ganglia_ip'] = "127.0.0.1"; #gmetad服务器的地址
$conf['ganglia_port'] = 8652; #gmetad服务器的交互式提供监控数据端口发布
五、管理ganglia
所有配置操作完成后,即可启动ganglia服务了,首先在监控管理端启动gmetad服务:
/etc/init.d/gmetad start
接着启动apache的web服务:
/usr/local/apache2/bin/apachectl start
最后在每个客户端启动gmond服务:
/etc/init.d/gmond start
最后附上一张web截图:

分布式监控系统ganglia配置文档相关推荐

  1. Nagios监控系统安装及配置文档

    3. 前言 做为系统管理员,管理着几十台或几百台服务器在运行.一个非常迫切的需求就是希望了解服务器及服务器上运行的服务的运行状况,在服务器或服务出现当机或停止的时候能够第一时间知道,及时处理.以便最小 ...

  2. Ganglia:分布式监控系统

    Ganglia:分布式监控系统 Ganglia的核心包含gmond.gmetad以及一个Web前端.主要是用来监控系统性能,如:cpu .mem.硬盘利用率, I/O负载.网络流量情况等,通过曲线很容 ...

  3. 监控系统安装配置文档(Nagios+Cacti+Nconf)

    监控系统安装配置文档(Nagios+Cacti+Nconf) 一:Nagios环境的搭建 1.为以后的配置搭建安装环境 # yum install -y http* # yum install -y ...

  4. 浪潮服务器装系统2016,浪潮服务器系统安装及raid配置文档.pdf

    浪潮服务器系统安装及raid配置文档.pdf 浪潮多型号服务器操作系统安装操作步骤及raid阵列配置,包含bios设置,内容详细.1)主机序列号输入错误,请再次确认主机序列号是否准确2)生产日期早于2 ...

  5. java计算机毕业设计无人值守台球厅智能管理监控系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计无人值守台球厅智能管理监控系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计无人值守台球厅智能管理监控系统源码+系统+数据库+lw文档+mybat ...

  6. java计算机毕业设计无线通信基站监控及管理系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计物流站环境监测系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计物流站环境监测系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技 ...

  7. 博科系统怎么在电脑里装服务器,博科SAN存储交换机安装配置文档

    <博科SAN存储交换机安装配置文档>由会员分享,可在线阅读,更多相关<博科SAN存储交换机安装配置文档(12页珍藏版)>请在人人文库网上搜索. 1.word可编辑.Brocad ...

  8. 基于fastdfs-zyc搭建分布式监控系统

    基于中标麒麟操作系统搭建fastdfs-zyc分布式监控系统 1. 简介 2. 系统环境要求 3. 环境部署,直接上代码 4. 安装tomcat,jdk这步省略,可以自己百度Centos7安装tomc ...

  9. cat全链路监控_CAT分布式监控系统(一):CAT功能介绍 CAT监控系统是什么、能做什么?...

    CAT分布式监控系统(一):CAT监控系统功能介绍 本文概要: 1.CAT监控系统是什么. 2.CAT监控系统能做什么,能监控些什么. 下面有些截图是CAT 2.0版本的,但和3.0版本没什么区别的. ...

最新文章

  1. es6 日期字符串转日期_量化数据预处理-中文日期(含)转英文日期
  2. matlab 颜色图名称
  3. 【集训第四天·继续刷题】之 lgh怒刚ypj
  4. Xcode 7中Static Cells自动计算高度失效的解决方法
  5. VTK:PolyData之ThinPlateSplineTransform
  6. 7.1Python异常处理
  7. 需求、需求工程与需求工程师 — 6. 设计能力的要求
  8. [转载] Python 学习笔记 迭代器和生成器
  9. 早上内部资源共享讨论发言稿
  10. 阿里大佬浅谈大型项目前端架构设计
  11. mysql 协议还原_mysql备份还原方案xtrabackup
  12. 协方差检验用在什么地方_胶带还有什么隐藏功能,看看这几个,家里很多地方用得到...
  13. 如何正确选用无线模块天线
  14. 全栈工程师进阶路线图
  15. 虚拟仿真实验室 服务器,中国美术学院|虚拟仿真实验教学共享平台
  16. python字符串行列转换_Excel、SQL、Python分别实现行列转换
  17. PowerVR SDK
  18. 一不小心成了中国电力行业最大的无人机供应商,但曹飞的理想是推动整个产业变革
  19. 数字IC后端流程——(二)布局规划Floorplan
  20. PHP 7.2禁止类名为Object的巨坑

热门文章

  1. spark sql 数据类型转换_spark dataframe 类型转换
  2. ta leader是什么岗位_阿里专家:如何成为一名“值得跟”的Leader?
  3. php phar,PHP中phar(PHP Archive)包的创建并使用
  4. python登录各种网页示例_Python 通过爬虫实现GitHub网页的模拟登录的示例代码
  5. jquery 查找表格里的input_jquery获取input表单值的代码
  6. 北斗形变监测系统_一款基于北斗卫星定位边坡表面位移监测系统
  7. Python `__enter__` `__exit__`(with)
  8. Pandas 文本数据方法 repeat( )
  9. 计算机专业指南作业6,计算机专业指南的学习心得体会
  10. 怎么让照片变年轻_女生都想要变年轻,但是应该怎么做呐?其实有了背带裤就可以搞定...