FileBeat简单介绍
1.是什么
是一个部署在服务器端的日志收集软件,搜集后可以发送到指定地方
提供了常见后端软件的日志文件模板,方便使用。
2. 解决了什么问题
2.1 日志收集复杂的问题
提供了标准化的日志模板,可以便捷的进行日志收集,不用我们再写那么多日志读取程序了,将我们从复杂的格式转换中拯救出来。
实际上Beats类工具都是解决收集困难问题的工具
Filebeat隶属于Beats。目前Beats包含四种工具:
Packetbeat(搜集网络流量数据)
Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
Filebeat(搜集文件数据)
Winlogbeat(搜集 Windows 事件日志数据)
2.2 logstash对内存、CPU、IO资源消耗较高
Beats在是一个轻量级日志采集器,filebeat是Beats软件集合中的一员。早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。
3. 优缺点
3.1 优点
模块化的日志采集
看图,这边内置了好的日志读取的格式,直接改成enable就成(原则上来说是这样,实际上肯定还会有版本不同、配置错误等乱七八糟的问题),然后在filebeat.yml配置文件中配置使用就好了,方便!
3.2 待优化点
4.基本使用
4.1 启动管理
/usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml
实际上就是找到filebeat文件夹下的filebeat脚本,直接启动了就。
linux老一套启动软件方式。
不同的是,-c 可以更改配置文件路径,比如这句话就是使用的/usr/local/filebeat/路径下的filebeat.yml配置文件。
4.2 配置Filebeat 的输入和输出
<!--配置文件地址--!>
# vim /usr/local/filebeat/filebeat.yml
<!--输入--!>
filebeat.inputs:
‐ type: log
enabled: true #改
paths:
‐ /tmp/*.log #改 指定需要收集日志的路径,支持通配符可以写多个
<!--模块化日志文件--!>
filebeat.config.modules: # 内置的收集日志的模块配置文件的存放路径
path: ${path.config}/modules.d/*.yml
reload.enabled: false # 当模块的配置文件有更新时,此程序是否要自动加载,false不加载,true 加载
setup.template.settings:
index.number_of_shards: 1
<!--输出,这里filebeat只能输出一个地方--!>
output.console: #添加 输出到终端即屏幕上
pretty: true
# 输出到 logstash
#output.logstash:
# logstash 的 IP和端口
#hosts: ["172.26.139.148:5044"]
<!--对日志文件输出内容的增删改配置--!>
processors: #改
‐ add_host_metadata: # 添加此主机的源数据信息到输出数据中,比如 IP MAC OS 等信息
when.not.contains.tags: forwarded
4.3 观察输出
这里会有不同,输出到不同地方是不同的。如果在配置文件中设置console为true的话,就可以在控制台看到输出的json格式的信息。
5.基本原理
5.1 工作流程图
一图胜千言,直接看图就明白了。
6.参考文献
1、filebeat配置文件详情介绍:
ElasticStack7.13.2日志分析平台-ELK分析系统_哔哩哔哩_bilibili
2、filebeat中文指南:
filebeat · ELKstack 中文指南 (elasticsearch.cn)
7.学习疑惑
Q:系统结构我需要知道嘛?
A:这个现在对我来说是封装好、让我们去用的小工具。了解基本配置方法会使用,会排错。后续看情况再学习更深的技术原理。