TDengine PI 连接器部署架构:直连、taosX-Agent 代理与多工厂聚合方案选型指南
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
本指南围绕 TDengine 数据接入组件PI 连接器(PI Connector)的三种部署架构展开:taosX 直连(Option A)、taosX-Agent 代理(Option B,生产推荐)、多 PI 系统聚合(Option C)。文中完整覆盖各方案的适用场景、架构拓扑、优劣势对比,并结合仓库文档与组件资料给出 taosX-Agent 部署要点、网络端口规划与架构选型决策表,帮助你在 OT/IT 网络隔离、多工厂数据汇聚等工业物联网场景下选择正确的部署形态。
PI 连接器的定位与运行前提
PI 连接器是 taosX 的一个插件,负责从 OSIsoft / AVEVA PI 系统中读取数据并写入 TDengine。它的核心依赖是PI AF SDK,而 PI AF SDK仅支持 Windows,因此连接器所在的宿主机必须是一台能够直连 PI 系统的 Windows 主机。
这一"Windows-only"的依赖决定了整个部署架构的基本约束,也直接派生出了下文的两种连接器运行模式:
| 运行模式 | 说明 |
|---|---|
| 内嵌于 taosX(Embedded in taosX) | taosX 本身部署在可直连 PI 系统的 Windows 主机上,连接器作为 taosX 的内置插件运行 |
| 通过 taosX-Agent 代理(Via taosX-Agent proxy) | taosX 部署在其他位置(如云端或 IT 数据中心),PI 系统通过 taosX-Agent 作为代理访问 |
关于 PI 连接器依赖的更多前置条件(端口、协议、权限、软件依赖),可参见 PI 数据接入前置条件;连接器与 PI 系统交互的具体机制见 连接配置与认证。
Option A:taosX 直连(Direct Connection)
适用场景
taosX 可以直接部署在与 PI 系统同一网段的 Windows 服务器上。这是最简单的形态:taosX、PI 连接器子进程与 PI 系统处于同一个 OT 网络内。
架构拓扑
graph LR OT 网络:PI Data Archive / PI AF Server OT 网络:taosX 主机(Windows,含 PI connector 子进程) IT 网络/数据中心:TDengine taosX 主机 -- "PI SDK 协议(端口 5450/5457),由 PI connector 子进程发起" --> PI 服务器 taosX 主机 -- "原生连接写入" --> TDengine数据流为:PI connector 子进程通过 PI SDK 协议(端口 5450/5457)从 PI 系统拉取数据,再由 taosX 通过原生连接写入 TDengine。
优点
- 架构简单,无需额外部署 taosX-Agent
- 运维成本低
限制
- taosX 必须运行在 Windows 上(受 PI AF SDK 平台限制)
- taosX 主机必须同时可达 PI 系统与 TDengine
Option B:taosX-Agent 代理模式(推荐)
适用场景
taosX 部署在云端或 IT 数据中心,无法直接连接 PI 系统;或者 PI 系统位于隔离的 OT 网络中。此时由部署在 OT 网络的 taosX-Agent 代理采集。
架构拓扑
graph LR OT 网络:PI Data Archive / PI AF Server OT 网络:taosX-Agent 主机(Windows,含 PI connector 子进程) IT 网络/云:taosX(Linux / Windows) IT 网络/云:TDengine taosX-Agent -- "PI SDK 协议(端口 5450/5457)" --> PI 服务器 taosX-Agent -- "跨网络 gRPC" --> taosX taosX -- "原生连接写入" --> TDengine数据流为:PI connector 子进程在 OT 网络内通过 PI SDK 协议采集 PI 数据,taosX-Agent 通过跨网络 gRPC 将数据转发给 taosX,再由 taosX 写入 TDengine。
优点
- taosX 可以部署在 Linux 上,摆脱 PI AF SDK 仅支持 Windows 的限制
- 符合 OT/IT 网络分区的安全合规要求
- taosX-Agent 只需要两个方向的网络连通性:到 PI 系统、到 taosX
限制
- 需要额外部署与维护 taosX-Agent
- 运行 taosX-Agent 的 Windows 主机必须安装 PI AF SDK
:::tiptaosX-Agent 代理模式是生产环境的推荐部署方案,尤其适合 OT/IT 网络隔离的工业场景。 :::
Option C:多 PI 系统聚合
适用场景
企业级部署中,多个工厂各自拥有独立的 PI 系统,需要将数据汇聚到统一的 TDengine 集群。
架构拓扑
graph LR 工厂 1 - OT 网络:PI 系统 1 工厂 1 - OT 网络:taosX-Agent 1(Windows) 工厂 2 - OT 网络:PI 系统 2 工厂 2 - OT 网络:taosX-Agent 2(Windows) 工厂 3 - OT 网络:PI 系统 3 工厂 3 - OT 网络:taosX-Agent 3(Windows) 数据中心/云:taosX 数据中心/云:TDengine taosX-Agent 1 -- "PI SDK 协议" --> PI 系统 1 taosX-Agent 2 -- "PI SDK 协议" --> PI 系统 2 taosX-Agent 3 -- "PI SDK 协议" --> PI 系统 3 taosX-Agent 1 --> taosX taosX-Agent 2 --> taosX taosX-Agent 3 --> taosX taosX --> TDengine每个工厂在本地 OT 网络部署独立的 taosX-Agent,统一汇聚到数据中心/云中的同一套 taosX 与 TDengine。
优点
- 对多个 PI 系统的数据进行统一管理
- 各工厂独立部署自己的 taosX-Agent,互不影响
- 有利于企业级数据分析与监控
注意事项
- 每个 taosX-Agent 需要独立安装 PI AF SDK,并为对应的 PI 系统配置访问权限
- 建议对不同工厂的数据使用不同的 TDengine 数据库或超级表前缀,避免命名冲突
taosX-Agent 部署关键点
如果选择了 Option B 或 Option C,以下是 taosX-Agent 部署时需要重点核对的关键点:
| 关键点 | 说明 |
|---|---|
| 操作系统 | 必须是 Windows(PI AF SDK 仅支持 Windows) |
| PI AF SDK | taosX-Agent 主机上必须安装 PI AF SDK(PI AF Client 2018+);taosX/taosX-Agent 将 PI 连接器作为子进程启动,连接器调用 PI AF SDK 与 PI 通信 |
| 服务账户 | taosX-Agent 服务的 Windows 身份(默认:Local System → 域中的机器账户)即连接器呈现给 PI 的身份;该身份必须在 PI 侧被授予权限 |
| 网络 - PI 侧 | taosX-Agent 主机 → PI Data Archive(端口 5450),taosX-Agent 主机 → PI AF Server(端口 5457) |
| 网络 - taosX 侧 | taosX-Agent ↔ taosX 网络连通(gRPC) |
| 安装方式 | 在 taosExplorer 中点击+Create New Agent获取 taosX-Agent 安装指引 |
taosX-Agent 的安装与配置实操
taosX-Agent 是 TDengine TSDB Enterprise 的独立组件,需要单独下载,不包含在 TDengine 安装包中(社区版不提供)。安装后的关键文件位置如下:
| 项目 | Linux | Windows |
|---|---|---|
| 可执行文件 | /usr/bin/taosx-agent | C:\TDengine\taosx-agent.exe |
| 配置文件 | /etc/taos/agent.toml | C:\TDengine\cfg\agent.toml |
| 日志目录 | /var/log/taos/ | C:\TDengine\log\ |
| 服务名 | taosx-agent(systemd) | taosx-agent(Windows 服务) |
部署流程为:在 taosExplorer 的Data In → Agent 标签页点击+Create New Agent,向导会生成一个endpoint和token,将其保存到agent.toml配置文件中,然后启动服务并验证 Agent 状态。详细的安装步骤与排查方法见 taosX-Agent 组件参考。
配置文件agent.toml使用 TOML 格式,最小必需配置如下:
# taosX gRPC 服务地址(必填) endpoint = "http://<taosX_host>:6055" # 在 Explorer 中创建 Agent 时生成的 Token(必填) token = "<your_token>"常用可选参数还包括:
| 参数 | 默认值 | 说明 |
|---|---|---|
instanceId | — | Agent 实例 ID;同一台机器运行多个 Agent 实例时必须唯一 |
compression | false | 是否启用 Agent 与 taosX 之间的通信数据压缩 |
in_memory_cache_capacity | 64 | 内存中可缓存的最大消息批次数,必须大于 0 |
keep_online | true | taosX 服务不可用或连接丢失时,是否保持 Agent 运行并尝试重连 |
[client_port_range].min/.max | 49152/65535 | Agent 连接 taosX 时客户端端口范围限制 |
[log]段 | — | 日志路径、级别、轮转、保留天数等配置 |
完整的agent.toml配置示例见 taosX-Agent 配置参考。
架构选型决策表
根据实际网络环境与部署条件,可按下表快速确定推荐方案:
| 条件 | 推荐方案 |
|---|---|
| taosX 可以部署在与 PI 系统同一网段的 Windows 主机上 | Option A(直连) |
| taosX 在云端或 IT 网络,PI 在 OT 网络 | Option B(taosX-Agent 代理) |
| 多个工厂的多个 PI 系统需要汇聚到同一套 TDengine | Option C(多 PI 聚合) |
| 严格的 OT/IT 网络隔离与安全合规要求 | Option B 或 C(taosX-Agent 代理) |
| 希望 taosX 运行在 Linux 上 | Option B 或 C(taosX-Agent 代理) |
网络与端口规划
无论采用哪种架构,PI 侧的网络连通性要求是一致的。运行 taosX(或 taosX-Agent)的主机必须能访问 PI 系统的以下端口:
| 源 | 目的 | 端口 | 协议 | 说明 |
|---|---|---|---|---|
| PI 连接器(taosX/taosX-Agent 主机) | PI Data Archive Server | 5450/TCP | PI AF SDK 专有协议 | 必需,读取 PI Point 数据 |
| PI 连接器(taosX/taosX-Agent 主机) | PI AF Server | 5457/TCP | PI AF SDK 专有协议 | 使用 AF 模式时必需 |
| taosX-Agent | taosX | taosX 配置的端口 | gRPC | 使用 taosX-Agent 代理模式时必需 |
:::note 上述端口是 PI 系统默认值。PI 连接器(taosx-pi.exe)通过 PI AF SDK 与 PI 系统通信,端口由 SDK 内部管理,连接器中无需手动配置端口;但防火墙必须放行这些端口,否则 SDK 连接会失败。若 PI 系统使用非标准端口,请与 PI 管理员确认实际端口号。 :::
在 taosX / taosX-Agent 主机上,可用以下命令快速验证端口连通性:
# Windows PowerShell Test-NetConnection -ComputerName <PI_SERVER_HOST> -Port 5450 Test-NetConnection -ComputerName <AF_SERVER_HOST> -Port 5457# Linux(仅用于验证 taosX ↔ taosX-Agent 连通性) nc -zv <HOST> <PORT>Agent 到 taosX 的 gRPC 端口默认为6055,部署前同样建议先验证:Linux 使用nc -zv <taosX_host> 6055,Windows 使用Test-NetConnection -ComputerName <taosX_host> -Port 6055。
服务账户与认证要点
taosX-Agent 默认以 WindowsLocal System账户运行,在域环境中对应机器账户(如DOMAIN\machinename$)。连接器访问 PI 时呈现给 PI 的身份就是 taosX-Agent 服务的 Windows 身份,因此该身份必须在 PI 侧获得授权:
- 在 PI Data Archive 中,PI 管理员应使用 PI System Management Tools(SMT)创建 Mapping,将 Windows 账户的 SID 映射到具有读取权限的PI Identity(SMT → Security → Mappings)
- 使用 AF 模式时,还需在 PI System Explorer(PSE)中为该账户授予 AF 数据库及 AF Elements/Attributes 的 Read 与 Read Data 权限
生产环境建议为 taosX-Agent 配置专用的域服务账户(避免使用 Local System 机器账户、个人账户或高权限管理员账户),遵循最小权限原则,仅授予 PI 数据读取权限。连接配置中的 Username/Password/Domain 字段默认留空即可使用 Windows 集成认证(Kerberos 或 NTLM);只有当需要以指定 Windows 账户覆盖服务账户身份时,才填写显式凭据。更完整的字段说明与认证机制见 连接配置与认证。
高可用与故障转移延伸
选择 Option B 或 Option C 时,可以进一步通过多 taosX 实例(注册为引擎中的 Xnode)实现任务级高可用:PI 任务按"单实例调度"模型运行在某个最佳 Xnode 上,节点故障后调度器约在 10–30 秒内将任务重调度到可用节点;计划维护时可用DRAIN XNODE <id>主动迁移任务。故障期间产生/更新的数据,可通过重启补偿时间与历史数据回填弥补。详细的调度模型、故障转移行为与生产级推荐架构(如 TDengine 3 dnodes 三副本 mnode、2–3 个 taosX/Xnode、共享存储、Agent 指向集群内全部 taosX 端点)参见 高可用与故障转移;Xnode 的注册与调度 SQL 语法见 数据接入(Xnode)。
总结
选择 PI 连接器部署架构的核心判断依据是网络拓扑:同一网段内可直连时用 Option A;OT/IT 隔离、需要 taosX 跑在 Linux 时用 Option B(生产推荐);多工厂数据汇聚时用 Option C。无论哪种方案,都必须保证承载 PI 连接器的 Windows 主机安装了 PI AF SDK、正确配置了服务账户的 PI 侧权限,并放行 5450/5457 端口;使用代理模式时还需维护好 Agent 与 taosX 之间的 gRPC 连通性与 Agent 配置。结合本文的决策表与部署关键点,即可为你的工业数据接入场景规划出稳妥的部署架构。
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考