花店网站建设,wordpress163邮箱设置,网站后台无法上传本地图片,wordpress文章底部删除一、Filebeat介绍
1、Filebeat是什么#xff1f; Filebeat适用于转发和集中数据的轻量级传送工具#xff0c;Filebeat监视了指定的日志文件或位置#xff0c;收集日志事件#xff0c;并将他们转发到Elasticsearch或Logstash进行索引。 **Filebeat的工作方式#xff1a;*…一、Filebeat介绍
1、Filebeat是什么 Filebeat适用于转发和集中数据的轻量级传送工具Filebeat监视了指定的日志文件或位置收集日志事件并将他们转发到Elasticsearch或Logstash进行索引。 **Filebeat的工作方式**启动Filebeat时它将启动一个或多个输入这些输入将在为日志数据指定的位置中查找对于Filebeat所找到的每个日志Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容并将新日志数据发送到libbeatlibbeat将聚集事件并将聚集的数据发送到位Filebeat配置的输出。
Filebeat由两个主要组成部分Prospector探勘者和Harvesters矿车。这些组件一起工作来读取文件并将时间数据发送到指定的output。
**prospector ** 负责找到所有需要进行读取的数据源。harvesters 负责读取单个文件的内容并将内容发送到output负责文件的打开和关闭。
2、Filebeat的工作原理 Filebeat可以保持每个文件的状态并且频繁的把文件状态从注册表里更新到磁盘这里所说的文件状态是用来记录上一次Harvaster读取文件时读取到的位置以保证能把全部的日志都读取出来然后发给output。 如果在某一时刻作为output的Elasticsearch或则Logstash变成了不可用Filebeat将会把最后的文件读取位置保存下来直到output重新可用的时候快速地恢复文件数据的读取。 在Filebeat运行过程中每个Prospector的状态信息都会保存在内存里如果Filebeat出现了重启完成重启之后会从注册表文件里恢复重启之间的状态信息让Filebeat继续从之间已知的位置开始进行读取数据。
理解
Filbeat可以实现保持读取时的文件状态。将文件状态频繁保存在磁盘中。
1、这样可以保证能把全部的日志读取出来。
2、在output的ES或logsatsh出现故障Filebeat也会把文件读取位置保存下来方便下次快速恢复。
3、当Filebeat出现故障重启时也可以恢复到之前的读取位置。3、Filebeat用途
适用于集群环境下服务多且部署在不同机器。
1、为什么要用filebeat来收集日志为什么不直接使用lohstash收集日志
因为logstash是jvm跑的资源消耗比较大启动一个logstash就需要消耗500M左右的内存这就是为什么logstash启动特别慢的原因。而filebeat只需要10M左右的内存资源。常用的ELK日志采集方案中大部分的做法就是将所有节点的日志内容通过filebeat发送到logstashlostash根据配置文件进行过滤然后将过滤之后的文件传输到elasticsearch中最后通过kibana展示。
2、filebeat结合logstash带来的好处
1、通过logstash具有基于磁盘的自适应缓冲系统该系统将吸收传入的吞吐量从而减轻Elasticsearch持续写入数据的压力。
2、从其它数据源例如数据库s3对象存储或消息传递队列中提取
3、将数据发送到多个目的地例如S3HDFShadoop分部署文件系统或写入文件
4、使用数据流逻辑组成更复杂的处理管道。
3、Filebeat和Logstash的区别
logstashfilebeat内存大小CPU大小插件多多功能从多中输入端采集并实时解析和转换数据并输出到多中输出端传输轻重相对较重轻量级的二进制文件过滤能力强大的过滤能力轻微的过滤能力进程一台服务器只允许一个logstash进程挂掉之后需要手动拉起 原理logstash使用管道的方式进行日志的收集和输出分为输入input、输出output每个阶段都有不同的替代方式开启进程后悔启动一个或多个探测器prospectors去检测指定的日志文件对于探测器找到的每一个日志文件filebeat启动收个进程harvester没一个收个进程读取一个日志文件的新内容并发现这些新的数据到处理程序spooler处理程序会集合这些事件最后filebeat会发送集合的数据到你指定地点。集群单节点单节点输出多个接收方支持6.0之前支持二次开发或者扩展开发难易 二、部署ELFK
1、环境搭建
再ELK的的服务基础上增加一台filebeat服务器。
主机名IP地址部署软件系统node120.0.0.55Elasticsearch、Kibanacentos7node220.0.0.56Elasticsearchcentos7apache20.0.0.57logstash、apachecentos7filebeat20.0.0.58filebeatcentos7 关闭防护墙、修改主机名。
systemctl disable --now firewalldhostnamectl set-hostname filebeat2、安装filebeat
#上filebeat包上传到/opt目录下cd /opt
tar -zxvf filebeat-6.6.0-linux-x86_64.tar.gzmv filebeat-6.2.4-linux-x86_64 /usr/local/filebeatcd /usr/local/filebeat
vim filebeat.ymlfilebeat.prospectors:
##21行指定log类型从日志文件中读取消息
- type: log
##24行开启日志收集功能默认为falseenabled: true
##28行指定监控的日志文件- /var/log/ *.log
##29行添加收集/var/log/messages- /var/log/messages
##31行添加以下内容注意格式fields: service_name: filebeatlog_type: logservice_id: 20.0.0.58
#-------------------------- Elasticsearch output -------------------------
该区域内容全部注释
#----------------------------- Logstash output ---------------------------
##165行取消注释
output.logstash:
##167行取消注释指定logstash的IP和端口号hosts: [20.0.0.57:5044]./filebeat -e -c filebeat.yml
#启动filebeat-e记录到stderr并禁用syslog /文件输出-c指定配置文件3、在logstash组件所在的节点apache节点上新建一个logstash配置文件
cd /etc/logstash/conf.d
vim logstash.conf
input {beats {port 5044}
}
output {elasticsearch {hosts [20.0.0.55:9200, 20.0.0.56:9200]index %{[fields][service_name]}-%{YYYY.MM.dd}}stdout {codec rubydebug}
}/usr/share/logstash/bin/logstash -f logstash.conf 4、验证查看
网页访问20.0.0.55:9100查看能否查看到 网页访问20.0.0.55:5601查看能否查看到