grok正则

tony2017 tony2017     2023-01-13     297

关键词:

USERNAME [a-zA-Z0-9._-]+

USER %USERNAME

INT (?:[+-]?(?:[0-9]+))

BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:.[0-9]+)?)|(?:.[0-9]+)))

NUMBER (?:%BASE10NUM)

BASE16NUM (?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))

BASE16FLOAT (?<![0-9A-Fa-f.])(?:[+-]?(?:0x)?(?:(?:[0-9A-Fa-f]+(?:.[0-9A-Fa-f]*)?)|(?:.[0-9A-Fa-f]+)))

 

POSINT (?:[1-9][0-9]*)

NONNEGINT (?:[0-9]+)

WORD w+

NOTSPACE S+

SPACE s*

DATA .*?

GREEDYDATA .*

QUOTEDSTRING (?>(?<!\)(?>"(?>\.|[^\"]+)+"|""|(?>‘(?>\.|[^\‘]+)+‘)|‘‘|(?>`(?>\.|[^\`]+)+`)|``))

UUID [A-Fa-f0-9]8-(?:[A-Fa-f0-9]4-)3[A-Fa-f0-9]12

 

# Networking

MAC (?:%CISCOMAC|%WINDOWSMAC|%COMMONMAC)

CISCOMAC (?:(?:[A-Fa-f0-9]4.)2[A-Fa-f0-9]4)

WINDOWSMAC (?:(?:[A-Fa-f0-9]2-)5[A-Fa-f0-9]2)

COMMONMAC (?:(?:[A-Fa-f0-9]2:)5[A-Fa-f0-9]2)

IPV6 ((([0-9A-Fa-f]1,4:)7([0-9A-Fa-f]1,4|:))|(([0-9A-Fa-f]1,4:)6(:[0-9A-Fa-f]1,4|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3)|:))|(([0-9A-Fa-f]1,4:)5(((:[0-9A-Fa-f]1,4)1,2)|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3)|:))|(([0-9A-Fa-f]1,4:)4(((:[0-9A-Fa-f]1,4)1,3)|((:[0-9A-Fa-f]1,4)?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3))|:))|(([0-9A-Fa-f]1,4:)3(((:[0-9A-Fa-f]1,4)1,4)|((:[0-9A-Fa-f]1,4)0,2:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3))|:))|(([0-9A-Fa-f]1,4:)2(((:[0-9A-Fa-f]1,4)1,5)|((:[0-9A-Fa-f]1,4)0,3:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3))|:))|(([0-9A-Fa-f]1,4:)1(((:[0-9A-Fa-f]1,4)1,6)|((:[0-9A-Fa-f]1,4)0,4:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3))|:))|(:(((:[0-9A-Fa-f]1,4)1,7)|((:[0-9A-Fa-f]1,4)0,5:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d))3))|:)))(%.+)?

IPV4 (?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]1,2)[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]1,2)[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]1,2)[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]1,2))(?![0-9])

IP (?:%IPV6|%IPV4)

HOSTNAME (?:[0-9A-Za-z][0-9A-Za-z-]0,62)(?:.(?:[0-9A-Za-z][0-9A-Za-z-]0,62))*(.?|)

HOST %HOSTNAME

IPORHOST (?:%HOSTNAME|%IP)

HOSTPORT %IPORHOST:%POSINT

 

# paths

PATH (?:%UNIXPATH|%WINPATH)

UNIXPATH (?>/(?>[w_%[email protected]:.,-]+|\.)*)+

TTY (?:/dev/(pts|tty([pq])?)(w+)?/?(?:[0-9]+))

WINPATH (?>[A-Za-z]+:|\)(?:\[^\?*]*)+

URIPROTO [A-Za-z]+(+[A-Za-z+]+)?

URIHOST %IPORHOST(?::%POSINT:port)?

# uripath comes loosely from RFC1738, but mostly from what Firefox

# doesn‘t turn into %XX

