所以我对 logstash 的基本功能有一个疑问。我有许多不同的 .L01 文件,我已将它们导出到日志文件中。每个 .L01 文件代表一个主机,导出功能将其转储到文件夹树中。我需要从这些单独的“主机文件夹”读取日志,包括所有不同的子文件夹。手动添加每个输入日志的路径显然是不可行的。这些文件都是不同类型的日志,所以我无法为它们定义标准过滤器。如果我只是运行 logstash 而不定义任何过滤器,它只会将整个日志转储到 @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>"
因此,如果我需要从文件夹中读取计算机上生成的所有日志(因此自然是不同类型的日志),我该如何配置 logstash(因此不能使用像 syslog 这样的输入插件)。我需要为每种日志编写单独的过滤器吗?这需要我手动解析所有文件夹和子文件夹,然后在检查内容后为每个日志编写一个过滤器。我不认为我能做到这一点,因为我需要为大约 20 台主机执行此操作。我将不胜感激任何帮助。
谢谢
答案1
您可以在文件输入中指定多个路径
路径(必设)
值类型是数组
此设置没有默认值。
您也可以配置多个路径。请参阅 Logstash 配置页面上的示例。
如果需要指定查看子目录,可以使用/**/来指定更深的级别。
我希望这有助于澄清一些事情。