我正在尝试Logstash,到目前为止,它似乎是一个很好的工具,但是我需要用Python编写一个自定义过滤器,并且我正在努力获得输入值。下面是我的logstash.conf
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"
}
}
有人能帮我解决这个问题吗?如果你有任何技巧或者调用外部过滤器的更好的方法,我很想知道。
发布于 2017-01-31 03:30:12
哇,
显然,Logstash创建了一个可由我的ruby代码访问的事件对象(它将用作我的python代码的参数)。
cmd = "/bin/events_filter.py #{event}"
这样,我就可以从我的Python脚本访问输入事件了!=D
https://stackoverflow.com/questions/41943490
复制相似问题