首页 » SEO优化 » filebeat过滤php技巧_日志收集器Filebeat详解

filebeat过滤php技巧_日志收集器Filebeat详解

访客 2024-11-22 0

扫一扫用手机浏览

文章目录 [+]

1、Beats是elastic公司的一款轻量级数据采集产品,它包含了几个子产品:

1)packetbeat(用于监控网络流量)

filebeat过滤php技巧_日志收集器Filebeat详解

2)filebeat(用于监听日志数据,可以替代logstash-input-file)

filebeat过滤php技巧_日志收集器Filebeat详解
(图片来自网络侵删)

3)topbeat(用于搜集进程的信息、负载、内存、磁盘等数据)

4)winlogbeat(用于搜集windows事宜日志)

注:社区还供应了dockerbeat等工具(非elastic公司)

2、Filebeat是一个开源的文件网络器,采取go措辞开拓,重构logstash采集器源码,安装在做事器上作为代理来监视日志目录或特定的日志文件,并把它们发送到logstash或elasticsearch等。

3、Filebeat是代替logstash-forwarder的数据采集方案,缘故原由是logstash运行在jvm上,对做事器的资源花费比较大

二、实现事理

当开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测指定的日志目录或文件,对付探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序汇合合这些事宜,末了filebeat会发送凑集的数据到你指定的地点

三、输出办法

1)Elasticsearch(推举)

2)Logstash(推举,注:logstash用于过滤)

3)File

4)Console

5)Kafka(网上普遍吐槽)

6)Redis

2、配置文件

Filebeat紧张定义prospector的列表,定义监控哪里的日志文件,关于如何定义的详细信息可以参考filebeat.yml中的注释,下面紧张先容一些须要把稳的地方

paths:指定要监控的日志,目前按照Go措辞的glob函数处理。
没有对配置目录做递归处理,比如配置的如果是:

/var/log//.log

则只会去/var/log目录的所有子目录中探求以”.log”结尾的文件,而不会探求/var/log目录下以”.log”结尾的文件

encoding:指定被监控的文件的编码类型,利用plain和utf-8都是可以处理中文日志的。

input_type:指定文件的输入类型log(默认)或者stdin。

exclude_lines:在输入中打消符合正则表达式列表的那些行。

include_lines:包含输入中符合正则表达式列表的那些行(默认包含所有行),include_lines实行完毕之后会实行exclude_lines。

exclude_files:忽略掉符合正则表达式列表的文件(默认为每一个符合paths定义的文件都创建一个harvester

fields:向输出的每一条日志添加额外的信息,比如“level:debug”,方便后续对日志进行分组统计。
默认情形下,会在输出信息的fields子目录下以指定的新增fields建立子目录,例如fields.level

fields:

level: debug

fields_under_root:如果该选项设置为true,则新增fields成为顶级目录,而不是将其放在fields目录下。
自定义的field会覆盖filebeat默认的field。
例如添加如下配置:

fields:

level: debug

fields_under_root: true

ignore_older:可以指定Filebeat忽略指定时间段以外修正的日志内容,比如2h(两个小时)或者5m(5分钟)。

close_older:如果一个文件在某个韶光段内没有发生过更新,则关闭监控的文件handle。
默认1h,change只会不才一次scan才会被创造

force_close_files:Filebeat会在没有到达close_older之前一贯保持文件的handle,如果在这个韶光窗内删除文件会有问题,以是可以把force_close_files设置为true,只要filebeat检测到文件名字发生变革,就会关掉这个handle。

scan_frequency:Filebeat以多快的频率去prospector指定的目录下面检测文件更新(比如是否有新增文件),如果设置为0s,则Filebeat会尽可能快地感知更新(占用的CPU会变高)。
默认是10s。

document_type:设定Elasticsearch输出时的document的type字段,也可以用来给日志进行分类。

harvester_buffer_size:每个harvester监控文件时,利用的buffer的大小。

max_bytes:日志文件中增加一行算一个日志事宜,max_bytes限定在一越日记事宜中最多上传的字节数,多出的字节会被丢弃。

multiline:适用于日志中每一条日志霸占多行的情形,比如各种措辞的报错信息调用栈

tail_files:如果设置为true,Filebeat从文件尾开始监控文件新增内容,把新增的每一行文件作为一个事宜依次发送,而不是从文件开始处重新发送所有内容。

backoff:Filebeat检测到某个文件到了EOF之后,每次等待多久再去检测文件是否有更新,默认为1s。

max_backoff:Filebeat检测到某个文件到了EOF之后,等待检测文件更新的最大韶光,默认是10秒。

backoff_factor:定义到达max_backoff的速率,默认因子是2,到达max_backoff后,变成每次等待max_backoff那么长的韶光才backoff一次,直到文件有更新才会重置为backoff。
比如:

如果设置成1,意味着去使能了退避算法,每隔backoff那么长的韶光退避一次。

spool_size:spooler的大小,spooler中的事宜数量超过这个阈值的时候会清空发送出去(不论是否到达超时时间)。

idle_timeout:spooler的超时时间,如果到了超时时间,spooler也会清空发送出去(不论是否到达容量的阈值)。

registry_file:记录filebeat处理日志文件的位置的文件

config_dir:如果要在本配置文件中引入其他位置的配置文件,可以写在这里(须要写完全路径),但是只处理prospector的部分。

publish_async:是否采取异步发送模式(实验功能)

推举办理方案

1、Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)

2、Filebeat(采集数据)+Logstash(过滤)+Elasticsearch(建立索引)+Kibana(展示)

3、Filebeat(采集数据)+Kafka/Redis/File/Console(数据传输)+运用程序(处理,存储,展示)

4、Filebeat(采集数据)+Logstash(过滤)+Kafka/Redis/File/Console(数据传输)+运用程序(处理,存储,展示)

注:Redis/File/Console如何判断增量是一个问题

相关文章

phpnew开首技巧_十天学会 PHP第一天

的调试方法我这里就不说了,表面很多文章都有先容,也有很多不同的组合。我这里暂时因此 Apache webserver 和 MY S...

SEO优化 2024-12-12 阅读0 评论0