AWS CloudWatch:如何指定JSON日志的时间戳字段及解析问题排查
解决AWS CloudWatch Logs Agent解析JSON时间戳的问题
问题根源
你的配置缺少三个关键要素:
- 未告知Agent日志为JSON格式,导致它无法识别日志中的字段结构
- 未明确指定从哪个JSON字段提取时间戳
- 时间格式字符串里的
%z不匹配日志中的Z字符(%z对应+0000这类时区偏移格式,而非单独的UTC标识Z)
正确配置步骤
修改/etc/awslogs/awslogs.conf中对应日志组的配置段,添加/调整以下参数:
# 声明日志为JSON格式 log_format = json # 指定从"ts"字段读取时间戳 timestamp_key = ts # 匹配日志中的时间戳格式(将原%z替换为直接的Z) datetime_format = "%Y-%m-%dT%H:%M:%S.%fZ"
生效操作
修改配置后重启AWS Logs Agent服务:
# systemd系统执行 sudo systemctl restart awslogs # sysvinit系统执行 sudo service awslogs restart
内容的提问来源于stack exchange,提问作者Andrei Berenda
相关产品推荐
相关产品推荐

