2014-06-24 29 views
5

Günlük dosyalarında, tam anlamıyla yalnızca yarı bir virgül olan bir satır var. Bir önceki satıra bağlı olduğunu farz ediyorum. Logstash sürekli olarak bunları yazdırıyor ve bunları, bir ile başlayan bir satır olduğu zaman bırakmak istiyorum.Logstash bir olay nasıl kaldırılır?

Bu baskılar logstash budur: Ben logstash baskıyı durdurmak bu yüzden önceki satıra eklenecek satırlı kullanmaya teşebbüs ettik

"message" => ";/r" 
"@version" => "1" 
"@timestamp" => 2014-06-24T15:39:00.655Z," 
"type" => "BCM_Core", 
"host => XXXXXXXXXXX", 
"Path => XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 
"tags" => [ 
[0] "_grokparsefailureZ" 
], 
"BCM_UTC_TIME" =>"2014-06-24%{time}Z" 

:

multiline{ 
    type => "BCM_Core" 
    pattern => "\;" 
    negate => true 
    what => "previous" 
} 

ama hala onları logstash dışarı yazdırıyor. Logstash'ı nasıl bırakabilirim? tabanlı olsa da çıktı sadece değilse ayarlamanız gerekebilir, böylece gerçekten ;/r değil, senin çıkışına

filter { 
    if ([message] =~ "^;") { 
     drop {} 
    } 
} 

;\r:

cevap

12

Sadece ; ile başlayan herhangi bir satır yazmak için bir damla filtre kullanın örnek. ;/$ Neden/^

if "_grokparsefailure" in [tags] { drop {} } 
+0

geçerli:

Ayrıca sadece grok başarısız şey bırakabilirsiniz? Sadece/olmalı? Ve evet, çıkışım "; \ r" idi, yani filtreye ne yapmalıyım? – simhuang

+0

$ Eşleşme bitiş çizgileri (yani temelde sadece çok az düşme olasılığını önlemek için hatların sadece a. Ile göz ardı edilmesi). Muhtemelen sadece/^;/- ile başlayan herhangi bir şey olabilir ... ... ve benim sözdizimim logstash için yanlış .. sabit – Alcanzar

+0

çalışıyor! Yardımın için teşekkürler! – simhuang