Grafana是一个开源的基于web的数据展示工具,非常擅长做时序数据的动态展示。DolphinDB作为新一代的高性能时序数据库,不仅提供了Grafana的数据接口,还提供了Grafana的dolphindb-datasource插件。只要在Grafana中安装dolphindb-datasource,就可以通过图表的方式把DolphinDB Table的数据展示在Web上,特别适用于物联网中的实时性能监控、阈值预警和实时数据分析。
本教程将会介绍Grafana如何连接DolphinDB,把DolphinDB的数据展示在Web上。
1.安装并启动DolphinDB
用户可以直接到官网下载DolphinDB(0.8及以上版本)试用版。
2.安装并启动Grafana
用户可以直接到Grafana官网下载安装Grafana,并根据官方文档启动Grafana。本教程以Grafana5.2.4为例,使用Grafana的默认配置。
3.安装dolphindb-datasource插件
3.1 从dolphindb/grafana-datasource下载插件源码.
3.2 把源码解压到Grafana的安装目录grafana-5.2.4/data/plugins下,并把文件夹名称改为dolphindb-datasource。注意,data目录在启动Grafana会自动生成。
3.3 重新启动Grafana。在浏览器地址栏中输入http://localhost:3000访问Grafana。Grafana初始用户名和密码都是admin。登录之后,初始界面如下:
4.添加dolphindb datasource
点击“Add data source”进入添加datasource界面。
Name:datasource名称,本教程使用“test”。
Type:选择dolphindb
URL:输入DolphinDB datanode的地址,示例:http://localhost:8848
其他选项使用默认配置。点击“Save & Test”,DolphinDB datasource添加成功。
5.数据展示
下面通过一个例子来介绍如何在Grafana中展示DolphinDB数据。
首先,在DolphinDB中创建内存表testTable,每隔1秒向表里写入数据,持续200秒。
n=100000
t1=streamTable(n:0, `value`time,[DOUBLE,TIMESTAMP])
share t1 as testTable
t1=NULL
def writeData(){
for (i in 0:200) {
data = table(rand(35..50,1) as value,now() as time)
testTable.append!(data)
sleep(1000)
}
}
submitJob("jobId20180817001","writeDataToStreamingTable",writeData)
在Grafana中点击左侧第二个按钮,进入如下界面:
点击“New dashboard”,进入添加dashboard界面。
选择“Graph”,点击“Panel Title”,选择“Edit”。
在Metrics Tab中,Data Source选择“test”,Query中填写以下SQL语句来读取前5分钟的数据,并点击右上角保存按钮。
select gmtime(time) as time_sec,value as serie1 from testTable where time> now()-5*60*1000
保存后,点击右上角按钮,选择刷新频率。本例每2秒刷新一次。
更多Grafana的设置请参考Grafana官网。
欢迎访问官网并下载 DolphinDB database 试用版