Filebeat — Overview

目录

什么是Filebeat

Filebeat 是一个轻量级的转发、集中日志数据的采集器。它会被作为一个代理安装在你的服务器上,然后监控着你指定的日志文件或者位置,同时还会收集日志事件,并且将它们转发给 Elasticsearch 或者 Logstash 进行索引。

Filebeat 和 beats

filebeat 是 Beats 中的一员。
Beats 是轻量级数据采集器,其实Beats家族有6个成员:

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

Filebeat 和 Logstash

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

工作方式

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

在这里插入图片描述

基本概念

harvester

负责读取单个日志文件的内容。

harvester一行一行的读取日志文件,然后将日志内容发送到 output。harvester还负责打开/关闭文件。这也就意味着在 harvester 运行期间文件描述符会保持着打开状态。

input

负责管理 harvester 以及查找所有可读取的资源。

如果输入类型为 log,则输入将查找驱动器上与定义的全局路径匹配的所有文件,并为每个文件启动收集器。每个输入都在其自己的Go例程中运行。

input包括以下几种类型:Azure Event Hub, Cloud Foundry, Container, Docker, Google Pub/Sub, HTTP Endpoint, HTTP JSON, Kafka, Log, MQTT, NetFlow, Office 365 Management Activity API, Redis, S3, Stdin, Syslog, TCP, UDP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_李少侠_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值