使用“文件”插件在 Logstash 中输入批量日志(存储在不同的文件夹中),无需指定单独的过滤器

使用“文件”插件在 Logstash 中输入批量日志(存储在不同的文件夹中),无需指定单独的过滤器

所以我对 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 / 输入 / 文件

路径(必设)

值类型是数组

此设置没有默认值。

您也可以配置多个路径。请参阅 Logstash 配置页面上的示例。

如果需要指定查看子目录,可以使用/**/来指定更深的级别。

我希望这有助于澄清一些事情。

相关内容