课前三分钟
在ELKF中,Filebeat作为日志采集端,采集日志并发送到kafka。input就是以文件形式存储的log文件,output就是kafka集群。
在采集日志中一般情况有以下几点需要注意的:
- 输出内容确定,一般包括时间戳,主机名,日志类型,日志内容,其他的根据业务的实际需求,无用信息可以直接过滤掉;
- 输出格式,一般使用json,需要自己拼成json格式;
- 多路径采集日志配置,同时采集多个服务的日志;
- 对不同种类的日志分类,后续在Logstash解析的时候可以实现不同的逻辑;
- 针对报错的日志进行多行合并;
- 日志偏移记录以及断点续传等细节上的配置
本节课我们将介绍filebeat的一些基本配置使用,课程中介绍的Filebeat基于6.3.0版本,配置上与早期版本会有些出入。
配置采集日志
本节提到的各个功能的配置,为了避免过多的冗余,只展示相关配置,如果对配置文件中格式有疑问,Filebeat模块最后会给出一个完整的配置样例参考。
基础配置
编辑/etc/filebeat/filebeat.yml(贴心小助手:配置文件注释比较长,我们可以在vi或vim进入编辑后使用“:25”,敲回车,光标会直接跳到25行)
filebeat.inputs:
- type: log
enabled: true
encoding: utf-8
paths:
- /var/log/test.log
说明:
- type,表示输入的数据类型,可选类型有(Log,Stdin,Redis,UDP,Docker,TCP,Syslog)。日志的就是Log;
- enabled,表示此模块是否启用,如果为flase,则此模块不会被采集;
- encoding,编码格式;
- paths,配置日志的路径ÿ