首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ELK+Filebeat 集中式日志解决方案(三)

本章主要讲fielbeat配置文件

## Filebeat Configuration Example ##

filebeat:

# List of prospectors to fetch data.

prospectors:

-

# 指定要监控的日志,可以指定具体得文件或者目录

paths:

- /var/log/*.log (这是默认的)(自行可以修改)(比如我放在/home/hadoop/app.log里)

#- c:\programdata\elasticsearch\logs\*

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

#encoding: plain

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

input_type: log

# 在输入中排除符合正则表达式列表的那些行。

# exclude_lines. By default, no lines are dropped.

# exclude_lines: ["^DBG"]

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

# include_lines: ["^ERR", "^WARN"]

# 忽略掉符合正则表达式列表的文件

# exclude_files: [".gz$"]

# 向输出的每一条日志添加额外的信息,比如“level:debug”,方便后续对日志进行分组统计。

# 默认情况下,会在输出信息的fields子目录下以指定的新增fields建立子目录,例如fields.level

# 这个得意思就是会在es中多添加一个字段,格式为 "filelds":{"level":"debug"}

#fields:

# level: debug

# review: 1

# 如果该选项设置为true,则新增fields成为顶级目录,而不是将其放在fields目录下。

# 自定义的field会覆盖filebeat默认的field

# 如果设置为true,则在es中新增的字段格式为:"level":"debug"

#fields_under_root: false

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

#ignore_older: 0

# 如果一个文件在某个时间段内没有发生过更新,则关闭监控的文件handle。默认1h

#close_older: 1h

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

#document_type: log

# Filebeat以多快的频率去prospector指定的目录下面检测文件更新(比如是否有新增文件)

# 如果设置为0s,则Filebeat会尽可能快地感知更新(占用的CPU会变高)。默认是10s

#scan_frequency: 10s

# 每个harvester监控文件时,使用的buffer的大小

#harvester_buffer_size: 16384

# 日志文件中增加一行算一个日志事件,max_bytes限制在一次日志事件中最多上传的字节数,多出的字节会被丢弃

#max_bytes: 10485760

# 适用于日志中每一条日志占据多行的情况,比如各种语言的报错信息调用栈

#multiline:

# 多行日志开始的那一行匹配的pattern

#pattern: ^\[

# 是否需要对pattern条件转置使用,不翻转设为true,反转设置为false。 【建议设置为true】

#negate: false

# 匹配pattern后,与前面(before)还是后面(after)的内容合并为一条日志

#match: after

# 合并的最多行数(包含匹配pattern的那一行)

#max_lines: 500

# 到了timeout之后,即使没有匹配一个新的pattern(发生一个新的事件),也把已经匹配的日志事件发送出去

#timeout: 5s

# 如果设置为true,Filebeat从文件尾开始监控文件新增内容,把新增的每一行文件作为一个事件依次发送,

# 而不是从文件开始处重新发送所有内容

#tail_files: false

# Filebeat检测到某个文件到了EOF(文件结尾)之后,每次等待多久再去检测文件是否有更新,默认为1s

#backoff: 1s

# Filebeat检测到某个文件到了EOF之后,等待检测文件更新的最大时间,默认是10秒

#max_backoff: 10s

# 定义到达max_backoff的速度,默认因子是2,到达max_backoff后,变成每次等待max_backoff那么长的时间才backoff一次,

# 直到文件有更新才会重置为backoff

# 根据现在的默认配置是这样的,每隔1s检测一下文件变化,如果连续检测两次之后文件还没有变化,下一次检测间隔时间变为10s

#backoff_factor: 2

# 这个选项关闭一个文件,当文件名称的变化。#该配置选项建议只在windows

#force_close_files: false

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

#spool_size: 2048

# 是否采用异步发送模式(实验功能)

#publish_async: false

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

#idle_timeout: 5s

# 记录filebeat处理日志文件的位置的文件,默认是在启动的根目录下

#registry_file: .filebeat

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

#config_dir:

output:

### Elasticsearch as output

elasticsearch:            filebeat收集后放到es里

hosts: ["localhost:9200"]

# 输出认证.

#protocol: "https"

#username: "admin"

#password: "s3cr3t"

.....

未完待续

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180519G00OMS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券