ganglia组网方式及配置

上次写了ganglia安装,这次聊聊组网方式

基本概念

单播:一对一信息发送模式,目前ip网路主要运行在这种模式下。优点是路由方便,缺点是带宽利用率低。
组播/多播:信息统一发送到一个多播地址,需要信息的读取此多播地址就能获取。共用多播地址和水渠类似。优点是节省带宽,缺点是路由复杂。跨网段传送多播需要在路由上开启IGMP协议。
广播:一对所有。多播是限制范围的一种广播。

gmond:ganglia监控系统核心组件,分为两部分。一部分是采集监控指标并将指标数据发送到网络,另一部分是接受网络数据模块。监控数据通过配置文件定义的2个数据传输接口,1个是udp协议的接口,可以发送到多播地址或其他gmond的udp recive接口;另一个是tcp监听接口,可以接受gmetad轮询,返回xml格式的监控数据。一主动,一被动。
gmetad:ganglia监控数据汇总模块。功能为1)轮询gmond获取监控数据,2)将监控数据转发给RRDtool,便于RRDtool将数据存储为文件和画图。3)可轮询其他gmetad,组成层次化数据传输结构。
gweb:使用RRDtool读取监控数据并将数据展示在web浏览器。

组网方式

  1. 同一个子网内使用多播收发
    此种方式为ganglia默认组网方式,每个gmond都从网络获取相同多播地址的集群状态。使用gstat -a 可以查询所有机器状态。gmated选择轮寻1,2个机器就能知道集群内所有机器资源使用情况。缺点:默认多播不能跨网段传输。
  2. 同一子网使用单发单收模式
    并不是所有的gmond都需要获取整个集群性能数据,可以配置大部分gmond节点为单发模式,发送给集群内特定的几台gmond节点。特定的gmond节点作为数据汇总节点,不作为集群成员参与性能统计。gmond单收节点获取集群性能后等待gmetad论询。优点:节省资源。
  3. 同一子网单播收发模式
    与传统监控系统类似,gmond节点设置中心节点地址,主动将数据发送到中心节点。gmetad论询中心节点获取集群性能。
  4. 不同子网多播单播混合模式。
    同一子网内gmond使用多播收发模式,gmetad位于集群子网内或外,能访问gmond节点的tcp 8649端口。gmetad论询其中1,2台gmond主机即可。

故障排查

gstat -a 无数据
gstat 默认向本地或多播地址查询数据,若本地gmond udp send chanel 设置为其他地址,gstat -a就无法查询到数据。可使用gstat -i ip -a 向指定接收地址查询数据。

修改配置文件中debug字段>1 ,启动gmond或gmetad服务就会在前台运行并打印日志,debug级别越高,日志记录越详细。

后续问题

自定义监控项

参考链接

http://www.ttlsa.com/ganglia/ganglia-monitor-system/
http://www.cnblogs.com/airsong23/p/3895684.html