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
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
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. –