如何从 InfluxDB/OpenTSDB 无缝连接到 TDengine
小 T 导读:taosAdapter 是 TDengine 这款时序数据库(Time Series Database)的配套工具,是 TDengine 集群和应用程序之间的桥梁和适配器,方便大家使用。
taosAdapter 主要提供以下功能:
RESTful 接口
兼容 InfluxDB v1 写接口
兼容 OpenTSDB JSON 和 telnet 格式写入
无缝连接到 Telegraf
无缝连接到 collectd
无缝连接到 StatsD
支持 Prometheus remote_read 和 remote_write
taosAdapter 架构图
taosAdapter 部署方法
安装 taosAdapter
有两种安装方式,你可以选择进入涛思数据官网( 。
这种方式下,如果你需要将 taosAdapter 分离部署在 TDengine server 之外的服务器上,则应该在该服务器上安装完整的 TDengine 来安装 taosAdapter)。
启动/停止 taosAdapter
在 Linux 系统上 taosAdapter 服务默认由 systemd 管理,使用命令 systemctl start taosadapter 可以启动 taosAdapter 服务,使用命令 systemctl stop taosadapter 可以停止 taosAdapter 服务 。
移除 taosAdapter
使用命令 rmtaos 可以移除包括 taosAdapter 在内的 TDengine server 软件 。
升级 taosAdapter
taosAdapter 和 TDengine server 需要使用相同版本,请通过升级 TDengine server 来升级 taosAdapter 。
taosAdapter 支持通过命令行参数、环境变量和配置文件来配置,默认配置文件是 /etc/taos/taosadapter.toml/。
接口
TDengine RESTful 接口
你可以使用任何支持 /)。
InfluxDB
你可以使用任何支持 如下:
/influxdb/v1/write
支持 InfluxDB 查询参数如下:
db 指定 TDengine 使用的数据库名
precision TDengine 使用的时间精度
u TDengine 用户名
p TDengine 密码
注意:目前不支持 InfluxDB 的 token 验证方式,仅支持 Basic 验证和查询参数验证 。
OpenTSDB
同样,你可以使用任何支持 如下:
/opentsdb/v1/put/json/<db>
/opentsdb/v1/put/telnet/<db>
collectd
配置 taosAdapter 接收 collectd 数据的方法如下:
在 taosAdapter 配置文件(默认位置为 /etc/taos/taosadapter.toml)中使能配置项:
[opentsdb_telnet]
enable = true
maxTCPConnections = 250
tcpKeepAlive = false
dbs = ["opentsdb_telnet", "collectd", "icinga2", "tcollector"]
ports = [6046, 6047, 6048, 6049]
user = "root"
password = "taosdata"
其中 taosAdapter 默认写入的数据库名称为 collectd,也可以修改 taosAdapter 配置文件 dbs 项来指定不同的名称 需重新启动。
StatsD
配置 taosAdapter 接收 StatsD 数据的方法如下:
在 taosAdapter 配置文件(默认位置 /etc/taos/taosadapter.toml)中使能配置项:
[statsd]
enable = true
port = 6044
db = "statsd"
user = "root"
password = "taosdata"
worker = 10
gatherInterval = "5s"
protocol = "udp"
maxTCPConnections = 250
tcpKeepAlive = false
allowPendingMessages = 50000
deleteCounters = true
deleteGauges = true
deleteSets = true
deleteTimings = true
其中 taosAdapter 默认写入的数据库名称为 statsd,也可以修改 taosAdapter 配置文件 db 项来指定不同的名称 需重新启动。
在上述两种接口下,也可以使用 taosAdapter 命令行参数或设置环境变量启动的方式,使 taosAdapter 能接收 collectd/StatsD 数据/。
内存使用优化方法
taosAdapter 将监测自身运行过程中的内存使用率,并通过两个阈值(pauseQueryMemoryThreshold 及 pauseAllMemoryThreshold)进行调节,有效值范围为 -1 到 100 之间的整数,单位为系统物理内存的百分比 。
当超过 pauseQueryMemoryThreshold 阈值时将停止处理查询请求”
当超过 pauseAllMemoryThreshold 阈值时停止处理所有写入和查询请求”
当内存回落到阈值之下时恢复对应功能
正常返回 code 200
无参数
请求参数 action=query
我们可以根据具体项目应用场景和运营策略进行相应调整,建议使用运营监控软件及时进行系统内存状态监控/ 可查看参数详情。
如何从旧版本 TDengine 迁移到 taosAdapter
在 TDengine server 2.2.x.x 或更早期版本中,taosd 进程包含一个内嵌的 管理的独立软件,拥有自己的进程,并且两者有一些配置参数和行为是不同的,请见下表:
taosAdapter 主要通过参数 restfulRowLimit 来控制结果的返回条数,-1 代表无限制,默认无限制 。该参数控制以下接口返回:
如果出现故障,我们可以通过命令 systemctl status taosadapter 来检查 taosAdapter 运行状态,也可以通过设置 –logLevel 参数或者环境变量 TAOS_ADAPTER_LOG_LEVEL 来调节 taosAdapter 日志输出详细程度,有效值包括:panic、fatal、error、warn、warning、info、debug 以及 trace 。
写在最后
受文章篇幅所限,本文并未包含 taosAdapter 应用手册的所有技术细节,如需查询相关配置内容,可以移步到 TDengine 官网-技术文档进行更具体了解 用户交流群,在本群中,你不仅可以与有同样业务场景的小伙伴进行交流,还可以获得官方技术人员的专业支持。
欢迎添加小T(VX:TDengine),加入物联网技术讨论群,第一时间了解TDengine 官方信息,与关注前沿技术的同学们共同探讨新技术、新玩法 。
爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。