你好,我是logstash
的新手。当我尝试解析message
中的@ logstash
字段时,该字段是nxlog
的输出。任何人都可以建议我如何在grok中使用正则表达式来解析下面的@message字段。
“审核日志已清除。\ r \ n主题:\ r \ n \ t安全 ID:\ TS-1-5-21-1753799626-3523340796-3104826135-1001 \ r \ n \ tAccount 名称:\ tJhon \ r \ n \ t域名:\ tJactrix \ r \ n \ t登录ID:\ t1x12325“
我正在使用以下grok模式来解析
match => {“%{@ message}”=> “%{GREEDYDATA:MSG} \ r \ nSubject:%{DATA} \ r \ n \ t保安 ID:\ t%{USERNAME} \ r \ n \ t帐户名称:%{GREEDYDATA} \ r \ n \ t域名 姓名:\ t%{GREEDYDATA} \ r \ n \ t登录ID:\ t%{GREEDYDATA}“}
谢谢
答案 0 :(得分:0)
作为首发,您可以尝试以下模式:
%{GREEDYDATA:msg}.*Subject:%{GREEDYDATA:subject}.*Security ID:%{GREEDYDATA:securityId}.*Account Name:%{GREEDYDATA:accountName}Domain Name:%{GREEDYDATA:domainName}Logon ID:%{GREEDYDATA:logonID}
然后尝试根据日志文件的结构细化模式(例如,accountName可能是%{WORD}或....)。您可以使用http://grokdebug.herokuapp.com/来测试您的模式。可在此处找到预定义模式列表:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns