以编程方式访问 Graphite 数据的最佳方式是啥? [关闭]
Posted
技术标签:
【中文标题】以编程方式访问 Graphite 数据的最佳方式是啥? [关闭]【英文标题】:What is the best way to access Graphite data programmatically? [closed]以编程方式访问 Graphite 数据的最佳方式是什么? [关闭] 【发布时间】:2013-12-03 02:41:02 【问题描述】:从 Graphite 渲染 API 访问数据的最佳方式是什么?
https://graphite.readthedocs.org/en/latest/render_api.html#data-display-formats
是否有兼容 JVM 的客户端实现? 或者有可能使用其他 API 来检索这些数据?
我确实意识到这种格式是自我描述的,它不是一门火箭科学,但重用和贡献而不是从头开始编写会很棒。
【问题讨论】:
所以答案是——目前没有合适的Java客户端。 【参考方案1】:正如您提到的,渲染 api 允许以下变量以及 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 中可用的所有目标(所有路径/指标)?以上是关于以编程方式访问 Graphite 数据的最佳方式是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式填充组合框 dojo (1.8) 的最佳方法是啥?
为 ASP.NET MVC 项目设置数据访问的最佳方式是啥?