如何用应用时间戳替换Filebeat接入Kafka时的Ingress时间戳?
问题:Filebeat对接Kafka时替换@timestamp为应用时间戳
我正在使用Filebeat与Kafka,希望将Filebeat生成的Ingress时间戳替换为应用自身的时间戳。了解到Logstash可通过过滤器实现该功能,但不清楚适配Kafka时的配置方法。我尝试了两种Filebeat.yml配置方案:
- 方案一使用timestamp处理器,但因日期格式问题未生效;
- 方案二使用JavaScript脚本处理器,脚本可正常修改message字段,但替换@timestamp的操作失败。
尝试的配置代码
配置1(timestamp处理器)
fields: application_timestamp: "2023-06-07 07:49:51.196Z" processors: - timestamp: field: application_timestamp layouts: - '2006-01-02 15:04:05.999Z' test: - '2019-11-18 04:59:51.123Z'
配置2(JavaScript脚本处理器)
processors: - script: lang: javascript id: replace_timestamp source: > function process(event) { event.Put("@timestamp", event.Get("fields.application_timestamp")); return [event]; }
效果对比
- 当前效果:

- 预期效果:

内容的提问来源于stack exchange,提问作者mrDark
相关产品推荐
相关产品推荐

