从 logstash 中的轮换日志文件中读取

Reading from rotating log files in logstash

根据 documentation of logstash's file plugin, the section on File Rotation 说明如下:

To support programs that write to the rotated file for some time after the rotation has taken place, include both the original filename and the rotated filename (e.g. /var/log/syslog and /var/log/syslog.1) in the filename patterns to watch (the path option).

如果有人能阐明如何在 path 配置中指定两个文件名,那将有很大帮助,因为我没有找到确切的示例。一些示例建议使用像 /var/log/syslog* 这样的通配符,但是我正在寻找一个完全实现文档中所说内容的示例 - path 选项中的两个文件名。

属性path是一个数组,因此您可以指定多个文件,如下所示:

input {
   file{
       path => [ "/var/log/syslog.log", "/var/log/syslog1.log"]
   }
}

您还可以对名称或目录使用 * 表示法,如下所示:

input {
   file{
       path => [ "/var/log/syslog.log", "/var/log/syslog1.log", "/var/log/*.log", "/var/*/*.log"]
   }
}

当您将路径指定为 /var/*/*.log 时,它会进行递归搜索以获取所有扩展名为 .log 的文件。

引用Documentation