gpt4 book ai didi

json - filebeat @timestamp 不会被覆盖

转载 作者:行者123 更新时间:2023-12-02 22:19:12 31 4
gpt4 key购买 nike

我用 filebeat将日志写入 elasticsearch服务器。我的日志是json格式。每一行都是一个 json 字符串,看起来像这样

{"@timestamp": "2017-04-11T07:52:480,230", "user_id": "1", "delay": 12}

我想要 @timestamp我的日志中的字段来替换 @timestamp filebeat 在读取日志时创建的字段。在我的 kibana 仪表板上,我总是得到

json_error:@timestamp not overwritten (parse error on 2017-04-11T07:52:48,230)



并最终看到 @timestamp filebeat 创建的字段

我的 filebeat conf 包括关于覆盖字段的那些行
json.keys_under_root: true
json.overwrite_keys: true
json.add_error_key: true

同样来自我的 log4j配置 @timestamp在我的日志中创建的字段位于 ISO8601格式。知道问题是什么以及为什么 @timestamp字段没有被覆盖?

最佳答案

问题是 log4j 的时间戳格式正在生产。
Filebeat 期望形式为 "2017-04-11T09:38:33.365Z"它必须要T中间的Z最后,在毫秒之前用点代替逗号。

我发现最快(也有点脏)的方法是使用以下模式

pattern='{"@timestamp": "%d{YYYY-MM-dd}T%d{HH:mm:ss.SSS}Z"}

类似的问题可以在 here 中找到.建议的解决方案并不能解决 filebeat 问题,因为它使用逗号!

关于json - filebeat @timestamp 不会被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340150/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com