docs.md 7.1 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 10 11 12 13

### 安装Grafana

目前TDengine支持Grafana 5.2.4以上的版本。用户可以根据当前的操作系统,到Grafana官网下载安装包,并执行安装。下载地址如下:https://grafana.com/grafana/download。

### 配置Grafana

14
TDengine 的 Grafana 插件请从 <https://github.com/taosdata/grafanaplugin/releases/latest> 下载。
X
Xiaxin Li 已提交
15

16 17 18 19 20 21
```bash
GF_VERSION=3.1.1
wget https://github.com/taosdata/grafanaplugin/releases/download/v$GF_VERSION/tdengine-datasource-$GF_VERSION.zip
```

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

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

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

```ini
[plugins]
allow_loading_unsigned_plugins = tdengine-datasource
32
```
X
Xiaxin Li 已提交
33 34 35 36 37 38 39

### 使用 Grafana

#### 配置数据源

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

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

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

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

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

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

L
Liu Tao 已提交
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](page://images/connections/add_datasource4.jpg)
X
Xiaxin Li 已提交
57 58 59 60 61

#### 创建 Dashboard

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

62
![img](page://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](page://images/connections/create_dashboard2.jpg)
X
Xiaxin Li 已提交
73 74 75 76 77

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

#### 导入 Dashboard

78
我们提供一个 TDengine Dashboard 可以作为 TDengine 集群的监控可视化工具使用,见 [Grafana Dashboard 15146](https://grafana.com/grafana/dashboards/15146)
X
Xiaxin Li 已提交
79

80
点击左侧 `Import` 按钮,选择 **Grafana.com Dashboard**,j将id `15146` 填入并加载:
X
Xiaxin Li 已提交
81

82
![img](page://images/connections/import_dashboard1.jpg)
X
Xiaxin Li 已提交
83 84 85

导入完成之后可看到如下效果:

86
![img](../images/connections/dashboard-15146.png)
X
Xiaxin Li 已提交
87

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

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

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

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

E
Elias Soong 已提交
96 97 98
- 将 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` 文件中添加下面一行:
99
```
100
$matlabroot/java/jar/toolbox/taos-jdbcdriver-2.0.25-dist.jar
101
```
E
Elias Soong 已提交
102
-`${user_home}\AppData\Roaming\MathWorks\MATLAB\R2021a\` 下添加一个文件 `javalibrarypath.txt`,并在该文件中添加 taos.dll 的路径,比如您的 taos.dll 是在安装时拷贝到了 `C:\Windows\System32` 下,那么就应该在 `javalibrarypath.txt` 中添加如下一行:
103 104 105
```
C:\Windows\System32
```
X
Xiaxin Li 已提交
106

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

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

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

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

128
## <a class="anchor" id="r"></a>R 
X
Xiaxin Li 已提交
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

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的结构一致。
-	dbGetQuery(conn, "select count(*) from test"):查询语句
-	dbSendUpdate(conn, "use db"):执行任何非查询sql语句。例如dbSendUpdate(conn, "use db"), 写入数据dbSendUpdate(conn, "insert into t1 values(now, 99)")等。
-	dbReadTable(conn, "test"):读取表test中数据
-	dbDisconnect(conn):关闭连接
-	dbRemoveTable(conn, "test"):删除表test

TDengine客户端暂不支持如下函数:
- dbExistsTable(conn, "test"):是否存在表test
- dbListTables(conn):显示连接中的所有表