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]

Reply via email to