共计 4032 个字符,预计需要花费 11 分钟才能阅读完成。
小 T 导读:taosAdapter 是 TDengine 这款时序数据库(Time Series Database)的配套工具,是 TDengine 集群和应用程序之间的桥梁和适配器。当咱们须要从数据收集代理软件(如 Telegraf、StatsD、collectd 等)摄取数据时,应用 taosAdapter 能让这一操作变得更加高效。此外,它还提供了 InfluxDB/OpenTSDB 兼容的数据摄取接口,容许 InfluxDB/OpenTSDB 应用程序无缝移植到 TDengine。本文将整体介绍一下 taosAdapter,不便大家应用。
taosAdapter 次要提供以下性能:
- RESTful 接口
- 兼容 InfluxDB v1 写接口
- 兼容 OpenTSDB JSON 和 telnet 格局写入
- 无缝连贯到 Telegraf
- 无缝连贯到 collectd
- 无缝连贯到 StatsD
- 反对 Prometheus remote_read 和 remote_write
taosAdapter 架构图
taosAdapter 部署办法
装置 taosAdapter
有两种装置形式,你能够抉择进入涛思数据官网(https://www.taosdata.com/)下载 TDengine server 安装包,无需任何额定操作即可装置好 taosAdapter。
这种形式下,如果你须要将 taosAdapter 拆散部署在 TDengine server 之外的服务器上,则应该在该服务器上安装残缺的 TDengine 来装置 taosAdapter。除此之外,你还能够抉择应用源代码编译生成 taosAdapter,具体可参考如下文档(https://github.com/taosdata/t…)。
启动 / 进行 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。其中,命令行参数优先于环境变量优先于配置文件,命令行用法是 arg=val,如 taosadapter -p=30000 –debug=true,具体参数列表可参见:https://docs.taosdata.com/ref…。
接口
TDengine RESTful 接口
你能够应用任何反对 http 协定的客户端拜访 RESTful 接口地址 http://<fqdn>:6041/rest/sql 来写入数据到 TDengine 或从 TDengine 中查问数据。细节请参考官网文档(https://docs.taosdata.com/con…)。
InfluxDB
你能够应用任何反对 http 协定的客户端拜访 Restful 接口地址 http://<fqdn>:6041/<APIEndPoint> 来写入 InfluxDB 兼容格局的数据到 TDengine。EndPoint 如下:/influxdb/v1/write
反对 InfluxDB 查问参数如下:
- db 指定 TDengine 应用的数据库名
- precision TDengine 应用的工夫精度
- u TDengine 用户名
- p TDengine 明码
留神:目前不反对 InfluxDB 的 token 验证形式,仅反对 Basic 验证和查问参数验证。
OpenTSDB
同样,你能够应用任何反对 http 协定的客户端拜访 Restful 接口地址 http://<fqdn>:6041/<APIEndPoint> 来写入 OpenTSDB 兼容格局的数据到 TDengine。EndPoint 如下:
/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 项来指定不同的名称。user 和 password 填写理论 TDengine 配置的值,批改过配置文件后 taosAdapter 需重新启动。
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 项来指定不同的名称。同样,user 和 password 填写理论 TDengine 配置的值,如果批改了配置文件,taosAdapter 需重新启动。
在上述两种接口下,也能够应用 taosAdapter 命令行参数或设置环境变量启动的形式,使 taosAdapter 能接管 collectd/StatsD 数据。更多接口及其配置办法,请参考 https://docs.taosdata.com/ref…。
内存应用优化办法
taosAdapter 将监测本身运行过程中的内存使用率,并通过两个阈值(pauseQueryMemoryThreshold 及 pauseAllMemoryThreshold)进行调节, 有效值范畴为 -1 到 100 之间的整数,单位为零碎物理内存的百分比。
- 当超过 pauseQueryMemoryThreshold 阈值时将进行解决查问申请。http 返回内容为 code 503、body“query memory exceeds threshold”
- 当超过 pauseAllMemoryThreshold 阈值时进行解决所有写入和查问申请。http 返回内容为 code 503、body“memory exceeds threshold”
当内存回落到阈值之下时复原对应性能。状态查看接口 http://<fqdn>:6041/-/ping
- 失常返回 code 200
- 无参数。如果内存超过 pauseAllMemoryThreshold 将返回 code 503
- 申请参数 action=query。如果内存超过 pauseQueryMemoryThreshold 或 pauseAllMemoryThreshold 将返回 code 503
咱们能够依据具体我的项目利用场景和经营策略进行相应调整,倡议应用经营监控软件及时进行零碎内存状态监控。负载均衡器也能够通过这个接口查看 taosAdapter 运行状态。点击 https://docs.taosdata.com/ref… 可查看参数详情。
如何从旧版本 TDengine 迁徙到 taosAdapter
在 TDengine server 2.2.x.x 或更晚期版本中,taosd 过程蕴含一个内嵌的 HTTP 服务。如前文所述,taosAdapter 是一个应用 systemd 治理的独立软件,领有本人的过程,并且两者有一些配置参数和行为是不同的,请见下表:
taosAdapter 次要通过参数 restfulRowLimit 来管制后果的返回条数,-1 代表无限度,默认无限度。该参数管制以下接口返回:
- http://<fqdn>:6041/rest/sql
- http://<fqdn>:6041/prometheus/v1/remote_read/:db
如果呈现故障,咱们能够通过命令 systemctl status taosadapter 来查看 taosAdapter 运行状态,也能够通过设置 –logLevel 参数或者环境变量 TAOS_ADAPTER_LOG_LEVEL 来调节 taosAdapter 日志输入具体水平,有效值包含:panic、fatal、error、warn、warning、info、debug 以及 trace。
写在最初
受文章篇幅所限,本文并未蕴含 taosAdapter 利用手册的所有技术细节,如需查问相干配置内容,能够移步到 TDengine 官网 - 技术文档进行更具体理解。此外,欢送大家扫码增加小助手小 T,进入 TDengine 用户交换群,在本群中,你不仅能够与有同样业务场景的小伙伴进行交换,还能够取得官网技术人员的业余反对。
想理解更多 TDengine Database 的具体细节,欢送大家在 GitHub 上查看相干源代码。