Grafana Datasource for Sidewinder Time Series Database
Sidewinder is an open source fast time series database designed for real-time analytics. It can be used for a variety of usage cases that need storage of metrics data like APM and IoT. You can learn more about Sidewinder at http://sidewinder.srotya.com or https://github.com/srotya/sidewinder
To build this plugin:
git clone https://github.com/srotya/sidewinder-grafana.git
cd sidewinder-grafana
npm -g install yarn; yarn install; npm run build
cp -r ./dist /var/lib/grafana/plugins/sidewinder
on Linux
Make sure you have deployed Sidewinder and have the REST URL available. By default Sidewinder runs on port 8080
To create a new Sidewinder Grafana datasource:
- open Grafana
- Click Grafana Icon->Data Sources
- Click Add data source
- Give the data source a name
- Select Type to Sidewinder
- Provide the Url to http://sidewinder-host:sidewinder-port/database-name
- Leave Access to proxy
- [Optional] Configure Basic Auth if authentication is enabled on Sidewinder
- Click Add
Note: If you don't have a database created, you can use the _internal database used to store DB's performance metrics
Here's how an example data source should look like:
Sidewinder support visual query building using an editor. There is support for auto-complete for all non-numeric fields (Measurement, Value Field, Tags). Please refer to Sidewinder data model to understand the significance of different concepts.
Note: As of plugin version 0.2.0, Tag Key Value support is added to the Grafana plugin. Sidewinder version 0.0.38+ is needed for Key Value support
Here's how an example Visual Query should look like:
You can also use the Time Series Query Language to create panels. Please note that because Grafana provides the time ranges, you can't provide start and end time in the TSQL string. Please refer to the docs for more details on TSQL.
Here's how an example TSQL Query should look like:
Because Sidewinder supports TSQL, grafana templated dashboards can be created. You can create auto-complete suggestions for variables:
- For FIELD name suggestion simply type
measurementname
in the "metric name or tag query field" - For TAG suggestion simply type
measurementname.*
in the "metric name or tag query field"