Logstash在一个文件夹中创建多个json文件用于输出



我想使用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

我希望这对你有帮助,

阿图尔

相关内容

  • 没有找到相关文章

最新更新