與其他工具的連接
Grafana
TDengine 能夠與開(kāi)源數(shù)據(jù)可視化系統(tǒng) Grafana 快速集成搭建數(shù)據(jù)監(jiān)測(cè)報(bào)警系統(tǒng),整個(gè)過(guò)程無(wú)需任何代碼開(kāi)發(fā),TDengine 中數(shù)據(jù)表中內(nèi)容可以在儀表盤(pán)(DashBoard)上進(jìn)行可視化展現(xiàn)。關(guān)于 TDengine 插件的使用您可以在 GitHub 中了解更多。
安裝Grafana
目前 TDengine 支持 Grafana 7.0 以上的版本。用戶(hù)可以根據(jù)當(dāng)前的操作系統(tǒng),到 Grafana 官網(wǎng)下載安裝包,并執(zhí)行安裝。下載地址如下:https://grafana.com/grafana/download。
配置Grafana
TDengine 的 Grafana 插件托管在 GitHub,可從 https://github.com/taosdata/grafanaplugin/releases/latest 下載,當(dāng)前最新版本為 3.1.3。
推薦使用 grafana-cli 命令行工具 進(jìn)行插件安裝。
sudo -u grafana grafana-cli \
--pluginUrl https://github.com/taosdata/grafanaplugin/releases/download/v3.1.3/tdengine-datasource-3.1.3.zip \
plugins install tdengine-datasource
或者下載到本地并解壓到 Grafana 插件目錄。
GF_VERSION=3.1.3
wget https://github.com/taosdata/grafanaplugin/releases/download/v$GF_VERSION/tdengine-datasource-$GF_VERSION.zip
以 CentOS 7.2 操作系統(tǒng)為例,將插件包解壓到 /var/lib/grafana/plugins 目錄下,重新啟動(dòng) grafana 即可。
sudo unzip tdengine-datasource-$GF_VERSION.zip -d /var/lib/grafana/plugins/
Grafana 7.3+ / 8.x 版本會(huì)對(duì)插件進(jìn)行簽名檢查,因此還需要在 grafana.ini 文件中增加如下行,才能正確使用插件:
[plugins]
allow_loading_unsigned_plugins = tdengine-datasource
在 Docker 環(huán)境下,可以使用如下的環(huán)境變量設(shè)置自動(dòng)安裝并設(shè)置 TDengine 插件:
GF_INSTALL_PLUGINS=https://github.com/taosdata/grafanaplugin/releases/download/v3.1.3/tdengine-datasource-3.1.3.zip;tdengine-datasource
GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=tdengine-datasource
使用 Grafana
配置數(shù)據(jù)源
用戶(hù)可以直接通過(guò) http://localhost:3000 的網(wǎng)址,登錄 Grafana 服務(wù)器(用戶(hù)名/密碼:admin/admin),通過(guò)左側(cè) Configuration -> Data Sources 可以添加數(shù)據(jù)源,如下圖所示:

點(diǎn)擊 Add data source 可進(jìn)入新增數(shù)據(jù)源頁(yè)面,在查詢(xún)框中輸入 TDengine 可選擇添加,如下圖所示:

進(jìn)入數(shù)據(jù)源配置頁(yè)面,按照默認(rèn)提示修改相應(yīng)配置即可:

- Host: TDengine 集群的中任意一臺(tái)服務(wù)器的 IP 地址與 TDengine RESTful 接口的端口號(hào)(6041),默認(rèn)
http://localhost:6041。注意:從 2.4 版本開(kāi)始 RESTful 服務(wù)默認(rèn)使用獨(dú)立組件 taosAdapter 提供,請(qǐng)參考相關(guān)文檔配置部署。 - User:TDengine 用戶(hù)名。
- Password:TDengine 用戶(hù)密碼。
點(diǎn)擊 Save & Test 進(jìn)行測(cè)試,成功會(huì)有如下提示:

創(chuàng)建 Dashboard
回到主界面創(chuàng)建 Dashboard,點(diǎn)擊 Add Query 進(jìn)入面板查詢(xún)頁(yè)面:

如上圖所示,在 Query 中選中 TDengine 數(shù)據(jù)源,在下方查詢(xún)框可輸入相應(yīng) SQL 進(jìn)行查詢(xún),具體說(shuō)明如下:
- INPUT SQL:輸入要查詢(xún)的語(yǔ)句(該 SQL 語(yǔ)句的結(jié)果集應(yīng)為兩列多行),例如:
select avg(mem_system) from log.dn where ts >= $from and ts < $to interval($interval),其中,from、to 和 interval 為 TDengine 插件的內(nèi)置變量,表示從 Grafana 插件面板獲取的查詢(xún)范圍和時(shí)間間隔。除了內(nèi)置變量外,也支持可以使用自定義模板變量。 - ALIAS BY:可設(shè)置當(dāng)前查詢(xún)別名。
- GENERATE SQL: 點(diǎn)擊該按鈕會(huì)自動(dòng)替換相應(yīng)變量,并生成最終執(zhí)行的語(yǔ)句。
按照默認(rèn)提示查詢(xún)當(dāng)前 TDengine 部署所在服務(wù)器指定間隔系統(tǒng)內(nèi)存平均使用量如下:

