如何从 Java 代码获取 Ganglia 指标

How to get Ganglia metrics from Java code

声明

我有一个安装了 Ganglia 监控服务的集群。现在我想创建一个简单的前端可视化工具,它可以从 Ganglia 后端获取指标数据并将这些数据绘制成图表。这个可视化工具是Java写的,只需要获取监控数据就可以自己画图

问题

在 Java 应用程序的帮助下,从 Ganglia 获取一段时间内指标数据的最简单方法是什么?任何可以读取 Ganglia 的 RRD 文件的 Ganglia API 或面向 RRD 的 Java 库?

有一个名为 Ganglia-api 的 python 项目,它通过 tcp 请求指标并通过 URL 以 json 格式提供它们。在Java中可以查询、解析url等

或者您可以通过请求以下 url 直接从 ganglia-web 获取值:

 "http://yourhost/ganglia/graph.php?h="+hostName+"&m="+metricName+"&r=hour&c="+clusterName+"&json=1"   //values for period (hour/2hr/day ... etc)
 "http://yourhost/ganglia/api/metrics.php?host=" + hostName + "&metric_name="+metricName  //actual value
 "http://yourhost/ganglia/api/rundeck.php"  //hosts list