2013-05-14 78 views
0

我正在使用Logstash來解析日誌。Logstash解析不同日誌的不同操作

現在我想處理與特定正則表達式匹配的日誌,而不是不同的日誌。

Logstash是可以實現的。

我該怎麼辦?

我的配置文件是:

input { 
stdin { 
    type => "stdin-type" 
    } 
} 
filter { 

    grok { 
    type => "stdin-type" 
    patterns_dir=>["./patterns"] 
    pattern => "%{PARSE_ERROR}" 
    add_tag=>"%{type1},%{type2},%{slave},ERR_SYSTEM" 
    } 
date 
{ 
replace=>["%{ts}","yyyy/MM/dd-HH:mm:ss.SSS"] 
custom_timestamp=>[%{ts}] 
} 

mutate 
{ 
    type=>"stdin-type" 
    replace => ["@message", "%{message}" ] 

} 


} 
output { 
    stdout { debug => true debug_format => "json"} 
    elasticsearch 
{ 
} 
} 

說,我不希望把這些日誌中搜索彈性不匹配正則表達式。可能嗎?怎麼樣?

+0

你要什麼用原木做的,唐不匹配?放下它們或將它們輸出到別的地方? – nickethier 2013-05-14 22:24:07

+0

@nickethier我想把它們放在一個項目中,然後在另一個項目中關聯一些不同的標籤,並將它們輸出到彈性搜索以及...請向我解釋這兩個 – user2359303 2013-05-15 03:51:22

回答

0

是的,你可以用條件或者在你的過濾器{}部或輸出{}部分做到這一點:

filter { 
    if [field] == "value" { 
     drop{} 
    } 
} 

output { 
    if [field] != "value" { 
     elasticsearch { 
       ... 
     } 
    } 
}