您好我想询问是否有一个 API 可用于从单个 ganglia 服务器检索所有客户端的 Ganglia 统计信息?
3 回答
Ganglia gmetad 组件默认侦听端口 8651 和 8652,并使用 XML 度量数据进行回复。XML 数据类型定义可以在 GitHub 上查看。
需要将 Gmetad 配置为允许将 XML 回复发送到特定主机或所有主机。默认情况下只允许本地主机。这可以在 /etc/ganglia/gmetad.conf 中更改。
连接到端口 8651 将为您提供所有指标的默认 XML 报告作为响应。
端口 8652 是允许自定义查询的交互式端口。Gmetad 将识别发送到此端口的原始文本查询,即不是 HTTP 请求。
以下是一些查询的示例:
/?filter=summary
(返回整个网格的摘要,即所有集群)/clusterName
(返回名为“clusterName”的集群的原始数据)/clusterName/hostName
(返回集群“clusterName”中主机“hostName”的原始数据)/clusterName?filter=summary
(仅返回集群“clusterName”的摘要)
该?filter=summary
参数将输出更改为包含所有主机上每个指标值的总和。还为每个指标提供了主机数量,以便可以计算平均值。
是的,有一个用于 Ganglia 的 API:https ://github.com/guardian/ganglia-api
您应该查看 2012 Velocity Europe 的演示文稿 - 这真是一个很棒的演讲:http ://www.guardian.co.uk/info/developer-blog/2012/oct/04/winning-the-metrics-battle
您还可以使用“pip install gangliarest”从 pypi 安装一个 API,并设置一个由 Redis 缓存和索引器支持的可配置 API 以提高性能。