Logstash pattern 例子

本文以Websphere为例,展示了Logstash pattern的使用方法,包括w、%{GREEDYDATA}、%{PATH}等语法,并提到了在处理合并行时换行符的处理。同时提供了在线测试地址以及如何避免和解决grokparsefailure问题的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Logstash pattern 例子,就以Websphere为例:

e.g.

LEVEL (\w)
LOG1 (%{GREEDYDATA:envname}(\s+)=(\s+)%{PATH:envpath})
LOG2 (Java version = %{GREEDYDATA:javaversion}, Java Compiler = %{GREEDYDATA:javacompiler}, Java VM name = %{GREEDYDATA:javavm})
LOG3 (\[%{DATESTAMP:datetime}(\s+)%{TZ}\](\s+)%{INT}(\s+)%{WORD:category}(\s+)(%{LEVEL:level})(\s+)%{GREEDYDATA:detail})
WEBS_LOGLINE_ALL (%{LOG1}|%{LOG2}|%{LOG3})

\w - 一个单词
%{GREEDYDATA:envname} - 调用Grok库里的%{GREEDYDATA},match任何字符;重命名为envname
\s+ - \s表空格,+表1个或无穷多个
%{PATH:envpath} - 调用Grok库里的%{PATH},match Unix或Windows路径;重命名为envpath
| - 表‘或’的关系


测试Log:

was.install.root = /opt/IBM/WebSphere/AppServer
Java version = 1.6.0, Java Compiler = j9jit24, Java VM name = IBM J9 VM
[5/18/15 9:30:38:383 CST] 00000000 ManagerAdmin  I   TRAS0017I: The startup trace state is *=info.

在线测试地址

http://grokdebug.herokuapp.com/  (注意:这link用到google 的 js,国内需要fa n/qian g~)


合并行的情况

如果是合并行的情况,需要注意换行符的处理,e.g.

conf

input 
{
	file 
	{
		codec => multiline 
		{
			patterns_dir => ["/home/logagent/mypatterns/pattern_platform_mysql"]
			pattern => "^([^(%{LOG1})])"
			negate => false
			what => previous
		}
...
filter 
{
	  mutate
	  {
    	    gsub => ["message", "\r\n", "#L_B#"]
   	    gsub => ["message", "\n", "#L_B#"]
	  }
...

Pattern

ALLDATA ([\s\S]*)
LB (#L_B#)
LBDATA ((#L_B#)%{ALLDATA})
ORAAUDITFILE (Audit file(\s*)%{PATH:oraauditfile}%{LBDATA})

这里的换行符转为#L_B#,需要对此处理。

其它

如要避免大量tags为grokparsefailure标志的日志,可在最后匹配时加上|%{GREEDYDATA},这样哪怕所有自定义正则都不匹配的情况下,也至少匹配上greedydata。

2015.06.24 补充:在最后匹配时加上|%{GREEDYDATA},如果原pattern优先级不够GREEDYDATA高的话(不是按写的先后顺序),有机会导致原pattern匹配不上,so不建议使用。去除grokparsefailure 可以用filter { alter { remove_tag => "_grokparsefailure" }} 来解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值