Отправка показателей потока Spark для открытия tsdb

Как я могу отправить метрику из моего искрового потокового задания, чтобы открыть базу данных tsdb? Я пытаюсь использовать открытый tsdb в качестве источника данных в Grafana. Не могли бы вы помочь мне с некоторыми ссылками, где я могу начать.

Я вижу здесь открытый репортер tsdb, который выполняет аналогичную работу. Как я могу интегрировать метрики из задания Spark streaming, чтобы использовать это? Есть ли какие-то легкие варианты для этого.

Ответ 1

Один из способов отправки метрик в opentsdb - использовать REST API. Чтобы использовать его, просто преобразуйте метрики в строки JSON, а затем используйте библиотеку Apache Http Client для отправки данных (в java и, следовательно, их можно использовать в scala). Пример кода можно найти на github.


Более элегантным решением будет использование библиотеки показателей Spark и добавление раковины в базу данных. Было обсуждение о добавлении раковины OpenTSDB для библиотеки показателей Spark, однако, наконец, она не была добавлена ​​в Spark. Код доступен на github и должен быть доступен. К сожалению, код совместим с Spark 1.4.1, однако в худшем случае все же можно получить некоторые указания о том, что необходимо добавить.