将键/值对数据推送到graphite / grafana

时间:2018-03-29 09:01:50

标签: visualization monitoring metrics grafana graphite

我们正在努力研究石墨是否适合我们的使用案例。所以我们有很多公共参数。像键值对一样。 说:

数据: 来电显示:ABC 网站:XYZ Http状态:400 6-7更多相似字段(键值对)。

此数据会持续过帐以用于数据报告。我们想要的是对这些数据进行可视化。

我们希望图表可以显示网站上有多少400个等等。这些网站是400个以上的热门网站或来电者。

现在我们想知道这是否可以用石墨完成。

但我们有疑问。石墨存储数值。那么我们将如何用石墨代表这一点。

这样的东西?

Clicks.metric.status.400 1 currTime
Clicks.metric.site.xyz 1 currTime
Clicks.metric.caller.abc 1 currTime

添加1作为记录事件的数值。

另外,我们将如何将这组值组合在一起。

例如,此http状态适用于此站点,因为它是一条记录。 在这种情况下,我们需要像

这样的东西
Clicks.metric.status.{uuid1}.400 1 currTime
Clicks.metric.site.{uuid1}.xyz 1 currTime

我们的目标是然后使用grafana来绘制这些数据的图表,因为哪些顶级网站显示400状态? 这样可以吗? 问候

1 个答案:

答案 0 :(得分:0)

Graphite接受三种类型的数据:plaintext, pickled, and AMQP

  

明文协议是最直接的协议支持   通过Carbon。

     

发送的数据必须采用以下格式:<metric path> <metric value> <metric timestamp>。然后,碳将有助于翻译这条线   将文本转换为Web界面和Whisper理解的指标。

如果你是石墨的新手(听起来像你),明文绝对是最容易使用的。

至于如何对指标进行分组并对其执行操作,您必须记住,石墨本身不会存储任何这些。它存储timeseries metrics,并提供操作该数据的功能,以便进行可视/报告。因此,当您发送指标prod.host-abc.application-xyz.grpc.GetStatus.return-codes.400 1 1522353885时,您所做的只是在时间戳1存储该特定指标的值1522353885。然后,您可以使用石墨函数显示该数据,例如:sumSeries(prod.*.application-xyz.grpc.GetStatus.return-codes.400)将从所有主机生成sum400个错误代码。