2016-06-21 82 views
0

例如開始我有以下JSON:Logstash字段名稱與

{ 
    params{ 
    firstname : value1, 
    .lastname : value2 
    } 
} 

我如何檢查是否一個字段(不是值)的名稱開始"."並刪除它?

B.R

+0

請問您能否給我們有效的json?用雙引號?和權利冒號? – baudsp

+0

另外,您的完整配置對於回答而不用斷言很多事情會很有用。 – baudsp

+0

爲了保密的原因,我不能給你更多的細節,但想象一下,我收到此消息請求: 'timestamp = 11111 $ firstname = value1 $ .lastname = value2' 即時搜索可以將'.lastname'轉換爲'姓氏' 希望你能理解我。 –

回答

0

如果您使用的是JSON過濾器來分析你可以使用過濾器發生變異與GSUB的JSON刪除所有使用JSON過濾器之前的"."。但只有當你確定這些點只在字段名稱的開頭。

它應該是這樣的:

# Removing all the dots from the field message 
mutate { 
    gsub => ["message", "\.", ""] 
} 

json { 
    source => "message" 
}  

有一個選擇,這是de_dot過濾器。你將不得不安裝它,它明顯是昂貴的資源。

de_dot filter documentation