Hi I’m pretty new to this. I’m wondering that it supports live data stream?
I have my own data stream pub-sub protocol, so could I directly push data to grafana and show it in real time? Without database. Thanks!
There is no streaming plugin or support for Grafana yet. The experimental Snap App plugin streams live data as does the closed source Splunk plugin. So it is fully possible if someone builds a general purpose plugin for streaming data to Grafana. Or you could build your own data source plugin that accepts data via your pub-sub protocol.
Websockets and live data streams are a long-term goal on the Grafana roadmap.
Thanks for the info! If I want to build my own plugin via my pub-sub, what API of grafana should I use? Since I didn’t find any API here that accepts real time data. Thanks!
Here is how it is done in the Snap App plugin:
-
In the query handler, the stream handler is started.
-
Here is the stream handler class: https://github.com/raintank/snap-app/blob/master/src/datasource/stream_handler.js
There is some documentation on creating plugins that might be useful:
Forgot to mention that there is a prototype of a live data data source too:
https://github.com/grafana/grafana/tree/master/public/app/plugins/datasource/grafana-live
You could build on that to make your own data source. Just rename _plugin.json to plugin.json, run grunt and then restart the Grafana Server to test it out. Then add a GrafanaLive data source and select the data source in a Graph:
Not sure how well this works though so no guarantees!
Hi @daniellee - how do specify and endpoint for grafana-live? We have a WebSocket api we want to test against.
I think you just put the endpoint address into the field named metric