2016-04-05 26 views
0

ile Belirli bir alanı ekleme olay mesajının bir exmple geçerli:Logstash belirli bir değerin Burada

{ 
"timestamp":"2016-03-29T22:35:44.770750-0400", 
"flow_id":45385792, 
"in_iface":"eth1", 
"event_type":"alert", 
"src_ip":"3.3.3.8", 
"src_port":21, 
"dest_ip":"2.2.2.2", 
"dest_port":52934, 
"proto":"TCP", 
"alert":{ 
    "action":"allowed", 
    "gid":1, 
    "signature_id":4027, 
    "rev":0, 
    "signature":"FTP Successful Login", 
    "category":"", 
    "severity":3 
    }, 
"payload":"MjU3ICIvaG9tZS9uZXd1c2VyIg0K", 
"payload_printable":"257 newuser", 
"stream":0, 
"packet":"AFBWo0NoAFBWoxZWCABFAABJKDpAAEAGCGcDAwMIAgICAgAVzsbd4MhqOBOjfoAYAOMYcwAAAQEIChHN4EQHnwugMjU3ICIvaG9tZS9uZXd1c2VyIg0K" 
} 

Ve dize "newuser" tespit edebilmek istiyorum (sayı "257" sonra hep gelir) ve kullanıcı adında başka bir alan oluşturmak ve buna "newuser" dizgisini eklemek.

input 
    beats 
     port => 5044 
     codec => json 
     type => "SuricataIDPS" 


output 
    elasticsearch 
     hosts => ["localhost:9200"] 
     sniffing => true 
     manage_template => false 
     index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
     #document_type => "%{[@metadata][type]}" 

nasıl "newuser" dize çıkarabilir ve bu değerle yeni bir alan eklemek için:

Benim Logstash yapılandırma dosyası şudur?

cevap

0
Sen grok filtreyle config filter dörtlük tanımlamak zorunda

, aşağıya bakınız:

input { 
    beats { 
     port => 5044 
     codec => json 
     type => "SuricataIDPS" 
    } 
} 

filter { 

    grok { 
     match => ["payload_printable", "257 (?<user>.+)"] 
     tag_on_failure => [] 
    } 

} 

output { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     sniffing => true 
     manage_template => false 
     index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
     #document_type => "%{[@metadata][type]}" 
    } 
} 
+0

Çok teşekkürler! Ve eğer bir koşul eklemek isterseniz, örneğin, diğer alanları kontrol ediyorum. –

+0

Sen if-else if-else deyimi kullanabilirsiniz: https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html örneğin : 'eğer [proto] == "TCP" { grok { maç => [ "payload_printable" "257 (? . +)"] tag_on_failure => [] } } ' –

İlgili konular