我们需要收集有关多个服务器和业务流程的时间序列信息,并考虑使用 Graphite 。如果我们要显示原始数据似乎很好。但是,如果我们想对此数据进行BI并运行自定义查询该怎么办? Graphite 允许这样做吗,或者我可以指示 Graphite 在事后信息中存储数据?

最佳答案

Graphite 绝对允许您查询数据graphically and returning csv or json。 Graphite 查询不是使用sql之类的语言完成的。它们是通过functions完成的,它一次适用于一个指标。每个度量标准都是其自己的数据库,该数据库只是一系列时间,值对。

您可能想要的最常见的事情是汇总不同时间段内的数据。这是一个示例的url看起来像一个图表的示例,该图表每天汇总一周的数据:

http://graphite.example.com/render/?width=586&height=308&_salt=1355992522.674&target=summarize(stats_counts.mystat.subname%2C%20'1day')&from=-7days

如果要获取csv而不是图形,只需将format = json添加到URL。而且,如果您通过 Graphite 的Web界面查看数据,则只需输入以下内容即可查看同一图形。
summarize(stats_counts.mystat.subname, '1day')

首先,您要执行的大多数数据查询都将在 Graphite 编辑器中进行,这只是一个Web界面,可让您单击要添加到图形的指标,然后将各种功能应用到它们。

至于将数据添加到Postgres,您可能不想这样做来查询数据。数据的结构并没有真正适合关系数据库。

关于graphite - Graphite 中的自定义查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13919478/

10-15 20:18