簡體   English   中英

Kibana。 從@message中提取包含JSON的字段

[英]Kibana. Extract fields from @message containing a JSON

我想從包含一個json的@message字段中提取Kiabana字段。 例如:

Audit{
uuid='xxx-xx-d3sd-fds3-f43',
action='/v1.0/execute/super/method', 
resultCode='SUCCESS', 
browser='null', 
ipAddress='192.168.2.44', 
application='application1', 
timeTaken='167'
} 

我希望擁有“操作”和“應用程序”字段,希望能夠找到命中該應用程序的前5個請求。

我從類似於以下內容開始:

filter {
    if ([message]~ = "Audit") {
        grok {
            match => {
                "message" => "%{WORD:uuid}, %{WORD:action}, %{WORD:resultCode}, %{WORD:browser}, %{WORD:ipAddress}, %{WORD:application}, %{NUMBER:timeTaken}"
            }
            add_field => ["action", "%{action}"]
            add_field => ["application", "%{application}"]
        }
    }
}

但這似乎與現實相去甚遠。

如果“審核”的內容確實是json格式,則可以使用過濾器插件“ json”

json{
    source => "Audit"
}

它將為您進行解析並創建所有內容。 您不需要grok / add_field。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM