知识库 : 一种使用Ganglia监控外部程序的方法

Edit Document

一种 使用G anglia监控外部 程序 方法

 

 

目录

概述

Ganglia 架构

实现方式

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

概述

集群环境中, 实时监测 各个服务的状态 及时了解集群的运行情况, 集群管理很重要,其中 G anglia 这方面使用比较广泛,本文介绍一种使用 G anglia 监控外部 程序 方法

G anglia 架构

先简单 了解一下 G anglia 机制, 一张 G anglia 架构图, 其中 gmond 一个守护进程,它运行在每一个需要监测的节点上,收集监测数据,发送和接收在同一组播或单播通道上的统计信息。 Gmetad 也是 一个守护进程,它定期检查 gmond 从那里拉取数据,并将他们的指标存储在 RRD 存储 库中。 通过 RRD Tool 可以 查询多个集群 聚合 监控 指标 数据 同时 它也被 用于生成 用户界面 Web 前端 更多 G anglia 技术 细节可以网上了解下,这里就不多说明了。

实现方式

外部 程序 通过引入 JMXetric 实现 监控数据的收集和发送。JMXetric 一个 可以 驻留在 JVM中的agent程序, 它会 定时 拉取 MBean的 数据,并把数据发送到 G anglia 从而 实现 对外部程序运行状态的监控。 数据 流向如下图示。

下面 我以添加对 S olr 监控 为例进行说明:

1 、在 G anglia data_Source 增加 Solr 配置 条目,

这里 增加了 UDHSolrServer 条目,用于 监控 S olr 集群 ,其中 udh-yf-dev-28.yonyou.com gmetad 所在 主机名,当然 这里 也可以把所有 ganglia 集群 里主机都配上,其中 8811 数据监控和收集端口。

 

2 、引入 JMX etric Solr 的启动参数里,增加 以下 启动参数:

这样 Solr 服务启动 后, JMXetric 驻留在 S olr JVM ,定时向 Ganglia 发送 监控数据。

其中 JMXetric 监控 哪些数据,向哪里发送数据都是通过 配置 文件进行定义。

3 、配置 文件 jmxetric.xml

假如 我们只监控 JVM Momery JVM Threads JVM GC 三类 信息,具体配置如下:

 

4 Ganglia 收集 数据后,会存储在 RRD 中,我们通过 RRDT ool 可以 获取收集到的时间序列数据,用于图标展示,下图就是收集到的 S olr 数据 的图标展示。

 

Attachments:

一种使用Ganglia监控外部程序的方法.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)