iot-backend/docs/dashboard/README.md

39 lines
1.4 KiB
Markdown

# Grafana
Grafana is an open source analytics and interactive visualization tool. It provides charts, graphs, and alerts for the web when connected to supported data sources.
As a visualization tool, Grafana is a popular component in monitoring stacks, often used in combination with time series databases such as InfluxDB.
## Connection
To connect Grafana to our Influx-DB, you have to create a data source.
The `URL`of our InfluxDB is `http://influxdb:8086`.
In InfluxDB you have to create a `token` to connect: [Load Data -> API Tokens](http://localhost:8086/orgs/721027680173bf2f/load-data/tokens).
![Influx Create Token](../flow/docs/images/influx-create-token.png)
You can use this token to [create a connection from Grafana to Influx-DB](http://localhost:3000/datasources/).
![Connection](./docs/images/database-connection.png)
After having a connection to a database you can easily create an own dashboard in Grafana.
Here's the demo snippet (directly copyied from Influx Data Explorer) and the screen shot.
```
from(bucket: "test")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "msg")
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: "mean")
```
![Example Dashboard](./docs/images/grafana-example-dashboard.png)
## CSV Import
See [CSV Import](./docs/csv-import.md).