繁体   English   中英

logstash在文件夹中创建多个json文件以进行输出

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM