Golang环境下Telegraf服务解析JSON时间戳失败求助
解决Telegraf解析JSON时间戳的问题
问题分析
你的JSON时间戳格式是2017-09-04T04:00:00,没有时区后缀(既没有Z也没有时区偏移),但当前配置的time_format: "2006-01-02T15:04:05Z"强制要求末尾有Z,导致解析失败。错误提示里的Z07:00是Telegraf自动触发的时区格式检测,本质是输入字符串和配置格式不匹配。
正确配置方案
直接去掉格式里的Z,使用和输入完全匹配的Go语言时间格式:
time_format: "2006-01-02T15:04:05"
补充说明
Go语言的时间格式是基于参考时间Mon Jan 2 15:04:05 MST 2006设计的,必须严格和输入字符串的每一部分对应:
- 输入里没有时区标识,格式里就不能加
Z或时区偏移相关的部分 - 如果后续遇到带时区的时间戳(比如
2017-09-04T04:00:00Z或2017-09-04T04:00:00+08:00),再对应调整格式为"2006-01-02T15:04:05Z"或"2006-01-02T15:04:05-07:00"
内容的提问来源于stack exchange,提问作者Cesc
相关产品推荐
相关产品推荐

