IoTDB-Grafana
Outline
- IoTDB-Grafana
- Grafana installation
- Install Grafana
- Install data source plugin
- Start Grafana
- IoTDB installation
- IoTDB-Grafana installation
- Start IoTDB-Grafana
- Explore in Grafana
- Add data source
- Design in dashboard
- Grafana installation
IoTDB-Grafana
This project provides a connector which reads data from IoTDB and sends to Grafana(https://grafana.com/). Before you use this tool, make sure Grafana and IoTDB are correctly installed and started.
Grafana installation
Install Grafana
- Download url: https://grafana.com/grafana/download
- version >= 4.4.1
Install data source plugin
- plugin name: simple-json-datasource
- Download url: https://github.com/grafana/simple-json-datasource
After downloading this plugin, you can use the grafana-cli tool to install SimpleJson from the commandline:
grafana-cli plugins install grafana-simple-json-datasource
Alternatively, you can manually download the .zip file and unpack it into your grafana plugins directory.
{grafana-install-directory}\data\plugins\(Windows)/var/lib/grafana/plugins(Linux)/usr/local/var/lib/grafana/plugins(Mac)
Start Grafana
If you use Unix, Grafana will auto start after installing, or you can run sudo service grafana-server start command. See more information here
.
If you use Mac and homebrew to install Grafana, you can use homebrew to start Grafana. First make sure homebrew/services is installed by running brew tap homebrew/services, then start Grafana using: brew services start grafana. See more information here
.
If you use Windows, start Grafana by executing grafana-server.exe, located in the bin directory, preferably from the command line. See more information here
.
IoTDB installation
See https://github.com/apache/incubator-iotdb
IoTDB-Grafana installation
git clone https://github.com/apache/incubator-iotdb.git
Start IoTDB-Grafana
Option one
Import the entire project, after the maven dependency is installed, directly runincubatoriotdb/grafana/rc/main/java/org/apache/iotdb/web/grafanadirectoryTsfileWebDemoApplication.java, this grafana connector is developed by springboot
Option two
In /grafana/target/directory
cd incubator-iotdbmvn clean package -pl grafana -am -Dmaven.test.skip=truecd grafana/targetjava -jar iotdb-grafana-{version}.war
If you see the following output, iotdb-grafana connector is successfully activated.
$ java -jar iotdb-grafana-{version}.war. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v1.5.4.RELEASE)...
If you need to configure properties, move the grafana/src/main/resources/application.properties to the same directory as the war package (grafana/target)
Explore in Grafana
The default port of Grafana is 3000, see http://localhost:3000
Username and password are both “admin” by default.
Add data source
Select Data Sources and then Add data source, select SimpleJson in Type and URL is http://localhost:8888 

Design in dashboard
Add diagrams in dashboard and customize your query. See http://docs.grafana.org/guides/getting\_started/

config grafana
# ip and port of IoTDBspring.datasource.url=jdbc:iotdb://127.0.0.1:6667/spring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=org.apache.iotdb.jdbc.IoTDBDriverserver.port=8888# Use this value to set timestamp precision as "ms", "us" or "ns", which must to be same with the timestamp# precision of Apache IoTDB engine.timestamp_precision=ms# Use this value to set down sampling true/falseisDownSampling=true# defaut sampling intervalsinterval=1m# aggregation function to use to downsampling the data (int, long, float, double)# COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MAX_VALUE, AVG, MIN_TIME, MIN_VALUE, NOW, SUMcontinuous_data_function=AVG# aggregation function to use to downsampling the data (boolean, string)# COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MIN_TIME, NOWdiscrete_data_function=LAST_VALUE
The specific configuration information of interval is as follows
<1h: no sampling
1h~1d : intervals = 1m
1d~30d:intervals = 1h
>30d:intervals = 1d
After configuration, please re-run war package
java -jar iotdb-grafana-{version}.war