關(guān)于如何使用 Grafana 創(chuàng)建相應(yīng)的監(jiān)測(cè)界面以及更多有關(guān)使用 Grafana 的信息,請(qǐng)參考 Grafana 官方的文檔。
導(dǎo)入 Dashboard
在 2.3.3.0 及以上版本,您可以導(dǎo)入 TDinsight Dashboard (Grafana Dashboard ID: 15167) 作為 TDengine 集群的監(jiān)控可視化工具。安裝和使用說(shuō)明請(qǐng)見(jiàn) TDinsight 用戶(hù)手冊(cè)。
Matlab
MatLab 可以通過(guò)安裝包內(nèi)提供的 JDBC Driver 直接連接到 TDengine 獲取數(shù)據(jù)到本地工作空間。
MatLab 的 JDBC 接口適配
MatLab 的適配有下面幾個(gè)步驟,下面以 Windows10 上適配 MatLab2017a 為例:
- 從 (maven.org)[https://repo1.maven.org/maven2/com/taosdata/jdbc/taos-jdbcdriver/] 或其他 maven 鏡像網(wǎng)站下載 TDengine JDBC 驅(qū)動(dòng)程序 JDBCDriver-x.x.x-dist.jar 拷貝到 ${matlab_root}\MATLAB\R2017a\java\jar\toolbox
- 將 TDengine 安裝包內(nèi)的 taos.lib 文件拷貝至${matlab_ root _dir}\MATLAB\R2017a\lib\win64
- 將新添加的驅(qū)動(dòng) jar 包加入 MatLab 的 classpath。在 ${matlab_ root _dir}\MATLAB\R2017a\toolbox\local\classpath.txt 文件中添加下面一行
$matlabroot/java/jar/toolbox/JDBCDriver-x.x.x-dist.jar
- 在${user_home}\AppData\Roaming\MathWorks\MATLAB\R2017a\下添加一個(gè)文件 javalibrarypath.txt, 并在該文件中添加 taos.dll 的路徑,比如您的 taos.dll 是在安裝時(shí)拷貝到了 C:\Windows\System32 下,那么就應(yīng)該在 javalibrarypath.txt 中添加如下一行:
C:\Windows\System32
在 MatLab 中連接 TDengine 獲取數(shù)據(jù)
在成功進(jìn)行了上述配置后,打開(kāi) MatLab。
- 創(chuàng)建一個(gè)連接:
conn = database(‘db’, ‘root’, ‘taosdata’, ‘com.taosdata.jdbc.TSDBDriver’, ‘jdbc:TSDB://127.0.0.1:0/’)
- 執(zhí)行一次查詢(xún):
sql0 = [‘select * from tb’]
data = select(conn, sql0);
- 插入一條記錄:
sql1 = [‘insert into tb values (now, 1)’]
exec(conn, sql1)
更多例子細(xì)節(jié)請(qǐng)參考安裝包內(nèi) examples\Matlab\TDengineDemo.m 文件。
R
R 語(yǔ)言支持通過(guò) JDBC 接口來(lái)連接 TDengine 數(shù)據(jù)庫(kù)。首先需要安裝 R 語(yǔ)言的 JDBC 包,下載 RJDBC 的時(shí)候,還會(huì)自動(dòng)下載 RJDBC 依賴(lài)的 DBI 和 rJava 這兩個(gè)package。啟動(dòng) R 語(yǔ)言環(huán)境,然后執(zhí)行以下命令安裝 R 語(yǔ)言的 JDBC 支持庫(kù):
install.packages('RJDBC', repos='http://cran.us.r-project.org')
安裝完成以后,通過(guò)執(zhí)行library()命令加載 DBI、rJava 和 RJDBC 包:
library('DBI')
library('rJava')
library('RJDBC')
然后加載 TDengine 的 JDBC 驅(qū)動(dòng):
drv<-JDBC("com.taosdata.jdbc.TSDBDriver","JDBCDriver-2.0.0-dist.jar", identifier.quote="\"")
如果執(zhí)行成功,不會(huì)出現(xiàn)任何錯(cuò)誤信息。之后通過(guò)以下命令嘗試連接數(shù)據(jù)庫(kù):
conn<-dbConnect(drv,"jdbc:TSDB://127.0.0.1:0/?user=root&password=taosdata","root","taosdata")
也可以使用 RESTful 來(lái)連接 TDengine。
conn<-dbConnect(drv,"jdbc:TAOS-RS://127.0.0.1:6041/test?user=root&password=taosdata","root","taosdata")
注意將上述命令中的IP地址替換成正確的IP地址。如果沒(méi)有任務(wù)錯(cuò)誤的信息,則連接數(shù)據(jù)庫(kù)成功,否則需要根據(jù)錯(cuò)誤提示調(diào)整連接的命令。TDengine 支持以下的 RJDBC 包中函數(shù):
- dbWriteTable(conn, "test", iris, overwrite=FALSE, append=TRUE):將數(shù)據(jù)框 iris 寫(xiě)入表 test 中,overwrite 必須設(shè)置為 false,append 必須設(shè)為 TRUE,且數(shù)據(jù)框 iris 要與表 test 的結(jié)構(gòu)一致。
- dbGetQuery(conn, "select count(*) from test"):查詢(xún)語(yǔ)句
- dbSendUpdate(conn, "use db"):執(zhí)行任何非查詢(xún) SQL 語(yǔ)句。例如 dbSendUpdate(conn, "use db"), 寫(xiě)入數(shù)據(jù) dbSendUpdate(conn, "insert into t1 values(now, 99)") 等。
- dbReadTable(conn, "test"):讀取表 test 中數(shù)據(jù)
- dbDisconnect(conn):關(guān)閉連接
- dbRemoveTable(conn, "test"):刪除表 test
支持和反饋
感謝您成為我們社區(qū)的一員!歡迎您對(duì)本文檔或其他任何 TDengine 錯(cuò)誤進(jìn)行修改或報(bào)告。

