Datadog无法上报JSON格式日志:需调整哪些配置?
开启JSON解析规则
找到Datadog Agent的日志采集配置文件(通常在/etc/datadog-agent/datadog.yaml,或者conf.d目录下对应应用的专属配置文件),给目标日志源添加JSON解析规则:logs: - type: file path: /path/to/your/json/logs/*.log service: your-service-name source: your-app-source log_processing_rules: - type: json_parser name: parse_json pattern: ".*"这里的
pattern用.*就能匹配整行完整的JSON日志,确保Agent能正确解析每行内容。映射JSON时间字段
你的JSON日志用date字段存储时间,Datadog默认可能无法自动识别,得手动把它映射成Datadog标准的@timestamp字段,避免因时间索引错误导致日志找不到:
在log_processing_rules里追加时间映射规则:log_processing_rules: - type: json_parser name: parse_json pattern: ".*" - type: date-remapper name: map_date rule: source: date target: @timestamp format: "%Y-%m-%dT%H:%M:%S.%f"格式串要和你的
date字段格式完全匹配,这里用%Y-%m-%dT%H:%M:%S.%f对应你的2025-08-11T14:28:32.285格式。核对日志标签与筛选条件
确认JSON日志配置里的service和source标签和纯文本日志的保持一致,或者在Log Explorer里用正确的标签筛选(比如输入service:your-service-name)。有时候日志已经被摄入,但因为标签不匹配,默认视图里看不到,试试扩大时间范围或者用更宽泛的筛选条件。检查Agent解析错误日志
查看Datadog Agent的日志文件(/var/log/datadog/agent.log),搜索json_parser相关的错误信息,比如JSON格式不合法、字段解析失败之类的提示,根据错误调整日志格式或者解析规则。重启Agent生效配置
修改完配置后,执行sudo systemctl restart datadog-agent重启Agent,确保新配置生效。
内容的提问来源于stack exchange,提问作者Bob Tway

