Logstash功能虽然强大,但是它依赖java、在数据量大的时候,Logstash进程会消耗过多的系统资源,这将严重影响业务系统的性能,而filebeat就是一个完美的替代者,filebeat是Beat成员之一,基于Go语言,没有任何依赖,配置文件简单,格式明了,同时,filebeat比logstash更加轻量级,所以占用系统资源极少,非常适合安装在生产机器上。所以,Logstash与filebeat的使用原则就是:logstash是数据ETL工具,不用来收集服务器日志。而filebeat则用来收集服务器日志,不使用其日志过滤功能。那么接下来,我们讲讲filebeat:
同样,我们可以去官网下载合适的版本:可以从elastic官网https://www.elastic.co/downloads/beats/filebeat 获取filebeat安装包
下载完后,直接解压目录即可。如图
讲解一下配置目录的各个文件:
1,filebeat.yml =====> filebeat配置文件,以"yml"格式结尾,需要注意语法问题。
2,filebeat =====> filebeat的启动服务脚本
3,modules.d ======> ES官方给配置的默认模板,里边定义了各种模板,我们只需打开即可使用其功能。这样能快速使用filebeat去收集各个服务器的日志。这是模块化设置
那我们打开那个配置文件,filebeat.yml,看看里边各列项的含义:
filebeat. Input :表示filebeat输入接收源的设置:
type: 表示要接收的事件类型,log表示日志文件
enable: false :表示按照模板的设置去启动filebeat。默认false,就表示启用模板。如果要修改配置文件,我们需要修改为True.表示不通过模板设置filebeat.
paths: 定义获取日志文件的目录,可以定义多个。如果非常多,可以使用通配符*表示。
第二部分:outputs配置文件讲解
在配置文件的output部分,定义了很多不同的输出,比如logstash 、Kafka、ES等,那么这里我们就配置Logstash,输入到Logstash里去。
hosts: 输出到指定的主机中去。这里的主机就是logstash服务器。可以是本机,也可以是远程机器
那么,既然要output到logstash去,那么我们来看一下logstash配置文件:如下图:
那么这样的话,当我们的logstash服务启动的时候,一旦filebeat监控的到的日志文件有数据写入,就能实时的将数据传到Logstash里并展示到标准输出。
注意以下使用事项:
启动filebeat服务 nohup bin/filebeat -e -c filebeat.yml &
filebeat.yml 尽量使用空格,不要使用TAB建进行缩进。
本节简单讲了一款非常实用的beats产品,用来获取服务器日志文件。那么其家族还有其它很多的子系列产品,针对不同的场景不同的选择,建议大家去官网查询实用。Ok,今天就到这里。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。