我在带有特殊字符的grok模式中有一个问题。我使用filebeat将我的日志发送到logstash中。在logstash中,我使用grok模式来解析元素。
我的日志:
5/19/2019 7:27:32 PM | APPLI=C:PathPathPathPathPath.exe | PID=9999 |
LOTQUERY_LOTINFO
@USERID AUTO@PWD xxx@LOTID 9A4568.1@DATA
5/19/2019 7:27:32 PM
SUCCESS Þ
@88@9A45681.1
我的grok模式:
match => ["message", "^%{DATESTAMP_12HOUR:msgTime} | APPLI=%{PATH:APPLI} | PID=%{NUMBER:PID} |n%{WORD:Method}%{SPACE}n@USERID AUTO@PWD xxx@LOTID %{DATA:LOTID}@%{DATA:inutile}n%{DATESTAMP_12HOUR:msgTime2} n%{WORD:ResultType}%{SPACE}n%{DATA:inutile2}$"]
问题在于,当我检索第三行的元素时,成功的权利有特殊的角色会犯错。
这个字符可以是:
我不知道如何处理...
感谢您的帮助。
您可以尝试以下模式之类的东西 -
%{DATA:msgTime} | APPLI=%{PATH:APPLI} | PID=%{NUMBER:PID} |n%{WORD:Method}%{SPACE}n@USERID AUTO@PWD xxx@LOTID %{DATA:LOTID}@%{DATA:inutile}n%{DATA:msgTime2} n%{WORD:ResultType}%{GREEDYDATA}n%{DATA:inutile2}$
已经将特殊字符与贪婪的人匹配,但尚未映射。