用于logstash过滤器的Grep Json字符串

问题描述 投票:0回答:1

我是logstash的新手,并尝试通过不同的博客/链接来详细了解它。我遇到了一个问题,我想解析嵌入在普通字符串行中的Json字符串。

输入字符串

2017-01-27 11:54:48 INFO PropertiesReader:33 - {“timestamp”:1485518878968,“h”:“297268184dde”,“l”:“INFO”,“cN”:“org.com.logstash.demo “,”mN“:”loadProperties“,”m“:”从/ var / tmp / conf加载属性文件“}

我想提取突出显示的Json字符串并在Json上应用Json插件。我怎样才能做到这一点?

json elasticsearch logstash logstash-grok
1个回答
0
投票

您只需在json过滤器后使用grok过滤器:

filter {
    grok { 
         match => [ "message", "%{TIMESTAMP_ISO8601:LogDate} %{LOGLEVEL:loglevel} %{WORD:threadName}:%{NUMBER:ThreadID} - %{GREEDYDATA:Line}" ] 
    }
    json {
        source => "Line"
    }
} 

另请注意,我已经修改了你的grok模式,以便在JSON数据之前排除-

© www.soinside.com 2019 - 2024. All rights reserved.