2017-01-30 1 views
0

Ich versuche Logstash und bisher, scheint wie ein großartiges Werkzeug, aber ich erreichte einen Punkt, wo ich einen benutzerdefinierten Filter in Python schreiben musste, und ich habe zu kämpfen um den Eingabewert zu erhalten. Es folgt meine logstash.confWie Input-Wert auf benutzerdefinierten Filter bei Logstash erhalten

input { 
    stomp { 
     destination => "/topic/myevents" 
     host => "rabbitmq" 
     password => "guest" 
     user => "guest" 
     vhost => "/" 
     debug => true 
     port => 61613 
    } 
} 

filter { 
    ruby { 
     code => 'require "open3" 
       cmd = "/bin/events_filter.py {input should go here}" 
       stdin, stdout, stderr = Open3.popen3(cmd) 
       ' 
    } 
} 

output { 
    file { 
     path => "~/events.txt" 
    } 
} 

Kann mir jemand helfen, dies herauszufinden? Und wenn Sie irgendwelche Tipps oder bessere Möglichkeiten haben, externe Filter aufzurufen, würde ich es gerne wissen. Wow

+0

Entschuldigung, es gibt ein Einrückungsproblem im Ruby-Filter (behoben). Was ich tun möchte, ist einfach, den Wert der Ereigniserfassung im Stomp-Thema zu erhalten und es zu brechen (es ist verschlüsselt), es zu normalisieren und es in einer Datei zu speichern. – ademarizu

+0

Wenn Ihre Eingabe funktioniert, dann ist es der Entschlüsselungsteil, den Sie in Ruby versuchen? Google für Ruby-Code zu entschlüsseln, welches System auch immer verwendet wurde. –

Antwort

0

,

anscheinend schafft Logstash ein Ereignisobjekt, das von meinem Ruby-Code zugegriffen werden kann (das wird als Argument für meinen Python-Code verwendet wird).

cmd = "/bin/events_filter.py #{event}" 

Damit kann ich auf das Eingabeereignis von meinem Python-Skript zugreifen! = D

+0

Ich hoffe, Ereignisse sind selten. Eine Shell für jeden zu laufen, könnte sich als wirklich schreckliche Leistung erweisen. –

+0

Nicht so selten, aber der Filter funktioniert ziemlich gut. Ich werde versuchen, ein wenig mehr zu schieben, um zu sehen, wie mit 150% der regulären Ereignisse geladen wird. – ademarizu

Verwandte Themen