我正在尝试从传入的logstash事件中捕获IP地址字段,并将其传递给shell脚本以与静态黑名单进行比较。问题是,我能够使用puts打印IP地址但无法捕获以将其传递给ruby过滤器中的system()
调用。这是我的示例配置。
我正在使用logstash 2.0
Sample input = {"name":"xyz", "source_ip":"8.8.8.8"}
input {
stdin {
codec => json
}
}
filter {
ruby {
code => "
# puts event['source_ip'] # This always works
ip = event['source_ip']
system('echo ${ip}') # This echoes ${ip} instead of value !
"
}
}
我也尝试了echo #${ip}
'但它只是打印0
。