elasticsearch Logstash exec插件-可用参数
我的日志存储配置文件中包含以下内容:elasticsearch Logstash exec插件-可用参数,elasticsearch,logstash,elasticsearch,Logstash,我的日志存储配置文件中包含以下内容: input { file { path => "C:/myfile.txt" } } output { exec { command => 'mytest.bat %message% %path%' interval => 0 } } %message%和%path%参数正在传递到批处理文件 我期待看到: 消息包含当前正在分析的输入文件的行 路径包含C:/myfile.txt 但是,批处
input {
file {
path => "C:/myfile.txt"
}
}
output {
exec {
command => 'mytest.bat %message% %path%'
interval => 0
}
}
%message%
和%path%
参数正在传递到批处理文件
我期待看到:
包含当前正在分析的输入文件的行消息
包含C:/myfile.txt路径
消息
%message%
路径
“C:/logstash-1.5.0/vendor/bundle/jruby/1.9/bin”
定义占位符的正确方法是什么:
- 要输出的当前行
- 正在分析的文件的名称
谢谢请将您的配置修改为
input {
file {
path => "C:/myfile.txt"
}
}
output {
exec {
command => "mytest.bat %{message} %{path}"
interval => 0
}
}
如果要获取事件中的字段,请使用
%{message}
,而不是%message%
谢谢,%{path}现在提供输入文件的名称;但是,%{message}只是输出“{message}”发现了问题。%{message}似乎不能与json一起使用,因此,如果在logstash配置中定义了codec=json,%{message}将无法工作。如果没有编解码器的东西,它会。如果文件包含json,%{message}将给出json的第一部分,但不是全部。引号中的“%{message}”将给出完整的json,但%{path}不会被设置。你的意思是什么?你现在有什么问题?%{三十} 将给出XXX字段中的所有值。