tree: 5228adbaaf12f0de3899a93b3891b66b0e60acf1 [path history] [tgz]
  1. img/
  2. src/
  3. pom.xml
  4. readme.md
  5. readme_zh.md
grafana/readme.md

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

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

Install data source plugin

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/iotdb

IoTDB-Grafana installation

git clone https://github.com/apache/iotdb.git

Start IoTDB-Grafana

Option one

Import the entire project, after the maven dependency is installed, directly runiotdb/grafana/rc/main/java/org/apache/iotdb/web/grafanadirectory TsfileWebDemoApplication.java, this grafana connector is developed by springboot

Option two

In /grafana/target/directory

cd iotdb
mvn clean package -pl grafana -am -Dmaven.test.skip=true
cd grafana/target
java -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 IoTDB 
spring.datasource.url=jdbc:iotdb://127.0.0.1:6667/
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=org.apache.iotdb.jdbc.IoTDBDriver
server.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/false
isDownSampling=true
# defaut sampling intervals
interval=1m
# aggregation function to use to downsampling the data
# COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MAX_VALUE, AVG, MIN_TIME, MIN_VALUE, NOW, SUM
function=avg

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