从石墨

时间:2015-09-10 06:59:08

标签: graphite

假设我有一个名为a.b.c.count的指标。我正在尝试编写一个python脚本,该脚本读取石墨中度量标准a.b.c.count的最新值。

我浏览了文档并发现我们可以使用curl使用函数http://graphite.readthedocs.org/en/0.9.13-pre1/functions.html从石墨中检索指标。

但仍然无法弄清楚如何实现同样的目标。

1 个答案:

答案 0 :(得分:4)

我还没有看到过向Graphite询问单个值的方法,但您可以在可配置的时间段内请求值的摘要,然后选择最后一个值。 (这只是为了最小化返回的数据,您可以轻松地从给定时间范围内的任何系列中提取最后一个值。)示例渲染参数:

target=summarize(a.b.c.count,'1hour','last')&from=-1h&format=json

返回的JSON将如下所示:

[{"target": "summarize(a.b.c.count, \"1hour\", \"last\")", 
  "datapoints": [[5.1333330000000004, 1442160000], 
                 [5.5499989999999997, 1442163600]]}]

以下是使用the 'requests' HTTP library

检索和解析此代码段的Python代码段
import requests
r = requests.get("http://graphite.yourdomain.com/render/?" +
                 "target=summarize(a.b.c.count,'1hour','last')&from=-1h&format=json")
print r.json()[0][u'datapoints'][-1][0]