Logstash之输出到文件|第四章-yellowcong

版权声明:本文为博主yellowcong原创文章,未经博主允许不得转载。 https://blog.csdn.net/yelllowcong/article/details/80847718

将多个文件集合到一起,输出出来,但是这个地方有个问题,这个文件输出后,输出的自定义文件,只能输出到动态的文件夹,但是文件名可以是 %{+yyyy-MM-dd-HH}这种格式,也可以是/path/to/%{+yyyy}/%{+MM}/%{+dd-HH}-%{host}.log 这种格式,需要注意的是,日期匹配,都需要加上 +。这个地方还支持gzip的,没有实验,更多可以查看官网https://www.elastic.co/guide/en/logstash/current/plugins-outputs-file.html

配置文件

input{
        file {
                path => "/usr/local/log_test/*.log"
                start_position => "beginning"
        }
}
output {
  file {
        path => "/path/to/%{+yyyy-MM-dd-HH}/%{host}.log"

   }
   stdout {
      codec => rubydebug
  }

}

可以看到日志输出到了/path/to/ 的目录下了
这里写图片描述
可以看到输出的日志格式是json数据的
这里写图片描述

日志格式输出

这种格式输出的时候,%{message}的数据必须是json的数据,不然输出不了

input{
        file {
                path => "/usr/local/log_test/*.log"
                start_position => "beginning"
        }
}
output {
        file {
                path => "/path/to/%{+yyyy}/%{+MM}/%{+dd-HH}-%{host}.log"
                codec => line { format => "custom format: %{message}"}
         }
   stdout {
      codec => rubydebug
  }

}

输出结果

这里写图片描述

可以看到自定义的json数据输出到了目标上了。
这里写图片描述

参考文章

https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/output/file.html
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-file.html

猜你喜欢

转载自blog.csdn.net/yelllowcong/article/details/80847718