一、背景
grok作为解析解析工具,本身支持很多种类的日期格式,但是我们的日期格式是:yyyy-MM-dd HH:mm:ss.SSS,比如2024-04-08 16:27:31.855。
- TIMESTAMP_ISO8601: 匹配ISO 8601日期时间格式,例如2024-04-08T10:41:48Z。
- DATE: 匹配常见的日期格式,例如Apr 8, 2024。
- TIMESTAMP: 匹配多种日期时间组合格式,例如Apr 8 10:41:48。
- TIMESTAMP_SEC: 匹配以秒为单位的UNIX时间戳,例如1617924862。
- TIMESTAMP_MSEC: 匹配以毫秒为单位的UNIX时间戳,例如1617924862123。
- TIMESTAMP_USEC: 匹配以微秒为单位的UNIX时间戳,例如1617924862123456。
- TIMESTAMP_NSEC: 匹配以纳秒为单位的UNIX时间戳,例如1617924862123456789。
- DATE_TIME: 匹配日期和时间的组合,例如2024-04-08 10:41:48。
- DATE_TIME_TZ: 匹配带有时区信息的日期和时间组合,例如2024-04-08T10:41:48+02:00。
- DATE_TIME_TZ_OFFSET: 匹配带有时区偏移量的日期和时间组合,例如2024-04-08 10:41:48 GMT+02:00。
- EPOCH: 匹配从1970年1月1日开始的秒数,例如1617924862。
- EPOCH_MS: 匹配从1970年1月1日开始的毫秒数,例如1617924862123。
二、grok增加自定义正则表达式
grok自带的正则表达式配置路径是:/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns
bash-4.2$ ls -la
total 112
drwxrwsr-x 2 logstash root 335 Oct 16 2020 .
drwxrwsr-x 4 logstash root 176 Oct 16 2020 ..
-rw-rw-r-- 1 logstash root 1831 Oct 16 2020 aws
-rw-rw-r-- 1 logstash root 4831 Oct 16 2020 bacula
-rw-rw-r-- 1 logstash ro