TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark

作者:TDengine (老段)日期:2026/8/20

分类:14.生态 | 篇章:04 第三方工具

免费详情

TDengine 通过 InfluxDB 兼容协议、JDBC、连接器等方式与主流数据生态对接。本文汇总 Telegraf、Kafka Connect、Flink、Spark、Logstash 等工具的集成方式。

集成方式速查

工具集成方式用途
TelegrafInfluxDB output系统/IoT 采集
collectdcollectd protocol服务器监控
StatsDStatsD protocol应用指标
Prometheusremote_write长期存储
Kafka ConnectJDBC SinkKafka → TD
Apache FlinkJDBC Sink流处理结果存储
Apache SparkJDBC大数据分析
LogstashJDBC output日志数据
DBeaverJDBCSQL IDE
HiveJDBC数据仓库

详细解析

1. Telegraf 集成

1# /etc/telegraf/telegraf.conf
2
3# 输入插件(按需)
4[[inputs.cpu]]
5  percpu = true
6  totalcpu = true
7
8[[inputs.mem]]
9
10[[inputs.system]]
11
12
13# 输出到 TDengine(通过 InfluxDB Line 协议)
14[[outputs.http]]
15  url = "http://taosadapter:6041/influxdb/v1/write?db=telegraf"
16  method = "POST"
17  username = "root"
18  password = "taosdata"
19  data_format = "influx"
20
21
22# 启动
23systemctl start telegraf
24

2. collectd 集成

1# /etc/collectd/collectd.conf
2
3LoadPlugin network
4
5<Plugin "network">
6  Server "taosadapter" "6045"
7</Plugin>
8
9LoadPlugin "cpu"
10LoadPlugin "memory"
11LoadPlugin "disk"
12LoadPlugin "interface"
13
14
15# taosAdapter 配置开启 collectd
16# /etc/taos/taosadapter.toml
17[collectd]
18enable = true
19port = 6045
20db = "collectd"
21user = "root"
22password = "taosdata"
23

3. StatsD 集成

1# StatsD 协议(UDP)
2echo "myapp.requests:1|c|@1.0" | nc -u -w0 taosadapter 6044
3
4
5# taosAdapter 配置
6# /etc/taos/taosadapter.toml
7[statsd]
8enable = true
9port = 6044
10db = "statsd"
11

4. Prometheus remote_write

1# prometheus.yml
2remote_write:
3  - url: "http://taosadapter:6041/prometheus/v1/remote_write/prometheus_data"
4    basic_auth:
5      username: root
6      password: taosdata
7
8
9# 长期存储所有 Prometheus 指标
10# 利用 TDengine 高压缩比
11
12
13# 反向:从 TDengine  Prometheus 指标
14remote_read:
15  - url: "http://taosadapter:6041/prometheus/v1/remote_read/prometheus_data"
16

5. Kafka Connect JDBC Sink

1// kafka-connect-jdbc-sink.json
2{
3  "name": "tdengine-sink",
4  "config": {
5    "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
6    "tasks.max": "4",
7    "topics": "sensor_data",
8    "connection.url": "jdbc:TAOS-RS://taosadapter:6041/iot",
9    "connection.user": "root",
10    "connection.password": "taosdata",
11    "insert.mode": "insert",
12    "auto.create": "true",
13    "auto.evolve": "true",
14    "pk.mode": "record_value",
15    "pk.fields": "ts"
16  }
17}
18
19
20# 部署到 Kafka Connect
21curl -X POST http://kafka-connect:8083/connectors \
22  -H "Content-Type: application/json" \
23  -d @kafka-connect-jdbc-sink.json
24

6. Apache Flink 集成

