如何将这个 GROK 模式放到 logstash.conf 文件中



我使用 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

希望这有帮助

最新更新