Grafana是一個開源的基於web的數據展現工具,很是擅長作時序數據的動態展現。DolphinDB做爲新一代的高性能時序數據庫,不只提供了Grafana的數據接口,還提供了Grafana的dolphindb-datasource插件。只要在Grafana中安裝dolphindb-datasource,就能夠經過圖表的方式把DolphinDB Table的數據展現在Web上,特別適用於物聯網中的實時性能監控、閾值預警和實時數據分析。html
本教程將會介紹Grafana如何鏈接DolphinDB,把DolphinDB的數據展現在Web上。node
1.安裝並啓動DolphinDBgit
用戶能夠直接到官網下載DolphinDB(0.8及以上版本)試用版。github
2.安裝並啓動Grafanaweb
用戶能夠直接到Grafana官網下載安裝Grafana,並根據官方文檔啓動Grafana。本教程以Grafana5.2.4爲例,使用Grafana的默認配置。數據庫
3.安裝dolphindb-datasource插件瀏覽器
3.1 從dolphindb/grafana-datasource下載插件源碼.app
3.2 把源碼解壓到Grafana的安裝目錄grafana-5.2.4/data/plugins下,並把文件夾名稱改成dolphindb-datasource。注意,data目錄在啓動Grafana會自動生成。ide
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 試用版