关于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笔记-----grok插件的正则表达式来解析日志