关于Logstash中grok插件干货

Posted linux艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Logstash中grok插件干货相关的知识,希望对你有一定的参考价值。

一、Grok提供的常用Patterns说明及举例

#Linux下路径

[你的logstash安装路径]/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns

#Windows下路径

[你的logstash安装路径]\vendor\bundle\jruby\x.x\gems\logstash-patterns-core-x.x.x\patterns\grok-patterns

常用表达式

·  USERNAME USER

  用户名,由数字、大小写及特殊字符(._-)组成的字符串

  比如:1234、Bob、Alex.Wong等

·  EMAILLOCALPART

  电子邮件用户名部分,首位由大小写字母组成,其他位由数字、大小写及特殊字符(_.+-=:)组成的字符串。注意,国内的QQ纯数字邮箱账号是无法匹配的,需要修改正则

  比如:stone、Gary_Lu、abc-123等

·  EMAILADDRESS

  电子邮件

  比如:stone@abc.com、Gary_Lu@gmail.com、abc-123@163.com等

·  HTTPDUSER
      Apache
服务器的用户,可以是EMAILADDRESS或USERNAME

·  INT
  整数,包括0和正负整数

  比如:0、-123、43987等

·   BASE10NUM NUMBER
  十进制数字,包括整数和小数

  比如:0、18、5.23等

·  BASE16NUM
  十六进制数字,整数

  比如:0x0045fa2d、-0x3F8709等

·  BASE16FLOAT
  十六进制数字,整数和小数

·  WORD
  字符串,包括数字和大小写字母

  比如:String、3529345、ILoveYou等

·  NOTSPACE
  不带任何空格的字符串

·  SPACE
  空格字符串

·  QUOTEDSTRING QS
  带引号的字符串

  比如:"This is an apple"、'What is your name?'等

·  UUID
  标准UUID

  比如:550E8400-E29B-11D4-A716-446655440000

  比如:127.0.0.1、FE80:0000:0000:0000:AAAA:0000:00C2:0002等

·  HOSTNAME
  主机名称

·  IPORHOST
      IP
或者主机名称

·  HOSTPORT
  主机名(IP)+端口

  比如:127.0.0.1:3306、api.stozen.net:8000等

·  PATH
  路径,Unix系统或者Windows系统里的路径格式

  比如:/usr/local/nginx/sbin/nginx、c:\windows\system32\clr.exe等

·  URIPROTO
      URI
协议

  比如:http、ftp等

·  URIHOST
      URI
主机

  比如:www.stozen.net、10.0.0.1:22等

·  URIPATH
      URI
路径

  比如://www.stozen.net/abc/、/api.php

·  URIPARAM
      URI
里的GET参数

  比如:?a=1&b=2&c=3

·  URIPATHPARAM
      URI
路径+GET参数

  比如://www.stozen.net/abc/api.php?a=1&b=2&c=3

·  URI
  完整的URI

  比如:http://www.stozen.net/abc/api.php?a=1&b=2&c=3

 日期时间表达式

·  MONTH
  月份名称

  比如:Jan、January等

·  MONTHNUM
  月份数字

  比如:03、9、12等

·  MONTHDAY
  日期数字

  比如:03、9、31等

·  DAY
  星期几名称

  比如:Mon、Monday等

·  YEAR
  年份数字

·  HOUR
  小时数字

·  MINUTE
  分钟数字

·  SECOND
  秒数字

·  TIME
  时间

  比如:00:01:23

·  DATE_US
  美国日期格式

  比如:10-15-1982、10/15/1982等

·  DATE_EU
  欧洲日期格式

  比如:15-10-1982、15/10/1982、15.10.1982等

·  ISO8601_TIMEZONE
      ISO8601
时间格式

  比如:+10:23、-1023等

·  TIMESTAMP_ISO8601
      ISO8601
时间戳格式

  比如:2016-07-03T00:34:06+08:00

·  DATE
  日期,美国日期%{DATE_US}或者欧洲日期%{DATE_EU}

·  DATESTAMP
  完整日期+时间

  比如:07-03-2016 00:34:06

·  HTTPDATE
      http
默认日期格式

  比如:03/Jul/2016:00:36:53 +0800

Log表达式

·  LOGLEVEL
  日志等级

  比如:Alert、alert、ALERT、Error等


二、自定义Pattern

语法:(?<field_name>the pattern here)

具体参考:https://www.elastic.co/guide/en/logstash/6.3/plugins-filters-grok.html


欢迎大家进群讨论,一起学习 QQ:234354391

以上是关于关于Logstash中grok插件干货的主要内容,如果未能解决你的问题,请参考以下文章

Logstash 常用 filter 插件介绍

干货 | Logstash Grok数据结构化ETL实战

干货 | Logstash Grok数据结构化ETL实战

Logstash笔记-----grok插件的正则表达式来解析日志

logstash实战filter插件之grok(收集apache日志)

Logstash的filter插件-Grok