URIPATH (?:/[A-Za-z0-9$.+!*‘(),~:;[email protected]#%_-]*)+

#URIPARAM ?(?:[A-Za-z0-9]+(?:=(?:[^&]*))?(?:&(?:[A-Za-z0-9]+(?:=(?:[^&]*))?)?)*)?

URIPARAM ?[A-Za-z0-9$.+!*‘|(),[email protected]#%&/=:;_?-[]]*

URIPATHPARAM %URIPATH(?:%URIPARAM)?

URI %URIPROTO://(?:%USER(?::[^@]*)[email protected])?(?:%URIHOST)?(?:%URIPATHPARAM)?

 

# Months: January, Feb, 3, 03, 12, December

MONTH (?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)

MONTHNUM (?:0?[1-9]|1[0-2])

MONTHNUM2 (?:0[1-9]|1[0-2])

MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])

 

# Days: Monday, Tue, Thu, etc...

DAY (?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)

 

# Years?

YEAR (?>dd)1,2

HOUR (?:2[0123]|[01]?[0-9])

MINUTE (?:[0-5][0-9])

# ‘60‘ is a leap second in most time standards and thus is valid.

SECOND (?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)

TIME (?!<[0-9])%HOUR:%MINUTE(?::%SECOND)(?![0-9])

# datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)

DATE_US %MONTHNUM[/-]%MONTHDAY[/-]%YEAR

DATE_EU %MONTHDAY[./-]%MONTHNUM[./-]%YEAR

ISO8601_TIMEZONE (?:Z|[+-]%HOUR(?::?%MINUTE))

ISO8601_SECOND (?:%SECOND|60)

TIMESTAMP_ISO8601 %YEAR-%MONTHNUM-%MONTHDAY[T ]%HOUR:?%MINUTE(?::?%SECOND)?%ISO8601_TIMEZONE?

DATE %DATE_US|%DATE_EU

DATESTAMP %DATE[- ]%TIME

TZ (?:[PMCE][SD]T|UTC)

DATESTAMP_RFC822 %DAY %MONTH %MONTHDAY %YEAR %TIME %TZ

DATESTAMP_RFC2822 %DAY, %MONTHDAY %MONTH %YEAR %TIME %ISO8601_TIMEZONE

DATESTAMP_OTHER %DAY %MONTH %MONTHDAY %TIME %TZ %YEAR

DATESTAMP_EVENTLOG %YEAR%MONTHNUM2%MONTHDAY%HOUR%MINUTE%SECOND

 

# Syslog Dates: Month Day HH:MM:SS

SYSLOGTIMESTAMP %MONTH +%MONTHDAY %TIME

PROG (?:[w._/%-]+)

SYSLOGPROG %PROG:program(?:[%POSINT:pid])?

SYSLOGHOST %IPORHOST

SYSLOGFACILITY <%NONNEGINT:facility.%NONNEGINT:priority>

HTTPDATE %MONTHDAY/%MONTH/%YEAR:%TIME %INT

 

# Shortcuts

QS %QUOTEDSTRING

 

# Log formats

SYSLOGBASE %SYSLOGTIMESTAMP:timestamp (?:%SYSLOGFACILITY )?%SYSLOGHOST:logsource %SYSLOGPROG:

COMMONAPACHELOG %IPORHOST:clientip %USER:ident %USER:auth [%HTTPDATE:timestamp] "(?:%WORD:verb %NOTSPACE:request(?: HTTP/%NUMBER:httpversion)?|%DATA:rawrequest)" %NUMBER:response (?:%NUMBER:bytes|-)

COMBINEDAPACHELOG %COMMONAPACHELOG %QS:referrer %QS:agent

 

# Log Levels

LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)

 













grok表达式

grok表达式grok其实就是封装了各种常用的正则表达式,屏蔽了直接写正则的复杂性;通过它可以提取日志内容,按照自己指定的格式输出到kibana.http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.htmlhttp://blog.csdn.net/liukuan73/article/detai... 查看详情

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