1//  JDBC Sink  TDengine
2import org.apache.flink.connector.jdbc.*;
3
4DataStream<MeterReading> stream = ...; // 你的数据流
5
6stream.addSink(JdbcSink.sink(
7  "INSERT INTO meters VALUES (?, ?, ?)",
8  (ps, reading) -> {
9    ps.setTimestamp(1, reading.ts);
10    ps.setFloat(2, reading.current);
11    ps.setInt(3, reading.voltage);
12  },
13  JdbcExecutionOptions.builder()
14    .withBatchSize(1000)
15    .withBatchIntervalMs(200)
16    .build(),
17  new JdbcConnectionOptions.JdbcConnectionOptionsBuilder()
18    .withUrl("jdbc:TAOS-WS://taosadapter:6041/iot")
19    .withDriverName("com.taosdata.jdbc.ws.WebSocketDriver")
20    .withUsername("root")
21    .withPassword("taosdata")
22    .build()
23));
24

7. Apache Spark 集成

1//  TDengine
2val df = spark.read
3  .format("jdbc")
4  .option("url", "jdbc:TAOS-WS://taosadapter:6041/iot")
5  .option("driver", "com.taosdata.jdbc.ws.WebSocketDriver")
6  .option("user", "root")
7  .option("password", "taosdata")
8  .option("dbtable", "(SELECT * FROM meters WHERE ts > NOW - 1d) tmp")
9  .load()
10
11df.show()
12
13
14//  TDengine
15processedDf.write
16  .format("jdbc")
17  .mode("append")
18  .option("url", "jdbc:TAOS-WS://taosadapter:6041/iot")
19  .option("driver", "com.taosdata.jdbc.ws.WebSocketDriver")
20  .option("dbtable", "processed_meters")
21  .save()
22

8. Logstash 集成

1# logstash.conf
2input {
3  file {
4    path => "/var/log/sensors/*.log"
5    codec => json
6  }
7}
8
9filter {
10  date {
11    match => ["ts", "ISO8601"]
12  }
13}
14
15output {
16  http {
17    url => "http://taosadapter:6041/influxdb/v1/write?db=logstash"
18    http_method => "post"
19    user => "root"
20    password => "taosdata"
21    format => "message"
22    message => "sensors,device=%{device} value=%{value} %{ts}"
23  }
24}
25

DBeaver SQL IDE

1连接配置:
2
3Driver:
4  下载 taos-jdbcdriver-3.x.x.jar
5  
6连接:
7  URL: jdbc:TAOS-WS://localhost:6041/test
8  User: root
9  Password: taosdata
10
11
12功能:
13  - 表浏览
14  - SQL 编辑
15  - 数据导出
16  - 可视化查询
17

Hive 集成

1--  Hive  TDengine(通过 JDBC StorageHandler)
2CREATE EXTERNAL TABLE hive_meters (
3  ts TIMESTAMP,
4  current FLOAT,
5  voltage INT,
6  location STRING
7)
8STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
9TBLPROPERTIES (
10  "hive.sql.database.type" = "MYSQL",  -- 借用 MySQL Driver
11  "hive.sql.jdbc.driver" = "com.taosdata.jdbc.TSDBDriver",
12  "hive.sql.jdbc.url" = "jdbc:TAOS://taosd:6030/iot",
13  "hive.sql.dbcp.username" = "root",
14  "hive.sql.dbcp.password" = "taosdata",
15  "hive.sql.table" = "meters"
16);
17
18SELECT * FROM hive_meters LIMIT 10;
19

代码示例

Telegraf 监控 + Grafana 完整链路

1# docker-compose.yml
2services:
3  taosd:
4    image: tdengine/tdengine:3.x.x
5  
6  adapter:
7    image: tdengine/tdengine:3.x.x
8    command: taosadapter
9    ports: ["6041:6041", "6045:6045"]
10  
11  telegraf:
12    image: telegraf:latest
13    volumes:
14      - ./telegraf.conf:/etc/telegraf/telegraf.conf
15    depends_on:
16      - adapter
17  
18  grafana:
19    image: grafana/grafana:latest
20    ports: ["3000:3000"]
21    environment:
22      - GF_INSTALL_PLUGINS=tdengine-datasource
23

一站式系统监控部署

