logstash中常见时间格式的定义

1、在配置文件中自定义的时间格式
  例如 tomcat 定义的格式 %{yyyy-MM-dd HH:mm:ss Z},按照这样的配置,输出的日志原文是 

"timestamp" : "2019-12-11 10:11:12 +0800"

  那么在 logstash 中应该这样配置

date {
  match => [ "timestamp", "yyyy-MM-dd HH:mm:ss Z"]
  target => "@timastamp"
}

 这样子不会报 "_dateparsefailed" 的错误

 

2、带有中括号的格式

 日志原文是这样:

[07/Feb/2018:16:24:19 +0800]

  带有一对中括号,那么在 grok 中需要转义中括号

\[%{HTTPDATE:timestamp}\]

 date插件可以直接转换:

date {
  match => [ "timestamp", "dd/MM/yyyy HH:mm:ss Z"]
  target => "@timastamp"
}
这样子不会报 "_dateparsefailed" 的错误

3、ISO8601 形式1

 原日志中的显示如下,重点是后面的三位数毫秒,日志原文

2019-12-11 13:08:45.254

 在 grok 中这样配置:

grok {
  match => { "message" => "%{TIMESTAMP_ISO8601:log_create_time}" }
}

 date 插件这样匹配:

date {
  match => [ "log_create_time", "MMM d HH:mm:ss", "MMM DD HH:mm:ss", "ISO8601"]
  target => "@timestamp" 
}

 或者这样,推荐使用这个,更加简介

date {
  match => [ "log_create_time", "yyyy-MM-dd HH:mm:ss.SSS" ]
  target => "@timestamp"
}

 这样子也不会报 "_dateparsefailed"  的错误,可以参考时间匹配规则表

 

4、ISO8601 形式2

 时间 date 中带 T,日志原文如下:

2019-12-11T17:06:33 +08:00

  此时, grok 可以这样写:

grok {
  match => { "message" => "%{TIMESTAMP_ISO8601}:log_create_time" }
}

  而 date 插件 转存到 @timestamp 中可以这样匹配:

date {
  match => [ "log_create_time", "yyyy-MM-dd'T'HH:mm:ss ZZ" ]
  target => "@timestamp"
}

  也可以用更简洁的写法:

date {
  match => [ "log_create_time", "ISO8601" ]
  target => "@timestamp"
}

 

5、Unix 时间戳形式

 典型的如 MySQL 的慢查询日志,日志原文:

# Time: 2019-12-11T01:50:21.123793Z //舍弃这个时间 # User@Host: root[root] @ elk-master01 Id: 4 # Quert Time: 4.650893 Lock time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=1554342621; // 需要的是这个 selecet sleep(4.65);

 在 grok 中这样匹配:

%{NUMBER:timestamp_mysql_slowquery}

 在 date 插件中这样匹配:

date {
  match => [ "timestamp_mysql_slow_query", "UNIX" ]
  target => "@timestamp"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农村落魄小青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值