2016-04-12 18 views
1

Günlüğü ayrıştırmayı denerim.Logstash: paser Site İçeriği Filtrele

logstash baskılar izleyin, sonra bu logstash baskılar nedir olayı damla olacak gibi günlük 'spesifik' var "yoktu" eğer:

{ 
    "message" => "...", 
    "host" => "10.10.10.20", 
    "@version" => "1", 
    "@timestamp" => "2016-04-12T02:28:18.233Z", 
    "type" => "snmptrap", 
    "1_3_6_1_2_1_1_3_0" => "21 days, 17:08:57.94", 
    "1_3_6_1_6_3_1_1_4_1_0" => "specific::userdefined", 
} 

Sadece alanının içeriğini belirtebilirsiniz (önek özeldir), alan adından ziyade (1_3_6_1_6_3_1_1_4_1_0)

Günlüğün nasıl filtreleneceği ve olayın nasıl bırakılacağı ayrıştırılır? Ne yapmaya ihtiyacım var?

Eğer bununla nasıl bir şey öğrenecekse, lütfen yardım edin. Teşekkürler.

+0

Günlükler ve grok kalıplarınızı paylaşabilir misiniz? –

+0

Yukarıda açıklandığı şekilde günlüğüm. – stefansaye

+0

Bu, bu sorunun üçüncü kopyasıdır, bu da hiç yardımcı olmuyor. –

cevap

0

Aşağıdaki gibi bir filtre oluşturmak mümkün olmalıdır: 'Belirli'

filter{ 
    if "specific" in [1_3_6_1_6_3_1_1_4_1_0] { 
     drop{} 
    } 
} 

Sen mesajı isterseniz 'değil de' yokluğunda dayalı düştü üzere '' değiştirebilir Eğer alanının başında 'spesifik' eşlenmesi gerekiyorsa

Ayrıca regex maç kullanabilirsiniz:

if [1_3_6_1_6_3_1_1_4_1_0] =~ /^specific.+/ { drop{} } 

kullanmak maç 'spesifik' değil Bunu değiştirmek için ~ yerine operatör! = ~