1#!/bin/bash
2# install_monitoring.sh
3
4# 1. Telegraf 安装
5apt install -y telegraf
6
7# 2. 配置 Telegraf  TDengine
8cat > /etc/telegraf/telegraf.conf <<EOF
9[[inputs.cpu]]
10[[inputs.mem]]
11[[inputs.disk]]
12[[inputs.net]]
13
14[[outputs.http]]
15  url = "http://taosadapter:6041/influxdb/v1/write?db=monitoring"
16  username = "root"
17  password = "taosdata"
18  data_format = "influx"
19EOF
20
21# 3. 启动
22systemctl start telegraf
23
24# 4. 验证数据
25sleep 30
26taos -s "USE monitoring; SHOW TABLES;"
27

性能考量

集成性能对比

集成单实例吞吐
Telegraf几万指标/秒
collectd几万指标/秒
Prometheus remote_write几十万样本/秒
Kafka Connect几十万行/秒
Flink JDBC Sink几十万行/秒
Spark JDBC视分区

选型建议

场景推荐
系统监控Telegraf
应用指标StatsD / Prometheus
Kafka 消息Kafka Connect / taosX
流处理Flink
批分析Spark
日志Logstash + Schemaless

FAQ

Q1: 用 InfluxDB 兼容协议有何限制?

  • 通用写入功能完整
  • 不支持 InfluxQL(用 TDengine SQL)
  • 部分 Flux 函数无对应

Q2: Kafka Connect 推荐 taosX 还是 JDBC Sink?

  • 简单场景:JDBC Sink 即可
  • 复杂转换/高吞吐:taosX

Q3: Flink CDC 接 TDengine?

通过 JDBC Sink 写 TDengine。或用 Flink CDC 源 + 自定义 Sink。

Q4: Spark Streaming 写 TDengine?

可用 foreachBatch 调用 JDBC:

1stream.foreachBatch { (df, _) =>
2  df.write.format("jdbc")...
3}
4

Q5: 国产生态怎么对接?

  • DolphinScheduler:JDBC
  • Apache SeaTunnel:连接器支持
  • DataX:插件
  • 海豚调度等:JDBC 标准接口

参考

系统构架篇

数据模型

存储引擎

查询引擎

数据写入

数据订阅

预聚合

索引

SQL 语句

客户端与连接器

运维

安全

生态

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。


TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark》 是转载文章,点击查看原文


相关推荐


uni-app 项目目录结构全解:每个文件、每个文件夹的作用与配置详解
90后晨仔2026/8/7

