版权声明:本文为博主yellowcong原创文章,未经博主允许不得转载。 https://blog.csdn.net/yelllowcong/article/details/80846752
logstash输出多级目录的文件到控制台的时候,需要注意的,然后设定格式为
/*/*/*.log
的方式,其中/*/
表示的是一个目录,多级目录,需要使用多个/*/
这个是一个坑啊。
案例一:读取单个个文件
1. 随便创建一个文件
创建一个文件,然后瞎写一通,文件目录/usr/local/log_test/yellowcong-test.log
2. 创建logstash配置文件
我把配置文件直接丢到了/usr/local/logstash/config
这个目录。
input{
file {
path => "/usr/local/log_test/yellowcong-test.log"
start_position => "beginning"
}
}
output {
stdout { }
}
3. 启动logstash
#启动服务,然后,你就看到了一阵疯狂输出了。
../bin/logstash -f test.log.conf
案例二:读取多个文件
1. 创建测试文件
这个地方,我们有两个测试文件,第一个文件没有前缀,第二个文件里面,每个数据都是2-开头的,这两个文件都是在/usr/local/log_test/ 这个目录
2. 创建logstash配置文件
创建配置文件,然后设定格式为*.log的方式
input{
file {
path => "/usr/local/log_test/*.log"
start_position => "beginning"
}
}
output {
stdout { }
}
3.启动测试
../bin/logstash -f test.log.conf
案例三:多级目录日志输出
1 创建文件夹
当前目录,有两个子目录,然后dir_1和dir_2两个文件夹都有一个日志文件
看到文件中,第二个文件夹中的数据,都是以2开头的,根目录都是是在/usr/local/log_test/
这个目录
2 创建配置文件
创建配置文件,然后设定格式为/*/*.log
的方式,其中/*/
表示的是一个目录,多级目录,需要使用多个/*/
input{
file {
path => "/usr/local/log_test/*/*.log"
start_position => "beginning"
}
}
output {
stdout { }
}
3 执行测试
可以看到,多级目录的数据已经被读取出来了。
../bin/logstash -f test.log.conf