GitHub user spacefang added a comment to the discussion: 无法通过1.36.1版本的Telegraf 采集数据到 2.0.5版本的IoTDB数据库中
我按照你的配置始终就是无法写入成功,不过还是感谢你的回复!我梳理了我的错误日志,发现我的问题都与 Telegraf 的数据格式如何映射到 IoTDB 的时间序列路径有关。我之后将配置改了两点就好啦, (1) 将 Tags 转换为 Fields,在 telegraf.conf 的 [[outputs.iotdb]] 配置块中,添加了 convert_tags_to = "fields"。不再将 cpu=cpu-total 这样的 Tag 拼接到设备路径中,而是将其作为一个名为 cpu、值为 cpu-total 的数据列(Field)存入 IoTDB。解决了非法字符问题 (2)移除了所有 [[inputs.cpu]] 插件里的 name_override,并添加了一个 [[processors.override]] 配置块。拦截所有来自 Input 插件的指标,并在它们的 measurement name 前面统一加上 root.demo.telegraf. 前缀。这样一来,无论原始指标叫 cpu 还是 disk还是其他的,最终都会变成 root.demo.telegraf.cpu 和 root.demo.telegraf.disk ··· [agent] interval = "10s" round_interval = true metric_batch_size = 1000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "0s" #为所有 metrics 的名称添加前缀,以满足 IoTDB 的路径要求 [[processors.override]] name_prefix = "root.demo.telegraf." #读取 CPU 指标 [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false core_tags = false #注意:这里的 name_override 已经被移除 [[outputs.iotdb]] host = "127.0.0.1" port = "6667" user = "root" password = "root" timestamp_precision = "millisecond" convert_tags_to = "fields" #新增加 sanitize_tag = "1.3" ··· GitHub link: https://github.com/apache/iotdb/discussions/16521#discussioncomment-14549126 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
