![](/img/trans.png)
[英]Elasticsearch logstash configuration for multiple json (nested) file in a folder
[英]logstash create multiple json files in a folder for output
我想使用Logstash从数据库中的表中读取数据,并为表中的每个条目创建一个单独的json文件...
我看到logstash已经解释了json中的数据,因为当我输出到现有的json对象时,数据已经是json对象格式。
是否可以单独创建json文档并将其存储在logstash输出块中的一个文件夹中?
是的,这是可能的,但是您必须在事件中有一个字段用作(部分)文件名。 这是我的配置:
(仅输出):
output {
stdout { codec => rubydebug }
file {
path => "/home/artur/tmp/logstash/out/%{hello}.log"
}
}
文件名将是来自事件的%{hello}字段中的任何文件名。 Logstash自动填充它。
对于这两个事件:
artur@pandaadb:~/dev/logstash$ ./logstash-2.3.2/bin/logstash -f conf2
Settings: Default pipeline workers: 8
Pipeline main started
a
{
"message" => "a",
"@version" => "1",
"@timestamp" => "2016-07-01T09:28:54.206Z",
"host" => "pandaadb",
"tags" => [
[0] "test",
[1] "test2",
[2] "test3",
[3] "test4"
],
"hello" => "world",
"mynewField" => "test4"
}
b
{
"message" => "b",
"@version" => "1",
"@timestamp" => "2016-07-01T09:28:59.454Z",
"host" => "pandaadb",
"tags" => [
[0] "test",
[1] "test2",
[2] "test3",
[3] "test4"
],
"hello" => "world2",
"mynewField" => "test4"
}
它创建2个文件:
artur@pandaadb:~/tmp/logstash/out$ ls
world2.log world.log
希望对您有所帮助,
阿图尔
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.