我使用 grok 调试器为 SAP 日志编写了一个 grok 模式,但我不知道如何在 Logstash 配置中使用它:
格罗克模式:
(?<AUDIt_LOG>[(0-9A-U]{0,4})(?<DATE>[0-9A-F]{8})%{INT:Log_Code}(?<Type>[a-zA-Z]{0,5})%{NOTSPACE:ServiceName} %{SPACE} %{NOTSPACE:Host} %{SPACE} %{WORD:Bank}&&%{WORD:BANK2}%{SPACE} %{WORD:USERNAME}
如何使用 grok 过滤器解析我的日志消息?
在logstash.conf文件中的输入插件和输出插件之间添加这个
filter {
grok {
match => {
"message" => "([(0-9A-U]{0,4})([0-9A-F]{8})%{INT:Log_Code}([a-zA-Z]{0,5})%{NOTSPACE:ServiceName}%{SPACE}%{NOTSPACE:Host}%{SPACE}%{WORD:Bank}&&%{WORD:BANK2}%{SPACE}%{WORD:USERNAME}"
}
}
}
阅读此内容以获取其他说明。
更新:
格罗克图案上有一些空间。
输入
2AUK20170407183522001768800000D0itzpiascECCSERVICE SAPMSSY1 3001EDIN&&IDOC_INBOUND_ASYNCHRONOUS itzpiascs
输出
ServiceName 0itzpiascECCSERVICE
Log_Code 183522001768800000
BANK2 IDOC_INBOUND_ASYNCHRONOUS
USERNAME itzpiascs
Bank 3001EDIN
Host SAPMSSY1
希望这有帮助