homework-jianmu/2.0/documentation/tdenginedocs-cn/connections-with-other-tools/index.html

93 lines
10 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang='cn'><head><title>文档 | 涛思数据</title><meta name='description' content='TDengine是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外还提供缓存、数据订阅、流式计算等功能最大程度减少研发和运维的工作量。'><meta name='keywords' content='大数据Big Data开源物联网车联网工业互联网IT运维, 时序数据库缓存数据订阅消息队列流式计算开源涛思数据TAOS Data, TDengine'><meta name='title' content='文档 | 涛思数据'><meta property='og:site_name' content='涛思数据'/><meta property='og:title' content='文档 | 涛思数据'/><meta property='og:type' content='article'/><meta property='og:url' content='https://www.taosdata.com/cn/documentation/connections-with-other-tools-ch/index.php'/><meta property='og:description' content='TDengine是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外还提供缓存、数据订阅、流式计算等功能最大程度减少研发和运维的工作量。' /><link rel='canonical' href='https://www.taosdata.com/cn/documentation/connections-with-other-tools-ch/index.php'/><script src='../lib/jquery-3.4.1.min.js' type='application/javascript'></script><link href='../lib/bootstrap.min.css' rel='stylesheet'><link href='../styles/base.min.css' rel='stylesheet'><link rel='stylesheet' href='../lib/docs/taosdataprettify.css'><link rel='stylesheet' href='../lib/docs/docs.css'><script src='../lib/docs/prettify.js'></script><script src='../lib/docs/prettyprint-sql.js'></script></head><body><script>$('#documentation-href').addClass('active')</script><div class='container-fluid'><main class='content-wrapper'><section class='documentation'><a href='../index.html'>回去</a><h1>与其他工具的连接</h1>
<a class='anchor' id='Telegraf'></a><h2>Telegraf</h2>
<p>TDengine能够与开源数据采集系统<a href="https://www.influxdata.com/time-series-platform/telegraf/">Telegraf</a>快速集成,整个过程无需任何代码开发。</p>
<a class='anchor' id='安装Telegraf'></a><h3>安装Telegraf</h3>
<p>目前TDengine支持Telegraf 1.7.4以上的版本。用户可以根据当前的操作系统到Telegraf官网下载安装包并执行安装。下载地址如下https://portal.influxdata.com/downloads</p>
<a class='anchor' id='配置Telegraf'></a><h3>配置Telegraf</h3>
<p>修改Telegraf配置文件/etc/telegraf/telegraf.conf中与TDengine有关的配置项。 </p>
<p>在output plugins部分增加[[outputs.http]]配置项: </p>
<ul>
<li>urlhttp://ip:6020/telegraf/udb其中ip为TDengine集群的中任意一台服务器的IP地址6020为TDengine RESTful接口的端口号telegraf为固定关键字udb为用于存储采集数据的数据库名称可预先创建。</li>
<li>method: "POST" </li>
<li>username: 登录TDengine的用户名</li>
<li>password: 登录TDengine的密码</li>
<li>data_format: "json"</li>
<li>json_timestamp_units: "1ms"</li>
</ul>
<p>在agent部分</p>
<ul>
<li>hostname: 区分不同采集设备的机器名称,需确保其唯一性</li>
<li>metric_batch_size: 30允许Telegraf每批次写入记录最大数量增大其数量可以降低Telegraf的请求发送频率但对于TDengine该数值不能超过50</li>
</ul>
<p>关于如何使用Telegraf采集数据以及更多有关使用Telegraf的信息请参考Telegraf官方的<a href="https://docs.influxdata.com/telegraf/v1.11/">文档</a></p>
<a class='anchor' id='Grafana'></a><h2>Grafana</h2>
<p>TDengine能够与开源数据可视化系统<a href="https://www.grafana.com/">Grafana</a>快速集成搭建数据监测报警系统整个过程无需任何代码开发TDengine中数据表中内容可以在仪表盘(DashBoard)上进行可视化展现。</p>
<a class='anchor' id='安装Grafana'></a><h3>安装Grafana</h3>
<p>目前TDengine支持Grafana 5.2.4以上的版本。用户可以根据当前的操作系统到Grafana官网下载安装包并执行安装。下载地址如下https://grafana.com/grafana/download</p>
<a class='anchor' id='配置Grafana'></a><h3>配置Grafana</h3>
<p>TDengine的Grafana插件在安装包的/usr/local/taos/connector/grafana目录下。</p>
<p>以CentOS 7.2操作系统为例将tdengine目录拷贝到/var/lib/grafana/plugins目录下重新启动grafana即可。</p>
<a class='anchor' id='使用Grafana'></a><h3>使用Grafana</h3>
<p>用户可以直接通过localhost:3000的网址登录Grafana服务器(用户名/密码:admin/admin)配置TDengine数据源如下图所示此时可以在下拉列表中看到TDengine数据源。 </p>
<p><img src="../assets/clip_image001.png" alt="img" /></p>
<p>TDengine数据源中的HTTP配置里面的Host地址要设置为TDengine集群的中任意一台服务器的IP地址与TDengine RESTful接口的端口号(6020)。假设TDengine数据库与Grafana部署在同一机器那么应输入http://localhost:6020。</p>
<p>此外还需配置登录TDengine的用户名与密码然后点击下图中的Save&amp;Test按钮保存。 </p>
<p><img src="../assets/clip_image001-2474914.png" alt="img" /></p>
<p>然后就可以在Grafana的数据源列表中看到刚创建好的TDengine的数据源</p>
<p><img src="../assets/clip_image001-2474939.png" alt="img" /></p>
<p>基于上面的步骤就可以在创建Dashboard的时候使用TDengine数据源如下图所示 </p>
<p><img src="../assets/clip_image001-2474961.png" alt="img" /></p>
<p>然后可以点击Add Query按钮增加一个新查询。</p>
<p>在INPUT SQL输入框中输入查询SQL语句该SQL语句的结果集应为两行多列的曲线数据例如SELECT count(*) FROM sys.cpu WHERE ts&gt;=from and ts&lt;to interval(interval)。其中from、to和interval为TDengine插件的内置变量表示从Grafana插件面板获取的查询范围和时间间隔。</p>
<p>ALIAS BY输入框为查询的别名点击GENERATE SQL 按钮可以获取发送给TDengine的SQL语句。如下图所示 </p>
<p><img src="../assets/clip_image001-2474987.png" alt="img" /></p>
<p>关于如何使用Grafana创建相应的监测界面以及更多有关使用Grafana的信息请参考Grafana官方的<a href="https://grafana.com/docs/">文档</a></p>
<a class='anchor' id='Matlab'></a><h2>Matlab</h2>
<p>MatLab可以通过安装包内提供的JDBC Driver直接连接到TDengine获取数据到本地工作空间。</p>
<a class='anchor' id='MatLab的JDBC接口适配'></a><h3>MatLab的JDBC接口适配</h3>
<p>MatLab的适配有下面几个步骤下面以Windows10上适配MatLab2017a为例</p>
<ul>
<li>将TDengine安装包内的驱动程序JDBCDriver-1.0.0-dist.jar拷贝到${matlab_root}\MATLAB\R2017a\java\jar\toolbox</li>
<li>将TDengine安装包内的taos.lib文件拷贝至${matlab_ root _dir}\MATLAB\R2017a\lib\win64</li>
<li>将新添加的驱动jar包加入MatLab的classpath。在${matlab_ root _dir}\MATLAB\R2017a\toolbox\local\classpath.txt文件中添加下面一行</li>
</ul>
<p> <code>$matlabroot/java/jar/toolbox/JDBCDriver-1.0.0-dist.jar</code></p>
<ul>
<li>在${user_home}\AppData\Roaming\MathWorks\MATLAB\R2017a\下添加一个文件javalibrarypath.txt, 并在该文件中添加taos.dll的路径比如您的taos.dll是在安装时拷贝到了C:\Windows\System32下那么就应该在javalibrarypath.txt中添加如下一行</li>
</ul>
<p> <code>C:\Windows\System32</code></p>
<a class='anchor' id='在MatLab中连接TDengine获取数据'></a><h3>在MatLab中连接TDengine获取数据</h3>
<p>在成功进行了上述配置后打开MatLab。</p>
<ul>
<li><p>创建一个连接:</p>
<p><code>conn = database(db, root, taosdata, com.taosdata.jdbc.TSDBDriver, jdbc:TSDB://127.0.0.1:0/)</code></p></li>
<li><p>执行一次查询:</p>
<p><code>sql0 = [select * from tb]</code></p>
<p><code>data = select(conn, sql0);</code></p></li>
<li><p>插入一条记录:</p>
<p><code>sql1 = [insert into tb values (now, 1)]</code></p>
<p><code>exec(conn, sql1)</code></p></li>
</ul>
<p>更多例子细节请参考安装包内examples\Matlab\TDengineDemo.m文件。</p>
<a class='anchor' id='R'></a><h2>R</h2>
<p>R语言支持通过JDBC接口来连接TDengine数据库。首先需要安装R语言的JDBC包。启动R语言环境然后执行以下命令安装R语言的JDBC支持库</p>
<pre><code class="R language-R">install.packages('rJDBC', repos='http://cran.us.r-project.org')</code></pre>
<p>安装完成以后,通过执行<code>library('RJDBC')</code>命令加载 <em>RJDBC</em> 包:</p>
<p>然后加载TDengine的JDBC驱动</p>
<pre><code class="R language-R">drv&lt;-JDBC("com.taosdata.jdbc.TSDBDriver","JDBCDriver-1.0.0-dist.jar", identifier.quote="\"")</code></pre>
<p>如果执行成功,不会出现任何错误信息。之后通过以下命令尝试连接数据库:</p>
<pre><code class="R language-R">conn&lt;-dbConnect(drv,"jdbc:TSDB://192.168.0.1:0/?user=root&amp;password=taosdata","root","taosdata")</code></pre>
<p>注意将上述命令中的IP地址替换成正确的IP地址。如果没有任务错误的信息则连接数据库成功否则需要根据错误提示调整连接的命令。TDengine支持以下的 <em>RJDBC</em> 包中函数:</p>
<ul>
<li>dbWriteTable(conn, "test", iris, overwrite=FALSE, append=TRUE)将数据框iris写入表test中overwrite必须设置为falseappend必须设为TRUE,且数据框iris要与表test的结构一致。</li>
<li>dbGetQuery(conn, "select count(*) from test"):查询语句</li>
<li>dbSendUpdate(conn, "use db")执行任何非查询sql语句。例如dbSendUpdate(conn, "use db") 写入数据dbSendUpdate(conn, "insert into t1 values(now, 99)")等。</li>
<li>dbReadTable(conn, "test")读取表test中数据</li>
<li>dbDisconnect(conn):关闭连接</li>
<li>dbRemoveTable(conn, "test")删除表test</li>
</ul>
<p>TDengine客户端暂不支持如下函数</p>
<ul>
<li>dbExistsTable(conn, "test")是否存在表test</li>
<li>dbListTables(conn):显示连接中的所有表</li>
</ul><a href='../index.html'>回去</a></section></main></div><?php include($s.'/footer.php'); ?><script>$('pre').addClass('prettyprint linenums');PR.prettyPrint()</script><script src='lib/docs/liner.js'></script></body></html>