假设我有一个名为的指标a.b.c.count.我正在尝试编写一个python脚本,它读取a.b.c.count石墨中度量标准的最新值.
我浏览了文档并发现我们可以使用curl使用函数http://graphite.readthedocs.org/en/0.9.13-pre1/functions.html从石墨中检索指标.
但仍然无法弄清楚如何实现同样的目标.
我还没有看到向 Graphite 询问单个值的方法,但您可以询问可配置期间内的值摘要,并取最后一个。(这只是为了最小化返回的数据,您可以轻松地从给定时间范围内的任何系列中提取最后一个值。)示例渲染参数:
target=summarize(a.b.c.count,'1hour','last')&from=-1h&format=json
Run Code Online (Sandbox Code Playgroud)
返回的 JSON 将如下所示:
[{"target": "summarize(a.b.c.count, \"1hour\", \"last\")",
"datapoints": [[5.1333330000000004, 1442160000],
[5.5499989999999997, 1442163600]]}]
Run Code Online (Sandbox Code Playgroud)
这是一个使用“请求”HTTP 库检索和解析它的 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]
Run Code Online (Sandbox Code Playgroud)