系统集成
Grafana-IoTDB
Grafana是开源的指标量监测和可视化工具,可用于展示时序数据和应用程序运行分析。Grafana支持Graphite,InfluxDB等国际主流时序数据库作为数据源。在IoTDB项目中,我们开发了Grafana展现IoTDB中时序数据的连接器IoTDB-Grafana,为您提供使用Grafana展示IoTDB数据库中的时序数据的可视化方法。
Grafana的安装与部署
安装
- Grafana组件下载地址:<https://grafana.com/grafana/download>
- 版本 >= 4.4.1
simple-json-datasource数据源插件安装
- 插件名称: simple-json-datasource
- 下载地址: <https://github.com/grafana/simple-json-datasource>
具体下载方法是:到Grafana的插件目录中:{Grafana文件目录}\data\plugins\(Windows系统,启动Grafana后会自动创建data\plugins目录)或/var/lib/grafana/plugins (Linux系统,plugins目录需要手动创建)或/usr/local/var/lib/grafana/plugins(MacOS系统,具体位置参看使用brew install安装Grafana后命令行给出的位置提示。
执行下面的命令:
1. Shell > git clone https://github.com/grafana/simple-json-datasource.git
然后重启Grafana服务器,在浏览器中登录Grafana,在“Add data source”页面中“Type”选项出现“SimpleJson”即为安装成功。
启动Grafana
进入Grafana的安装目录,使用以下命令启动Grafana:
- Windows系统:
1. Shell > bin\grafana-server.exe
- Linux系统:
1. Shell > sudo service grafana-server start
- MacOS系统:
1. Shell > grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins
更多安装详情,请点这里
(opens new window)
IoTDB安装
参见https://github.com/apache/iotdb
(opens new window)
Grafana-IoTDB连接器安装
1. git clone https://github.com/apache/iotdb.git
启动Grafana-IoTDB
- 方案一(适合开发者)
导入整个项目,maven依赖安装完后,直接运行iotdb/grafana/rc/main/java/org/apache/iotdb/web/grafana目录下TsfileWebDemoApplication.java,这个grafana连接器采用springboot开发
- 方案二(适合使用者)
1. cd iotdb
2. mvn clean package -pl grafana -am -Dmaven.test.skip=true
3. cd grafana/target
4. java -jar iotdb-grafana-{version}.war
5. . ____ _ __ _ _
6. /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
7. ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
8. \\/ ___)| |_)| | | | | || (_| | ) ) ) )
9. ' |____| .__|_| |_|_| |_\__, | / / / /
10. =========|_|==============|___/=/_/_/_/
11. :: Spring Boot :: (v1.5.4.RELEASE)
12. ...
如果您需要配置属性,将grafana/src/main/resources/application.properties移动到war包同级目录下(grafana/target)
使用Grafana
Grafana以网页的dashboard形式为您展示数据,在使用时请您打开浏览器,访问<http://<ip>:<port>>;
默认地址为<http://localhost:3000/>
注:IP为您的Grafana所在的服务器IP,Port为Grafana的运行端口(默认3000)。默认登录的用户名和密码都是“admin”。
添加IoTDB数据源
点击左上角的“Grafana”图标,选择Data Source选项,然后再点击Add data source。 
在编辑数据源的时候,Type一栏选择Simplejson,URL一栏填写<http://<ip>:<port>,IP为您的IoTDB-Grafana连接器所在的服务器IP,Port为运行端口(默认8888)。之后确保IoTDB已经启动,点击“Save> & Test”,出现“Data Source is working”提示表示配置成功。 
操作Grafana
进入Grafana可视化页面后,可以选择添加时间序列,如下图。您也可以按照Grafana官方文档进行相应的操作,详情可参看Grafana官方文档:<http://docs.grafana.org/guides/getting_started/。>

配置grafana
1. # IoTDB的IP和端口
2. spring.datasource.url=jdbc:iotdb://127.0.0.1:6667/
3. spring.datasource.username=root
4. spring.datasource.password=root
5. spring.datasource.driver-class-name=org.apache.iotdb.jdbc.IoTDBDriver
6. server.port=8888
7. # Use this value to set timestamp precision as "ms", "us" or "ns", which must to be same with the timestamp
8. # precision of Apache IoTDB engine.
9. timestamp_precision=ms
11. # 是否开启降采样
12. isDownSampling=true
13. # 默认采样interval
14. interval=1m
15. # 用于对连续数据(int, long, float, double)进行降采样的聚合函数
16. # COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MAX_VALUE, AVG, MIN_TIME, MIN_VALUE, NOW, SUM
17. continuous_data_function=AVG
18. # 用于对离散数据(boolean, string)进行降采样的聚合函数
19. # COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MIN_TIME, NOW
20. discrete_data_function=LAST_VALUE
其中interval具体配置信息如下
<1h: no sampling
1h~1d : intervals = 1m
1d~30d:intervals = 1h
30d:intervals = 1d
配置完后,请重新运行war包
1. java -jar iotdb-grafana-{version}.war
