加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

教你搞懂日志采集利器Filebeat

发布时间:2021-03-31 13:48:07 所属栏目:外闻 来源:互联网
导读:lebeat是Beats中的一员。 Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、CPU、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。 目前Beats包含六

lebeat是Beats中的一员。

Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、CPU、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

目前Beats包含六种工具:

  •  Packetbeat:网络数据(收集网络流量数据)
  •  Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
  •  Filebeat:日志文件(收集文件数据)
  •  Winlogbeat:Windows事件日志(收集Windows事件日志数据)
  •  Auditbeat:审计数据(收集审计日志)
  •  Heartbeat:运行时间监控(收集系统运行时的数据)

Filebeat是什么

Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。

sh是JVM跑的,资源消耗比较大,所以后来作者又用Golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder。不过作者只是一个人,加入http://elastic.co公司以后,因为ES公司本身还收购了另一个开源项目Packetbeat,而这个项目专门就是用Golang的,有整个团队,所以ES公司干脆把logstash-forwarder的开发工作也合并到同一个Golang团队来搞,于是新的项目就叫Filebeat了。

Filebeat原理是什么

Filebeat的构成

Filebeat结构:由两个组件构成,分别是inputs(输入)和harvesters(收集器),这些组件一起工作来跟踪文件并将事件数据发送到您指定的输出,harvester负责读取单个文件的内容。harvester逐行读取每个文件,并将内容发送到输出。为每个文件启动一个harvester。harvester负责打开和关闭文件,这意味着文件描述符在harvester运行时保持打开状态。如果在收集文件时删除或重命名文件,Filebeat将继续读取该文件。这样做的副作用是,磁盘上的空间一直保留到harvester关闭。默认情况下,Filebeat保持文件打开,直到达到close_inactive。

关闭harvester可以会产生的结果:

  •  文件处理程序关闭,如果harvester仍在读取文件时被删除,则释放底层资源。
  •  只有在scan_frequency结束之后,才会再次启动文件的收集。
  •  如果该文件在harvester关闭时被移动或删除,该文件的收集将不会继续。

一个input负责管理harvesters和寻找所有来源读取。如果input类型是log,则input将查找驱动器上与定义的路径匹配的所有文件,并为每个文件启动一个harvester。每个input在它自己的Go进程中运行,Filebeat当前支持多种输入类型。每个输入类型可

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读