2016-04-08 28 views
0

Değeri snmptrap girdisinden geri almak istiyorum,@ değeri mesajdan nasıl geri alınır?

Bir döngü oluşturulurken aşağıdaki günlük oluşturuldu. i mesajdan değer @source_ip alınamadı istiyorum

{ 
    "message" => "#@enterprise=[1.3.6.1.4.1.9.9.187],@timestamp=#@value=2612151602>, @varbind_list=[#@name= [1.3.6.1.4.1.9.9.187.1.2.5.1.17.32.1.14.16.255.255.17.0.0.0.0.0.0.0.0.2], @value=\"\x00\x00\">, #@name=[1.3.6.1.4.1.9.9.187.1.2.5.1.3.32.1.14.16.255.255.17.0.0.0.0.0.0.0.0.2], @value=#@value=1>>, #@name=[1.3.6.1.4.1.9.9.187.1.2.5.1.28.32.1.14.16.255.255.17.0.0.0.0.0.0.0.0.2], @value=\"\">, #@name=[1.3.6.1.4.1.9.9.187.1.2.5.1.29.32.1.14.16.255.255.17.0.0.0.0.0.0.0.0.2], @value=#@value=3>>], @specific_trap=7, @source_ip=\"1.2.3.4\", @agent_addr=#@value=\"\xC0\xA8\v\e\">, @generic_trap=6>" 
} 

i @souce_ip almak için

mutate { 
    add_field => { "source_ip" =>["@source_ip"] } 
    } 

kullanmayı deneyin ve yeni alan için, ama yine de değer elde edemez Eğer bununla nasıl bir şey yapacağını bilen varsa, lütfen yardım edin. Teşekkürler.

cevap

0

"@source_ip" bilgileri, gösterdiğiniz alanda değil, [ileti] alanının bir bölümüdür. Snmptrap {} girişinin mesajla tamamen memnun olmadığını tahmin ediyorum.

Elinizdeki örneği verdiğinizde, mesajı "@source_ip" bilgisini çekmek için grok {} filtresiyle çalıştırabilirsiniz.

Diğer işlem sorunları nedeniyle snmptrap {} girdisini kullanmayı bıraktım. Şimdi snmptrapd çalıştırıyorum ve daha sonra logstash içinde basit bir dosya {} girdisi ile okunan bir json günlük dosyası yazmasını sağlayın.

İlgili konular