📌 本文定位: 面向 iOS/Android/鸿蒙原生工程师,系统梳理 uni-app 项目的完整目录结构。基于 uni-app 官方文档 并大幅补充官方未覆盖的工程化细节、隐藏配置和实战经验。 一、标准项目目录全景图 使用 HBuilderX 或 CLI (npx degit dcloudio/uni-preset-vue#vite-ts my-project) 创建的标准项目结构如下: my-uni-app/ ├── pages/ # 📄 页面目


给 AI 装个“工具箱”:MCP 协议入门与 Node.js 实战
无情的西瓜皮2026/7/29

给 AI 装个"工具箱":MCP 协议入门与 Node.js 实战 你有没有想过一件事:AI 聊天模型很聪明,但它没办法直接读你的本地文件、查天气预报、更新 GitHub Issue,或者在数据库里跑一条 SQL。 这不是能力问题,是协议问题。大模型生在云端,活在自己的世界里。要让它们真正"动起来",你需要一个中间层——一个 AI 能理解和调用的标准接口。 MCP(Model Context Protocol)就是干这个的。它不是某个公司的私有方案,而是 Anthropic 推出来的开放协议,想


【Bug已解决】Forked thread token monitor over-accumulates usage after fork 解决方案
向哆哆2026/7/21

【Bug已解决】Forked thread token monitor over-accumulates usage after fork 解决方案 原始报错线索:Forked thread token monitor over-accumulates usage after fork(fork 出来的子进程里,那个统计 token 用量的监控线程,把用量算多了 / 重复累计)。 一、背景:fork 的语义陷阱 fork() 会几乎完整复制父进程的内存(写时复制,COW)。这意味着: 父进


【GitHub】Strix 深度解析:开源 AI 渗透测试工具的架构、原理与实战
怪侠说不说2026/7/13

当 AI 学会了黑客技能,安全测试的范式正在被彻底改写。 一、引言:安全测试的「自动驾驶」时代 传统的渗透测试(Pentest)面临着几个无解的痛点:周期长(动辄数周)、成本高(资深白帽人才稀缺)、误报多(静态扫描工具缺乏上下文理解)、覆盖窄(人为测试难以穷举攻击面)。一款名为 Strix 的开源项目正试图用 AI 多智能体协作的方式,把渗透测试带入"自动驾驶"时代。 Strix 在 GitHub 开源不到一年,已经斩获大量关注。它的核心理念非常直白:用 AI 代理(Agent)模


Opencode是怎么设计的
Worlds2026/7/5

一、前置基础:代码辅助工具的代际演进 在讲解具体架构前,先明确两个底层认知,帮你建立对 OpenCode 定位的正确理解: 两代代码辅助工具的本质区别代码 AI 工具经历了两个明显的代际演进,核心差异是「辅助补全」还是「自主执行」: 第一代:代码补全工具(如 GitHub Copilot),定位是「打字助手」,只能根据上下文生成片段代码,需要用户逐行确认、手动执行后续操作 第二代:代码智能体(Code Agent,如 OpenCode、Claude Code),定位是「任务执行者」,能够自


【C/C++】C 语言实现 WebSocket:握手、帧解析、掩码和回显
SilentSlot2026/6/27

【C/C++】C 语言实现 WebSocket:握手、帧解析、掩码和回显 1. WebSocket 为什么要先握手 WebSocket 不是一开始就直接发送二进制帧,它先通过 HTTP 发起升级请求。浏览器会发送类似这样的请求头: GET / HTTP/1.1 Host: 127.0.0.1:8080 Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Sec-WebSoc


Makefile自动化编译实战项目
唐 城2026/6/18

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。  这是一份 Makefile 自动化编译实战项目资源包。这份指南从核心语法到企业级多目录架构,再到自动化依赖生成,带你彻底掌握 C/C++ 项目的构建自动化,告别手动敲 gcc 的低效时代。 📦 一、 项目目录结构规划 一个标准的工程化项目应具备清晰的目录划分,这是编写高级 Makefile 的基


https连接传输流程
Aphasia2026/6/10

引言:为什么需要 HTTPS? 在传统的 HTTP 协议中,数据是以明文形式在网络中传输的,这带来了三大安全风险:窃听(隐私泄露) 、篡改(数据被劫持修改)和冒充(钓鱼网站) 。 为了解决这些问题,HTTPS 应运而生。HTTPS 的本质是在 HTTP 与 TCP 之间引入了一个安全层——TLS/SSL 协议。它通过混合加密体系,完美兼顾了安全与效率: 非对称加密:在握手阶段使用,用于验证服务器身份并安全地协商出“会话密钥”。 对称加密:在握手完成后使用,双方用协商出的“会话密钥”进行高性能的


Flutter 屏幕旋转适配
Bowen_Jin2026/6/3

mindmap root((Flutter 屏幕旋转适配)) 原理 旋转手机 = 窗口尺寸变了 Flutter 检测到 → 自动重新布局 怎么监听 OrientationBuilder 根据横竖屏切布局 MediaQuery.sizeOf 根据宽度切布局 更推荐 怎么锁定屏幕 SystemChrome.setPreferredOrientations 锁定竖屏 portraitUp 锁


HTML应用指南:利用GET请求获取智己汽车门店位置信息
图说交通2026/5/26

智己汽车作为高端智能电动汽车品牌,深度融合先锋设计美学、纯电驱动技术、高阶智能驾驶与全场景出行服务,依托L7、LS7、LS6、L6等产品矩阵,打造兼具科技感与驾控乐趣的高端出行体验。在营销推广层面,智己摒弃传统4S店模式,创新采用“体验中心+用户中心”的新零售策略,系统构建以用户旅程为核心的全域触点网络。 目前,品牌已在北京、上海、广州、深圳、杭州、成都、武汉、西安、南京、苏州、重庆等一线及新一线城市核心商圈布局直营体验中心与交付中心,并战略性入驻上海BFC外滩金融中心、北京侨福芳草地、深圳万

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读