docs.md 7.0 KB
Newer Older
X
Xiaxin Li 已提交
1 2 3
# 与其他工具的连接


4
## <a class="anchor" id="grafana"></a>Grafana
X
Xiaxin Li 已提交
5

6
TDengine 能够与开源数据可视化系统 [Grafana](https://www.grafana.com/)快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表中内容可以在仪表盘(DashBoard)上进行可视化展现。关于TDengine插件的使用您可以在[GitHub](https://github.com/taosdata/grafanaplugin/blob/master/README.md)中了解更多。
X
Xiaxin Li 已提交
7 8 9

### 安装Grafana

10
目前 TDengine 支持 Grafana 6.2 以上的版本。用户可以根据当前的操作系统,到 Grafana 官网下载安装包,并执行安装。下载地址如下:https://grafana.com/grafana/download。
X
Xiaxin Li 已提交
11 12 13

### 配置Grafana

14
TDengine 的 Grafana 插件请从 <https://github.com/taosdata/grafanaplugin/releases/latest> 下载。
15 16

```bash
17
GF_VERSION=3.1.3
18
wget https://github.com/taosdata/grafanaplugin/releases/download/v$GF_VERSION/tdengine-datasource-$GF_VERSION.zip
19
```
X
Xiaxin Li 已提交
20

21 22 23 24
以 CentOS 7.2 操作系统为例,将插件包解压到 /var/lib/grafana/plugins 目录下,重新启动 grafana 即可。

```bash
sudo unzip tdengine-datasource-$GF_VERSION.zip -d /var/lib/grafana/plugins/
25
```
26 27 28 29

Grafana 7.3+ / 8.x 版本会对插件进行签名检查,因此还需要在 grafana.ini 文件中增加如下行,才能正确使用插件:

```ini
30
[plugins]
31
allow_loading_unsigned_plugins = tdengine-datasource
32 33
```

X
Xiaxin Li 已提交
34 35 36 37
### 使用 Grafana

#### 配置数据源

38
用户可以直接通过 localhost:3000 的网址,登录 Grafana 服务器(用户名/密码:admin/admin),通过左侧 `Configuration -> Data Sources` 可以添加数据源,如下图所示:
X
Xiaxin Li 已提交
39

40
![img](../images/connections/add_datasource1.jpg)
X
Xiaxin Li 已提交
41 42 43

点击 `Add data source` 可进入新增数据源页面,在查询框中输入 TDengine 可选择添加,如下图所示:

44
![img](../images/connections/add_datasource2.jpg)
X
Xiaxin Li 已提交
45 46 47

进入数据源配置页面,按照默认提示修改相应配置即可:

48
![img](../images/connections/add_datasource3.jpg)
X
Xiaxin Li 已提交
49

50
* Host: TDengine 集群的中任意一台服务器的 IP 地址与 TDengine RESTful 接口的端口号(6041),默认 http://localhost:6041 。
X
Xiaxin Li 已提交
51 52 53 54 55
* User:TDengine 用户名。
* Password:TDengine 用户密码。

点击 `Save & Test` 进行测试,成功会有如下提示:

56
![img](../images/connections/add_datasource4.jpg)
X
Xiaxin Li 已提交
57 58 59 60 61

#### 创建 Dashboard

回到主界面创建 Dashboard,点击 Add Query 进入面板查询页面:

62
![img](../images/connections/create_dashboard1.jpg)
X
Xiaxin Li 已提交
63 64 65 66 67 68 69 70 71

如上图所示,在 Query 中选中 `TDengine` 数据源,在下方查询框可输入相应 sql 进行查询,具体说明如下:

* INPUT SQL:输入要查询的语句(该 SQL 语句的结果集应为两列多行),例如:`select avg(mem_system) from log.dn where  ts >= $from and ts < $to interval($interval)` ,其中,from、to 和 interval 为 TDengine插件的内置变量,表示从Grafana插件面板获取的查询范围和时间间隔。除了内置变量外,`也支持可以使用自定义模板变量`
* ALIAS BY:可设置当前查询别名。 
* GENERATE SQL: 点击该按钮会自动替换相应变量,并生成最终执行的语句。
  
按照默认提示查询当前 TDengine 部署所在服务器指定间隔系统内存平均使用量如下:

72
![img](../images/connections/create_dashboard2.jpg)
X
Xiaxin Li 已提交
73 74 75 76 77

> 关于如何使用Grafana创建相应的监测界面以及更多有关使用Grafana的信息,请参考Grafana官方的[文档](https://grafana.com/docs/)。

#### 导入 Dashboard

78
在 2.3.3.0 及以上版本,您可以导入 TDinsight Dashboard (Grafana Dashboard ID: [15167](https://grafana.com/grafana/dashboards/15167)) 作为 TDengine 集群的监控可视化工具。安装和使用说明请见 [TDinsight 用户手册](https://www.taosdata.com/cn/documentation/tools/insight)
X
Xiaxin Li 已提交
79

80
## <a class="anchor" id="matlab"></a>MATLAB
X
Xiaxin Li 已提交
81

E
Elias Soong 已提交
82
MATLAB 可以通过安装包内提供的 JDBC Driver 直接连接到 TDengine 获取数据到本地工作空间。
X
Xiaxin Li 已提交
83

E
Elias Soong 已提交
84
### MATLAB 的 JDBC 接口适配
X
Xiaxin Li 已提交
85

E
Elias Soong 已提交
86
MATLAB 的适配有下面几个步骤,下面以 Windows 10 上适配 MATLAB2021a 为例:
X
Xiaxin Li 已提交
87

E
Elias Soong 已提交
88 89 90
- 将 TDengine 客户端安装路径下的 `\TDengine\connector\jdbc的驱动程序taos-jdbcdriver-2.0.25-dist.jar` 拷贝到 `${matlab_root}\MATLAB\R2021a\java\jar\toolbox`
- 将 TDengine 安装包内的 `taos.lib` 文件拷贝至 `${matlab_root_dir}\MATLAB\R2021\lib\win64`
- 将新添加的驱动 jar 包加入 MATLAB 的 classpath。在 `${matlab_root_dir}\MATLAB\R2021a\toolbox\local\classpath.txt` 文件中添加下面一行:
91
```
92
$matlabroot/java/jar/toolbox/taos-jdbcdriver-2.0.25-dist.jar
93
```
E
Elias Soong 已提交
94
-`${user_home}\AppData\Roaming\MathWorks\MATLAB\R2021a\` 下添加一个文件 `javalibrarypath.txt`,并在该文件中添加 taos.dll 的路径,比如您的 taos.dll 是在安装时拷贝到了 `C:\Windows\System32` 下,那么就应该在 `javalibrarypath.txt` 中添加如下一行:
95 96 97
```
C:\Windows\System32
```
X
Xiaxin Li 已提交
98

E
Elias Soong 已提交
99
### 在 MATLAB 中连接 TDengine 获取数据
X
Xiaxin Li 已提交
100

E
Elias Soong 已提交
101
在成功进行了上述配置后,打开 MATLAB。
X
Xiaxin Li 已提交
102 103

- 创建一个连接:
104
```matlab
105
conn = database(‘test’, ‘root’, ‘taosdata’, ‘com.taosdata.jdbc.TSDBDriver’, ‘jdbc:TSDB://192.168.1.94:6030/’)
106
```
X
Xiaxin Li 已提交
107
- 执行一次查询:
108 109 110 111
```matlab
sql0 = [‘select * from tb’]
data = select(conn, sql0);
```
X
Xiaxin Li 已提交
112
- 插入一条记录:
113 114 115 116
```matlab
sql1 = [‘insert into tb values (now, 1)’]
exec(conn, sql1)
```
X
Xiaxin Li 已提交
117

E
Elias Soong 已提交
118
更多例子细节请参考安装包内 `examples\Matlab\TDengineDemo.m` 文件。
X
Xiaxin Li 已提交
119

120
## <a class="anchor" id="r"></a>R 
X
Xiaxin Li 已提交
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144

R语言支持通过JDBC接口来连接TDengine数据库。首先需要安装R语言的JDBC包。启动R语言环境,然后执行以下命令安装R语言的JDBC支持库:

```R
install.packages('RJDBC', repos='http://cran.us.r-project.org')
```

安装完成以后,通过执行`library('RJDBC')`命令加载 _RJDBC_ 包:

然后加载TDengine的JDBC驱动:

```R
drv<-JDBC("com.taosdata.jdbc.TSDBDriver","JDBCDriver-2.0.0-dist.jar", identifier.quote="\"")
```
如果执行成功,不会出现任何错误信息。之后通过以下命令尝试连接数据库:

```R
conn<-dbConnect(drv,"jdbc:TSDB://192.168.0.1:0/?user=root&password=taosdata","root","taosdata")
```

注意将上述命令中的IP地址替换成正确的IP地址。如果没有任务错误的信息,则连接数据库成功,否则需要根据错误提示调整连接的命令。TDengine支持以下的 _RJDBC_ 包中函数:


-	dbWriteTable(conn, "test", iris, overwrite=FALSE, append=TRUE):将数据框iris写入表test中,overwrite必须设置为false,append必须设为TRUE,且数据框iris要与表test的结构一致。
145
-	dbGetQuery(conn, "select count(*) from test"):查询语句。
X
Xiaxin Li 已提交
146
-	dbSendUpdate(conn, "use db"):执行任何非查询sql语句。例如dbSendUpdate(conn, "use db"), 写入数据dbSendUpdate(conn, "insert into t1 values(now, 99)")等。
147 148 149
-	dbReadTable(conn, "test"):读取表test中数据。
-	dbDisconnect(conn):关闭连接。
-	dbRemoveTable(conn, "test"):删除表test。
X
Xiaxin Li 已提交
150 151

TDengine客户端暂不支持如下函数:
152 153
- dbExistsTable(conn, "test"):是否存在表test。
- dbListTables(conn):显示连接中的所有表。
X
Xiaxin Li 已提交
154