Logstash 时区问题

本文详细介绍了Logstash的Date Filter插件配置,包括locate、match、tag_on_failure、target和timezone等参数的使用,特别是针对时区问题的解决。在Logstash中,@timestamp字段默认为UTC时间,当需要转换为北京时间或其他时区时,需要配置timezone参数。此外,还讨论了如何自定义@timestamp字段,并解释了Elasticsearch中时间字段统一使用UTC的原因及在Kibana中查看时间的处理方式。
摘要由CSDN通过智能技术生成

1. Date Filter 插件


  • 日期过滤器用于分析字段中的日期,然后使用该日期或时间戳作为事件的 logstash 时间戳。

1.1. 配置项

Setting Input type Required Default
locale string No No
match array No []
tag_on_failure array No ["_dateparsefailure"]
target string No "@timestamp"
timezone string No No

1.1.1 locate

  • Value type is string

  • There is no default value for this setting.

  • 使用 IETF-BCP47 或 POSIX 语言标记指定用于日期分析的语言环境。en,en-US 用于 BCP47 或者 en_US 用于 POSIX。

  • 当解析月份名称(MMM模式)和星期几名称(EEE模式)时,如果默认语言环境不是 english,需要设置:

    date {
        locale => "en"
        ...
    }
    

1.1.2. match

  • Value type is array

  • Default value is []

  • 对于非格式化语法,您需要在值的周围放置单引号字符。例如,如果你解析ISO8601时间,“2018-06-01T01:12:23”,你需要这样写:

    date {
        match => ["log_timestamp", "yyyy-MM-dd'T'HH:mm:ss"]
    }
    
  • 如果你需要匹配多种时间格式,如 "2018-06-01T01:23:05Z"、"1529122935988"、"1529122935",你需要这样写:

    date {
        match => ["log_timestamp", "ISO8601", "UNIX", "UNIX_MS"]
    }
    
  • date 插件支持五种时间格式:

    • ISO8601:类似 "2018-06-17T03:44:01.103Z" 这样的格式。具体 Z 后面可以有 "08:00" 也可以没有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值