所以我有一个关于logstash的基本function的问题。 我有很多不同的.L01文件,我已经导出到日志文件。 每个.L01文件代表一个主机,导出function将其转储到文件夹树中。 我需要从这些单独的“主机文件夹”中读取日志,包括所有不同的子文件夹。 手动添加每个input日志的path显然是不可行的。 这些文件都是不同types的日志,所以我不能为它们定义一个标准的filter。 如果我只运行logstash而没有定义任何filter,它只是将整个日志转储到@message字段中,如下所示:
"message" => "6.703: Destination:C:\\WINDOWS\\INF\\inetres.adm \r", "@version" => "1", "@timestamp" => "2014-07-18T00:42:32.544Z", "tags" => [ [0] "host_1" ], "host" => "<hostname>", "path" => "<whatever the path is>"
那么,如果我本质上需要读取计算机(自然不同types的日志)上生成的所有日志,而是从文件夹(因此不能像syslog那样使用input插件),我该如何configurationlogstash。 我是否需要为每种日志写入单独的filter? 这将需要我手动parsing所有的文件夹和子文件夹,然后在检查内容后为每个日志写一个filter。 我不认为我可以这样做,因为我需要为大约20个主机做这个。 我将不胜感激任何帮助。
谢谢
您可以在文件input中指定多个path
logstash /input/文件
path(需要设置)
值types是数组
这个设置没有默认值。
您也可以configuration多个path。 查看Logstashconfiguration页面上的示例。
如果您需要指定查看子目录,则可以使用/ ** /指定更深入一级。
我希望这有助于澄清事情。