如何从 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
声明
我有一个安装了 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