无法使用logbeat [beat] [timezone]和logstash日期过滤器插件?

问题描述 投票:0回答:1

我正在使用不对时间戳中的时区进行编码的filebeat将日志文件发送到logstash。几个月来,我一直在使用filebeat处理器“add_locale”缩写格式添加[beat] [timezone]来播种logstash日期过滤器插件。我在世界各地的几个时区都有服务器,当美国东海岸的时间从EST变为EDT时,logstash开始使用新的时区值进行时区解析错误,因为filebeat发送了EDT,这不是一个有效的规范ID时区对于logstash(http://joda-time.sourceforge.net/timezones.html)。我对CEST和CET也有同样的问题。

filebeat和logstash是否可能使用不同的时区字段格式?

FILEBEAT

processors:
- add_locale:
    format: abbreviation

LOGSTASH

date {
    locale => "en"
    match => ["corp.log.entryTimestamp", "yyyy-MM-dd HH:mm:ss,SSS"]
    timezone => "%{[beat][timezone]}"
    tag_on_failure => ["timestamp_parse_failed"]
    target =>  "@timestamp"
}

看起来filebeat只返回go返回的内容。

有没有人为此找到解决方法?

谢谢!

彼得

timezone logstash filebeat
1个回答
0
投票

尝试解析时区缩写通常不是一个好主意。除了你指出的案例外,还有太多含糊之处。

考虑“CST”。是中央标准时间(美国),中央标准时间(澳大利亚),中国标准时间,古巴标准时间,还有什么?

只有极少数缩写也是有效的IANA时区标识符。除了UTC之外,通常不鼓励他们。它们仅在几个边缘情况下出于向后兼容性原因而存在。

对于日志文件中的时间戳,缩写几乎没用,您可能不需要像America/New_York这样的全时区标识符。在记录时生成的UTC偏移就足够了,例如-05:00(在EST期间)或-04:00(在EDT期间)

实际上,根据filebeat docs,默认格式是offset。我坚持这一点。

© www.soinside.com 2019 - 2024. All rights reserved.