繁体   English   中英

使用grok进行Logstash过滤,以[]过滤日志

[英]Logstash filtering using grok to filter the log with []

我有下面的日志记录在弹性泥沙中,我们通过kibana gui查看。 现在我们需要将日志分解为日期时间戳,日志级别,对象名称,描述等,以将它们显示在仪表板中。

{"message":" Mon Dec 15 2014 05:55:11 [test][crypto][info] mpgw(Test): tid(135196353)[request][10.259.268.129]: certificate validation succeeded for '/C=US/O=Company/OU=Web Servers/CN=abcqa-client.company.com' against 'CompanyCA_ValCred' \\r","@version":"1","@timestamp":"2014-12-15T10:55:19.168Z","host":"testserver","path":"/opt/store/device_logging/QA1_filter2.log.20141215055512"}

我正在使用grok调试器( https://grokdebug.herokuapp.com/ )在更新logstash conf文件之前进行测试。 我对[] 、:和()有疑问。 没有这些,我可以得到如下输出。

输入:2014年12月15日星期一05:55:11测试密码INFO mpgwTest tid135196353请求成功针对'/C=US/O=Company/OU=Web Servers/CN=abcqa-client.ompany.com' against 'CompanyCA_ValCred' 10.255.215.129证书验证'/C=US/O=Company/OU=Web Servers/CN=abcqa-client.ompany.com' against 'CompanyCA_ValCred'

模式: %{WORD:day} %{MONTH:month} %{MONTHDAY:monthday} %{YEAR:year} %{TIME:time} (?:%{WORD:DOMAIN}) (?:%{WORD:Objecttype}) (?:%{LOGLEVEL:level}) (?:%{WORD:DPObject}) (?:%{WORD:tid}) (?:%{WORD:flowtype}) (?:%{IP:ClientIP}) (?:%{GREEDYDATA:Description})
我正在正确输出。

如何省略[],:,().

您可以通过在特殊正则表达式字符前面加上反斜杠('\\')来对其进行转义。

例如,模式的第一部分可以写成:

%{WORD:day} %{MONTH:month} %{MONTHDAY:monthday} %{YEAR:year} %{TIME:time} \[(?:%{WORD:DOMAIN})\]\[(?:%{WORD:Objecttype})\]\[(?:%{LOGLEVEL:level})\]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM