Monitoring Serwerów - Forum o monitoringu infrastruktury IT
snmptrap - logstash - Printable Version

+- Monitoring Serwerów - Forum o monitoringu infrastruktury IT (https://monitoringserwerow.pl)
+-- Forum: MONITORING INFRASTRUKTURY IT (https://monitoringserwerow.pl/forumdisplay.php?fid=1)
+--- Forum: Logstash (https://monitoringserwerow.pl/forumdisplay.php?fid=20)
+--- Thread: snmptrap - logstash (/showthread.php?tid=85)



snmptrap - logstash - joachim_szlosarek - 04-15-2020

Witam serdecznie,
Mam pewien problem z trapami snmp. 

Sam odbiór trapa działa, jednak podczas zapisu do elasticsearch okazuje się, że problematyczne są pola z adresami MAC oraz IP, które przybierają dziwną postać, np. "XÙÃ÷áM" lub "dö<9d><9a>¶\u0010"


Probowałem zmienić domyślne kodowanie, jednak nie przyniosło to oczekiwanych skutków:
        codec => plain
        {
            charset => "ASCII-8BIT"
        }


Wersja logstash: 6.2.4

Pipeline:
input {
        snmptrap {
                type => "snmptrap"
                community => [ "public", "cisco" ]
                port => 5162
                yamlmibdir => "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/snmp-1.3.1/data/ruby/snmp/mibs"
                tags => [ "snmp" ]
                codec => plain
                {
                        charset => "ASCII-8BIT"
                }
        }
}


spotkał się ktoś z taką sytuacją?


RE: snmptrap - logstash - WitoldH - 04-15-2020

W podanej wersji logstash-a plugin input-u "snmptrap" ma problemy z polami hex.
Należy podmienić plik ruby tego pluginu na TEN.

Po podmianie u mnie występował problem z polem adresu ip przekazywanego w trapie. Zawierało IP zapisane szesnastkowym ale to można rozwiązać prostym filtrem w logstashu. Mi zadziałało to:


Code:
if [POLE_SNMP_TRAP_Z_IP] =~ ":" {
               grok {
                       match => { "POLE_SNMP_TRAP_Z_IP" =>  "%{NOTSPACE:ip1}:%{NOTSPACE:ip2}:%{NOTSPACE:ip3}:%{NOTSPACE:ip4}" }
               }
               ruby {
                       code => "event.set('ip1', event.get('ip1').to_s.hex)
                               event.set('ip2', event.get('ip2').to_s.hex)
                               event.set('ip3', event.get('ip3').to_s.hex)
                               event.set('ip4', event.get('ip4').to_s.hex)"
               }
               mutate {
                       update => { "POLE_SNMP_TRAP_Z_IP" => "%{ip1}.%{ip2}.%{ip3}.%{ip4}" }
                       remove_field => [ "ip1", "ip2", "ip3", "ip4" ]
               }
       }

Dodatkowo radzę tego spróbować z wykomentowaną opcją kodowania w input.


Daj znać czy pomogło.



RE: snmptrap - logstash - joachim_szlosarek - 05-07-2020

Jest dużo lepiej! Dzięki