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 试用版