博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ELK日志处理之Filebeat工作原理
阅读量:5943 次
发布时间:2019-06-19

本文共 1566 字,大约阅读时间需要 5 分钟。

一、Filebeat简介

Beats是Elastic Stack技术栈中轻量级的日志采集器,Beats家族包括以下五个成员:

  • Filebeat:轻量级的日志采集器,可用于收集文件数据。

  • Metricbeat:5.0版本之前名为Topbeat,搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据。

  • Packetbeat:收集网络流数据,可以实时监控系统应用和服务,可以将延迟时间、错误、响应时间、SLA性能等信息发送到Logstash或Elasticsearch。

  • Winlogbeat:搜集Windows事件日志数据。

  • Heartbeat:监控服务器运行状态。

二、Filebeat和Logstash

ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

Elasticsearch、Logstash、Kibana组合成为ELK Stack,Beats+ELK Stack=Elastic Stack

三、Filebeat工作原理

Filebeat是使用GO语言开发,工作原理如下:当Filebeat启动时,它会启动一个或者多个prospector监控日志路径或日志文件,每个日志文件会有一个对应的harvester,harvester按行读取日志内容并转发至后台程序。Filebeat维护一个记录文件读取信息的注册文件,记录每个harvester最后读取位置的偏移量。

这里写图片描述

四、Filebeat配置

下面是一个简单的Filebeat配置,采集2个文件夹下的日志并转发至Logstash。

filebeat:  prospectors:    -      paths:        - /dir1/access_log.*      input_type: log      document_type: dir1_log    -      paths:        - /dir2/ofbiz.log.*      input_type: log      document_type: dir2_logoutput:  logstash:    hosts: ["10.90.4.9:5044"]

在Logstash中根据 document_type定义解析日志的正则并输出到ELasticsearch集群。

input {    beats{     host => "192.2.11.145"     port => 5044   }}filter {  if[type]=="dir1_log"{    grok {        match => { "message" => "%{
COMBINEDAPACHELOG}"} } } else if ([type]=="dir2_log") { grok { match => { "message" => "%{
TIMESTAMP_ISO8601:time}\s*%{
NUMBER:logtime} \[\s*%{
JAVAFILE:class}\:%{
NUMBER:lineNumber}\s*\:%{
LOGLEVEL:level}\s*\]\s*(?
([\s\S]*))"} } }}output { elasticsearch { hosts => ["10.90.4.9","10.90.4.8","10.90.4.7"] }}

五、参考资料

你可能感兴趣的文章
Codeforces554B:Ohana Cleans Up
查看>>
【java】jvm查看当前虚拟机堆大小限制
查看>>
python写入excel(xlswriter)--生成图表
查看>>
NetworkStream.write只能使用一次,后面再使用无效
查看>>
oracle进行字符串拆分并组成数组
查看>>
100多个基础常用JS函数和语法集合大全
查看>>
Java8 lambda表达式10个示例
查看>>
innerHTML outerHTML innerText
查看>>
kafka安装教程
查看>>
go语言基础
查看>>
LINQ to SQL活学活用(1):这要打破旧观念
查看>>
Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown
查看>>
【Windows】字符串处理
查看>>
Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
查看>>
CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决
查看>>
微服务+:服务契约治理
查看>>
save
查看>>
Android DrawLayout + ListView 的使用(一)
查看>>
clear session on close of browser jsp
查看>>
asp.net mvc Post上传文件大小限制 (转载)
查看>>