Api 以编程方式访问Graphite数据的最佳方式是什么?

Api 以编程方式访问Graphite数据的最佳方式是什么?,api,graphite,Api,Graphite,从Graphite render API访问数据的最佳方式是什么 是否有与JVM兼容的客户端实现? 或者有可能使用其他API检索此数据 我确实意识到格式是自描述性的,它不是一门火箭科学,但最好是重用和贡献,而不是从头开始编写- &format=png &format=raw &format=csv &format=json &format=svg 对于这样的实现,您可以进行简单的curl调用,如: curl "http://graphite.com/r

从Graphite render API访问数据的最佳方式是什么

是否有与JVM兼容的客户端实现? 或者有可能使用其他API检索此数据


我确实意识到格式是自描述性的,它不是一门火箭科学,但最好是重用和贡献,而不是从头开始编写-

&format=png
&format=raw
&format=csv
&format=json
&format=svg
对于这样的实现,您可以进行简单的curl调用,如:

curl "http://graphite.com/render/?target=carbon.agents.host.creates&format=json"
电话将返回:

[{
    "target": "carbon.agents.ip-10-0-0-111-a.creates", 
    "datapoints": [
        [4.0, 1384870140], 
        [1.0, 1384870200], 
        [18.0, 1384870260], 
        [0.0, 1384870320], 
        [4.0, 1384870380], 
        [12.0, 1384870440], 
        [3.0, 1384870500],
        [7.0, 1384870560], 
        [8.0, 1384870620], 
        [null, 1384870680]
    ]
}]
因为这是很简单的,所以实现一些只用于进行curl调用的东西是非常蹩脚的。社区所做的是,他们将这些作为定制前端、查询警报脚本、nagios插件等的基本构建块


您需要更具体的信息吗?

谢谢您的回复!我真的很懒,目前正在编写几百行代码来创建包装器,所以我想知道以前是否有人做过。有一些非常有趣的函数可以节省大量的时间和/或算术。例如,target=groupByNode(Application.timers.production.machinerole.*.message.time,6,“averageSeries”)将对整个子树进行分组,并将其平均到第6个深度。@erbdex:我有一个问题:是否有方法返回所有目标(所有路径/度量)这在Graphite中是可用的?所以答案是-目前没有合适的Java客户机。