You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegraf能否接收包含空格的传感器数据?

解决Telegraf接收带空格传感器数据的方法

方案1:用raw格式接收原始请求体

把http_v2_listener的data_format设为"raw",Telegraf会完整保留请求里的所有字符(包括空格),之后用正则解析器提取目标字段即可。

示例配置片段:

[[inputs.http_v2_listener]]
  service_address = ":8080"
  paths = ["/telegraf"]
  data_format = "raw"

[[processors.parser]]
  parse_mode = "regex"
  regex = 'SOX= (\w+) (\w+)'
  field_name = "raw"
  [[processors.parser.fields]]
    SOX_value1 = "$1"
    SOX_value2 = "$2"

这个配置能把SOX= 0x0000000 0xa1aaaa1a这类数据,解析成两个独立字段分别存储两个十六进制值。

方案2:适配form-urlencoded格式的转义规则

如果传感器固定用form-urlencoded格式发送数据,空格会被自动转成+或%20,你可以在parser里配置解码逻辑,或者调整传感器设置让它不自动转义空格(部分设备支持)。但相比之下,raw格式的处理更直接可靠。

验证方式

用curl发送模拟请求测试配置是否生效:

curl -X POST -d "SOX= 0x0000000 0xa1aaaa1a" http://localhost:8080/telegraf

内容的提问来源于stack exchange,提问作者Oscar Brazzale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:34:49