...p;Grok是Logstash最重要的插件。你可以在grok里预定义好命名正则表达式,在稍后(gr 查看详情

如何在自定义 grok 模式中引用正则表达式组?

】如何在自定义grok模式中引用正则表达式组?【英文标题】:HowdoIrefertoaregexgroupinsideacustomgrokpattern?【发布时间】:2017-08-0222:01:06【问题描述】:我想在我的日志行中添加特定URI参数的字段这是一个示例日志行:2017-03-1221:34:36W3SV... 查看详情

logstash:使用自定义正则表达式模式(代码片段)

有时LogstashGrok没有我们需要的模式。幸运的是我们有正则表达式库:Oniguruma。在很多时候,如果Logstash所提供的正则表达不能满足我们的需求,我们选用定制自己的表达式。定义Logstash是一种服务器端数据处理管道ÿ... 查看详情

elk日志处理之使用grok解析日志

...ysqllogs等任意格式的文件上表现完美。Grok内置了120多种的正则表达式库,地址:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/ 查看详情

grok规则常用表达式

...注意,国内的QQ纯数字邮箱账号是无法匹配的,需要修改正则比如:stone、Gary_Lu、abc-123等●EMAILA 查看详情

Logstash,grok 过滤器不适用于固定长度字段

...新手,我有一个带有固定长度字段的输入文件和一个使用正则表达式配置的logstash配置文件,如下所示:我的日志存储配置文件first-pipeline.conf的内容#The#charac 查看详情

filebeat向elasticsearch传入数据,并使用grok处理

...这个时候用到了es自带的ingestnodepipeline功能,使用grok使用正则将log进行切分参考资料:https://www.elastic.co/guide/en/beats/filebeat/current/configuring-ingest-node.html这篇文档很详细了说明了Filebeat怎么去传入数据添加如下配置根据对应的json文... 查看详情

logstash:日志解析的grok模式示例(代码片段)

...。Grok是如何工作的?简而言之,grok是一种将行与正则表达式匹配、将行的特定部分映射到专用字段并基于此映射执行操作的方法。内置有200多种Logstash模式,用于过滤AWS、Bacula、Bro、Linux-Syslog等中的单词、数字和日... 查看详情

eflk-logstash安装配置

...obGrok是Logstash最重要的插件。你可以在grok里预定义好命名正则表达式,在稍后(grok参数或者其他正则表达式里)引用它。grok表达式的打印复制格式的完整语法是下面这样的:grok-patterns内置的正则表达式那问题来了,写了正则表达... 查看详情

elasticsearch-logstash-kibana(三)配置优化

...此需要对message进行解析。本文采用grok过滤器,使用match正则表达式解析,根据自己的log_format定制。nginx日志格式如下:对应日志如下:logstash中默认存在一部分正则让我们来使用,可以访问GrokDebugger来查看。基本定义在grok-pattern... 查看详情

错误的 Grok 模式

】错误的Grok模式【英文标题】:WrongGrokpattern【发布时间】:2022-01-1313:32:34【问题描述】:我正在尝试为以下日志跟踪创建一个grok模式:"source":"<ahref=\\"http://twitter.com/download/iphone\\"rel=\\"nofollow\\">TwitterforiPhone</a>"我做过... 查看详情

logstash使用笔记

参考技术ALogstash这东西就是正则表达式匹配,不过由于日志太大了,如果你这个正则从头写到尾估计写一半人就没了,所以人家预定义好了许多的正则表达式,那些%xxx本质上就是那些正则,一样的替代一下。内置的那些预定义... 查看详情

Plone/Grok - 在使用“zopeskel plone”构建的产品中,grok 会与 plone.directives 冲突吗?

】Plone/Grok-在使用“zopeskelplone”构建的产品中,grok会与plone.directives冲突吗?【英文标题】:Plone/Grok-Inaproductbuiltusing"zopeskelplone",cangrokconflictwithplone.directives?【发布时间】:2015-01-0516:25:48【问题描述】:我正在尝试按照Plon... 查看详情

Grok 用于日志文件 Logstash

】Grok用于日志文件Logstash【英文标题】:GrokforlogfilesLogstash【发布时间】:2020-04-2212:03:00【问题描述】:我需要编写一个grok模式来检索“****”中的内容-----Startofscriptforserversitboap1at**FriApr1714:24:19**HKT2020---------**user11**8775110Apr16?00:00... 查看详情

grok_exporter 多久发布一次已处理的指标?

】grok_exporter多久发布一次已处理的指标?【英文标题】:Howoftendoesgrok_exporterpublishprocessedmetrics?【发布时间】:2021-12-1007:32:51【问题描述】:与Prometheus抓取数据的频率相比,grok_exporter发布数据的频率如何?例如,如果grok_eporter... 查看详情

logstash的过滤插件及其应用

...参考网站:​​http://grokdebug.herokuapp.com/discover?#​​使用正则表达式%COMBINEDAPACHELOG可将nginx,tomcat等的日志转换为json格式。当然也可以在kibana界面实现   如果用logstash执行,则logstash对应的配置文件nginx_grok_stdout.conf的... 查看详情

logstash / grok 自定义字段

】logstash/grok自定义字段【英文标题】:logstash/grokcustomfileds【发布时间】:2017-07-1810:37:32【问题描述】:我是ELK堆栈的全新用户。我在从日志中过滤掉特定部分时遇到了一点问题。示例日志:[2017-05-3013:58:09,336]INFO[com.qwerty.test.core... 查看详情