【发布时间】:2015-06-18 16:16:22
【问题描述】:
我在 Windows 机器上使用 logstash 1.5.1。我必须打个休息电话,它会为我提供 JSON 输出。
因此,我使用的是 exec。结果不再是 json :-(.
此事件的@message 将是命令的整个标准输出 一个事件。 https://www.elastic.co/guide/en/logstash/current/plugins-inputs-exec.html
我的logstash配置
input {
exec {
command => "C:\bin\curl\curl.exe http://localhost:8080/jolokia/read/metrics:name=trx.process.approved"
interval => 10
codec => json { charset => "CP1252" }
}
}
output {
elasticsearch {
node_name => test
host => myhost
}
}
cmd下的输出
{"request":{"mbean":"metrics:name=trx.process.approved","type":"read"},"value":{"Count":14},"timestamp":1434643572,"status":200}
elasticsearch 上无法解析的输出(3 行!)
C:\Daten\tools\logstash-1.5.1\bin>C:\bin\curl\curl.exe http://localhost:8080/jolokia/read/metrics:name=trx.process.approved {"request":"mbean":"metrics:name=trx.process.approved","type":"read"},"value":{"Count":14},"timestamp":1434641808,"status ":200}通常我会尝试只剪切 JSON 输出,但不知何故,我在 Windows 上对这方面的了解有限。
我试过filter plugin split,把这三行分开,但是不知道怎么去掉第1行和第2行。
filter {
split {
}
}
任何指针表示赞赏。
最后我只想将这一行发送到elasticsearch:
{"request":{"mbean":"metrics:name=trx.process.approved","type":"read"},"value":{"Count":14},"timestamp":1434641808,"status":200}
【问题讨论】:
标签: batch-file logstash logstash-configuration