{log44)不能与logstash日期过滤器插件一起使用filebeat [beat] [timezone]?

时间:2019-03-11 17:41:12

标签: timezone logstash filebeat

我正在使用未在时间戳中编码时区的filebeat将日志文件发送到logstash。几个月以来,我一直在使用使用文件拍处理器“ 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"
}

文件拍似乎只返回go返回的内容。

有人找到解决方法吗?

谢谢!

彼得

1 个答案:

答案 0 :(得分:0)

尝试解析时区缩写通常不是一个好主意。除了您指出的情况以外,还有太多的歧义。

考虑“ CST”。是中部标准时间(美国),中部标准时间(澳大利亚),中国标准时间,古巴标准时间吗?

只有很少的缩写也是有效的IANA时区标识符。除UTC之外,通常不鼓励使用它们。它们仅出于一些少数情况的向后兼容性原因而存在。

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

实际上,根据filebeat docs,默认格式为offset。我会坚持的。