跳到主要内容

taosX-Agent 配置参考

taosX-Agent 的配置文件默认路径为 /etc/taos/agent.toml(Linux)或 C:\TDengine\cfg\agent.toml(Windows),采用 TOML 格式。

基本配置​

参数必填默认值说明
endpoint是—taosX 的 gRPC 服务地址,如 http://localhost:6055。可填写多个地址,以英文逗号分隔,详见 高可用
token是—在 taosExplorer 中创建 Agent 时生成的 Token
instanceId否—Agent 实例 ID。同一台机器部署多个 Agent 实例时,必须保证各实例 ID 唯一
compression否false是否开启 Agent 与 taosX 之间的通信数据压缩
in_memory_cache_capacity否64内存中可缓存的最大消息批次数,必须大于 0
keep_online否truetaosX 服务不可用或连接断开时,是否保持 Agent 运行并尝试重连

交付窗口与超时​

taosX-Agent 已发送给 taosX、但尚未确认写入的数据,受发送窗口和交付超时的限制。可通过以下环境变量调整:

环境变量默认值说明
TAOSX_AGENT_DELIVERY_MAX_BATCHES与 in_memory_cache_capacity 相同(默认 64)等待确认的最大批次数,取值为正整数
TAOSX_AGENT_DELIVERY_MAX_BYTES67108864(64 MiB)等待确认的数据量上限(估算值),单位为字节,取值为正整数。该值不限制进程的总内存占用
TAOSX_AGENT_DELIVERY_TIMEOUT_SECS120一批数据从发出到确认的最长等待时间,单位为秒,取值为正整数

这些参数需要设置在 taosX-Agent 服务的运行环境中,不能写在 agent.toml 或数据接入任务的配置中。修改后需重启 taosX-Agent 服务;任务启动时会在日志中记录实际生效的值。

例如,在 Linux 上通过 systemd 设置:

systemctl edit taosx-agent

在打开的编辑器中加入以下内容,保存后重启服务:

[Service]
Environment="TAOSX_AGENT_DELIVERY_TIMEOUT_SECS=300"
systemctl restart taosx-agent

使用说明:

  • 等待确认的批次数或数据量达到上限时,taosX-Agent 暂停发送新数据,待已发送的数据确认后继续发送。
  • 单批数据超过 TAOSX_AGENT_DELIVERY_MAX_BYTES 时,任务报错,不会自动拆分该批数据。此时可适当调大该参数。
  • 交付超时只针对已发送、尚未确认的数据。数据源长时间没有新数据时,不会触发超时。
  • TDengine 写入较慢,或配置了 资源限制 时,建议适当调大 TAOSX_AGENT_DELIVERY_TIMEOUT_SECS。

交付超时或网络中断时,taosX-Agent 保留未确认的数据并自动重连;认证失败、配置错误等无法自动恢复的错误会停止任务。各类情况的处理方式详见 存储转发。

资源限制​

Agent 可以使用与 taosX 相同的 [resource] 配置,限制本进程及其已注册连接器子进程的数据面资源占用。资源限制按 Agent 进程独立生效,修改后需重启 Agent。未配置 [resource] 时不启用治理器;设置 resource.enabled = false 可完整关闭。

参数必填默认值说明
resource.enabled否true(存在 [resource] 时)是否启用资源治理器;false 可完整回滚
resource.maxWriteMBps否0数据面写入带宽上限,单位 MB/s;0 表示不限制
resource.maxMemoryMB否0进程及子进程的 RSS 软预算,单位 MiB;0 表示自动读取 cgroup 限制,无 cgroup 限制时不启用
resource.maxPauseSecs否10任意资源限制单次暂停的上限,单位秒;到点强制放行并告警
resource.maxCpuPercent否0CPU 高水位,占全部核数的百分比;超过后暂停数据面写入;0 表示不限制
resource.cpuResumePercent否0CPU 恢复水位;0 表示 maxCpuPercent * 0.8,必须小于 maxCpuPercent
resource.maxCpuCores否0Agent 运行时 worker 线程数上限;0 表示不限制。该参数不限制实际 CPU 使用率
resource.cgroupPath否—可选的 cgroup 目录;默认从 /proc/self/cgroup 解析
resource.cpuPriority否0Linux 可选 nice 值 1 到 19;其他平台告警并忽略

资源和数据平面行为的完整说明见 资源占用控制。Agent 不导出 resource_* 指标,也不提供本地 metrics 接口;可通过 Agent 日志观察 resource ... armed、暂停/恢复和 max-pause 事件。连接器子进程指标使用其连接 endpoint 的真实 taosx_id。

客户端端口范围​

当 Agent 向 taosX 创建连接时,客户端会随机使用一个端口。可通过 [client_port_range] 配置限制端口范围:

参数必填默认值取值范围说明
client_port_range.min否4915249152–65535客户端端口范围最小值
client_port_range.max否6553549152–65535客户端端口范围最大值

日志配置​

通过 [log] 配置日志行为:

参数必填默认值说明
log.path否/var/log/taos(Linux)
C:\TDengine\log(Windows)
日志文件存放目录
log.level否info日志级别,可选值:error、warn、info、debug、trace
log.compress否false日志文件滚动后是否压缩
log.rotationCount否30日志目录下最多保留的文件数,超出则删除旧文件
log.rotationSize否1GB触发日志滚动的文件大小,超出后创建新文件
log.reservedDiskSize否1GB磁盘剩余空间低于此值时停止写入日志
log.keepDays否30日志文件保留天数,超过则删除旧日志
备注

log_level 和 log_keep_days 为旧版参数,已弃用。请使用 log.level 和 log.keepDays 替代。

完整配置示例​

# taosX 的 gRPC 服务地址(必填),多个地址以英文逗号分隔
endpoint = "http://192.168.1.100:6055"

# 在 taosExplorer 中创建 Agent 时生成的 Token(必填)
token = "your-agent-token-here"

# Agent 实例 ID(同一台机器多实例时必须唯一)
# instanceId = 48

# 开启通信数据压缩
# compression = true

# 内存缓存批次数
# in_memory_cache_capacity = 64

# taosX 不可用时保持运行并重连
keep_online = true

# 资源限制(按需启用)
[resource]
# maxWriteMBps = 0
# maxMemoryMB = 0
# maxPauseSecs = 10
# maxCpuPercent = 0
# cpuResumePercent = 0
# maxCpuCores = 0
# cgroupPath = "/sys/fs/cgroup"
# cpuPriority = 0

# 客户端端口范围
[client_port_range]
# min = 49152
# max = 65535

# 日志配置
[log]
# path = "/var/log/taos"
# level = "info"
# compress = false
# rotationCount = 30
# rotationSize = "1GB"
# reservedDiskSize = "1GB"
# keepDays = 30