从 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 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
的文件。