2017-04-25 66 views
0

我正在嘗試使用ELK堆棧,並且這麼好。我有一個小問題,我正在努力解決。 我有一個名爲'message'的字段來自filebeat。該字段內部是一個包含數據記錄的字符串。 有時,消息字段可能包含此行:ELK - 使用Logstash過濾數據

successfully saved with IP address: [142.93.111.8] user: [[email protected]] 

我想申請一個過濾器,所以logstash發送該在彈性搜索:

successfully saved with IP address: [] user: [[email protected]] 

這是我目前在Logstash配置:

input { 
beats { 
    port => "5043" 
    codec => json 
    } 
    } 
    filter { 

    if [message] =~ /IP address:/{ 
    mutate { add_tag => "whats happening" } 
    } 

} 

output { 
elasticsearch { 
    hosts => [ "localhost:9200" ] 
    } 
} 

其他的東西我的注意力。 ELK能夠在Filebeat級別和Logstash級別上進行文本過濾。哪一個是最常見的情況? Filebeat過濾更適合嗎?

+0

我簡化了所需的模式。 –

回答

0

我發現在我的情況下,正確的解決方案:

mutate { 
    gsub => ["message", "address: \[(.*?)]", "address:[not indexable]"] 
} 

希望有人會發現它有用。