发送 Spark 流指标以打开 tsdb

Sending Spark streaming metrics to open tsdb

如何将我的 Spark 流作业的指标发送到打开的 tsdb 数据库?我正在尝试使用开放的 tsdb 作为 Grafana 中的数据源。你能帮我提供一些我可以开始的参考资料吗?

我确实在这里看到 open tsdb reporter 做类似的工作。我如何整合来自 Spark 流作业的指标来使用它?有没有简单的选择来做到这一点。

将指标发送到 opentsdb 的一种方法是使用它 REST API. To use it, simply convert the metrics to JSON strings and then utilize the Apache Http Client library to send the data (it's in java and can therefore be used in scala). Example code can be found on github


一个更优雅的解决方案是使用 Spark 指标库并向数据库添加一个接收器。已经有一个discussion on adding an OpenTSDB sink for the Spark metrics library, however, finally it was not added into Spark itself. The code is avaiable on github,应该可以用。不幸的是,代码在 Spark 1.4.1 上是兼容的,但是,在最坏的情况下,仍然应该可以获得一些关于需要添加什么的指示。