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。登录之后,初始界面如下:

Grafana如何连接DolphinDB?-LMLPHP

4.添加dolphindb datasource

点击“Add data source”进入添加datasource界面。

Grafana如何连接DolphinDB?-LMLPHP

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中点击左侧第二个按钮,进入如下界面:

Grafana如何连接DolphinDB?-LMLPHP

点击“New dashboard”,进入添加dashboard界面。

Grafana如何连接DolphinDB?-LMLPHP

选择“Graph”,点击“Panel Title”,选择“Edit”。

Grafana如何连接DolphinDB?-LMLPHP

在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

Grafana如何连接DolphinDB?-LMLPHP

保存后,点击右上角按钮,选择刷新频率。本例每2秒刷新一次。

Grafana如何连接DolphinDB?-LMLPHP

Grafana如何连接DolphinDB?-LMLPHP

更多Grafana的设置请参考Grafana官网

欢迎访问官网并下载 DolphinDB database 试用版

03-25 18:47