Filebeat Prospector

filebeat.prospectors:
- input_type: log
paths:
- /var/log/apache/httpd-*.log
document_type: apache - input_type: log
paths:
- /var/log/messages
- /var/log/*.log

Filebeat Options

input_type: log|stdin

  • 指定输入类型

paths

  • 支持基本的正则,所有golang glob都支持,支持/var/log/*/*.log

encoding

  • plain, latin1, utf-8, utf-16be-bom, utf-16be, utf-16le, big5, gb18030, gbk, hz-gb-2312,
  • euc-kr, euc-jp, iso-2022-jp, shift-jis, and so on

exclude_lines

  • 支持正则 排除匹配的行,如果有多行,合并成一个单一行来进行过滤

include_lines

  • 支持正则 include_lines执行完毕之后会执行exclude_lines。

exclude_files

  • 支持正则 排除匹配的文件
  • exclude_files: ['.gz$']

tags

  • 列表中添加标签,用过过滤

    filebeat.prospectors:
    - paths: ["/var/log/app/*.json"]
    tags: ["json"]

fields

  • 可选字段,选择额外的字段进行输出
  • 可以是标量值,元组,字典等嵌套类型
  • 默认在sub-dictionary 位置

    filebeat.prospectors:
    - paths: ["/var/log/app/*.log"]
    fields:
    app_id: query_engine_12

fields_under_root

  • 如果值为ture,那么fields存储在输出文档的顶级位置
  • 如果与filebeat中字段冲突,自定义字段会覆盖其他字段

    fields_under_root: true
    fields:
    instance_id: i-10a64379
    region: us-east-1

ignore_older

  • 可以指定Filebeat忽略指定时间段以外修改的日志内容
  • 文件被忽略之前,确保文件不在被读取,必须设置ignore older时间范围大于close_inactive
  • 如果一个文件正在读取时候被设置忽略,它会取得到close_inactive后关闭文件,然后文件被忽略

close_*

close_ *配置选项用于在特定标准或时间之后关闭harvester。 关闭harvester意味着关闭文件处理程序。 如果在harvester关闭后文件被更新,则在scan_frequency过后,文件将被重新拾取。 但是,如果在harvester关闭时移动或删除文件,Filebeat将无法再次接收文件,并且harvester未读取的任何数据都将丢失。

close_inactive

  • 启动选项时,如果在制定时间没有被读取,将关闭文件句柄
  • 读取的最后一条日志定义为下一次读取的起始点,而不是基于文件的修改时间
  • 如果关闭的文件发生变化,一个新的harverster将在scan_frequency运行后被启动
  • 建议至少设置一个大于读取日志频率的值,配置多个prospector来实现针对不同更新速度的日志文件
  • 使用内部时间戳机制,来反映记录日志的读取,每次读取到最后一行日志时开始倒计时
  • 使用2h 5m 来表示

close_rename

  • 当选项启动,如果文件被重命名和移动,filebeat关闭文件的处理读取

close_removed

  • 当选项启动,文件被删除时,filebeat关闭文件的处理读取
  • 这个选项启动后,必须启动clean_removed

close_eof

  • 适合只写一次日志的文件,然后filebeat关闭文件的处理读取

close_timeout

  • 当选项启动时,filebeat会给每个harvester设置预定义时间,不管这个文件是否被读取,达到设定时间后,将被关闭
  • close_timeout 不能等于ignore_older,会导致文件更新时,不会被读取
  • 如果output一直没有输出日志事件,这个timeout是不会被启动的,至少要要有一个事件发送,然后haverter将被关闭
  • 设置0 表示不启动

clean_inactived

  • 从注册表文件中删除先前收获的文件的状态
  • 设置必须大于ignore_older+scan_frequency,以确保在文件仍在收集时没有删除任何状态
  • 配置选项有助于减小注册表文件的大小,特别是如果每天都生成大量的新文件
  • 此配置选项也可用于防止在Linux上重用inode的Filebeat问题

clean_removed

  • 启动选项后,如果文件在磁盘上找不到,将从注册表中清除filebeat
  • 如果关闭close removed 必须关闭clean removed

scan_frequency

  • prospector检查指定用于收获的路径中的新文件的频率,默认10s

document_type

  • 类型事件,被用于设置输出文档的type字段,默认是log

harvester_buffer_size

  • 每次harvester读取文件缓冲字节数,默认是16384

max_bytes

  • 对于多行日志信息,很有用,最大字节数

json

这些选项使Filebeat解码日志结构化为JSON消息
逐行进行解码json

  • keys_under_root

    • 设置key为输出文档的顶级目录
  • overwrite_keys
    • 覆盖其他字段
  • add_error_key
    • 定一个json_error
  • message_key
    • 指定json 关键建作为过滤和多行设置,与之关联的值必须是string

multiline

控制filebeat如何处理跨多行日志的选项,多行日志通常发生在java堆栈中

multiline.pattern: '^\['
multiline.negate: true
multiline.match: after

上面匹配是将多行日志所有不是以[符号开头的行合并成一行它可以将下面的多行日志进行合并成一行

[beat-logstash-some-name-832-2015.11.28] IndexNotFoundException[no such index]
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver$WildcardExpressionResolver.resolve(IndexNameExpressionResolver.java:566)
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndices(IndexNameExpressionResolver.java:133)
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndices(IndexNameExpressionResolver.java:77)
at org.elasticsearch.action.admin.indices.delete.TransportDeleteIndexAction.checkBlock(TransportDeleteIndexAction.java:75)

multiline.pattern

  • 指定匹配的正则表达式,filebeat支持的regexp模式与logstash支持的模式有所不同
    pattern regexp

multiline.negate

  • 定义上面的模式匹配条件的动作是 否定的,默认是false
  • 假如模式匹配条件'^b',默认是false模式,表示讲按照模式匹配进行匹配 将不是以b开头的日志行进行合并
  • 如果是true,表示将不以b开头的日志行进行合并

multiline.match

  • 指定Filebeat如何将匹配行组合成事件,在之前或者之后,取决于上面所指定的negate

multiline.max_lines

  • 可以组合成一个事件的最大行数,超过将丢弃,默认500

multiline.timeout

  • 定义超时时间,如果开始一个新的事件在超时时间内没有发现匹配,也将发送日志,默认是5s

tail_files

  • 如果此选项设置为true,Filebeat将在每个文件的末尾开始读取新文件,而不是开头
  • 此选项适用于Filebeat尚未处理的文件

symlinks

  • 符号链接选项允许Filebeat除常规文件外,可以收集符号链接。收集符号链接时,即使报告了符号链接的路径,Filebeat也会打开并读取原始文件。

backoff

  • backoff选项指定Filebeat如何积极地抓取新文件进行更新。默认1s
  • backoff选项定义Filebeat在达到EOF之后再次检查文件之间等待的时间。

max_backoff

  • 在达到EOF之后再次检查文件之前Filebeat等待的最长时间

backoff_factor

  • 指定backoff尝试等待时间几次,默认是2

harvester_limit

  • harvester_limit选项限制一个prospector并行启动的harvester数量,直接影响文件打开数

enabled

  • 控制prospector的启动和关闭

filebeat global

spool_size

    • 事件发送的阀值,超过阀值,强制刷新网络连接

      filebeat.spool_size: 2048

publish_async

  • 异步发送事件,实验性功能

idle_timeout

  • 事件发送的超时时间,即使没有超过阀值,也会强制刷新网络连接

    filebeat.idle_timeout: 5s

registry_file

  • 注册表文件的名称,如果使用相对路径,则被认为是相对于数据路径
  • 有关详细信息,请参阅目录布局部分 默认值为${path.data}/registry

    filebeat.registry_file: registry

config_dir

  • 包含额外的prospector配置文件的目录的完整路径
  • 每个配置文件必须以.yml结尾
  • 每个配置文件也必须指定完整的Filebeat配置层次结构,即使只处理文件的prospector部分。
  • 所有全局选项(如spool_size)将被忽略
  • 必须是绝对路径

filebeat.config_dir: path/to/configs

shutdown_timeout

  • Filebeat等待发布者在Filebeat关闭之前完成发送事件的时间。

Filebeat General

name

  • 设置名字,如果配置为空,则用该服务器的主机名

      name: "my-shipper"

queue_size

  • 单个事件内部队列的长度 默认1000

bulk_queue_size

  • 批量事件内部队列的长度

max_procs

  • 设置最大使用cpu数量

geoip.paths

  • 此配置选项目前仅由Packetbeat使用,它将在6.0版中删除
  • 要使GeoIP支持功能正常,GeoLite City数据库是必需的。

      geoip:
    paths:
    - "/usr/share/GeoIP/GeoLiteCity.dat"
    - "/usr/local/var/GeoIP/GeoLiteCity.dat"

Filebeat reload

属于测试功能

path

  • 定义要检查的配置路径

reload.enabled

  • 设置为true时,启用动态配置重新加载。

reload.period

  • 定义要检查的间隔时间
filebeat.config.prospectors:
path: configs/*.yml
reload.enabled: true
reload.period: 10s
原文地址http://www.jianshu.com/p/9b0a0a055a88?hmsr=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.com

filebeat配置介绍的更多相关文章

  1. 日志收集之filebeat使用介绍

    此系列文章一共分为三部分,分为filebeat部分,logstash部分,es部分.这里会按照每天几百亿条的数据量来考虑,去设计.部署.优化这个日志系统,来最大限度的利用资源,并达到一个最优的性能.本 ...

  2. 什么是blob,mysql blob大小配置介绍

    什么是blob,mysql blob大小配置介绍 作者: 字体:[增加 减小] 类型:转载   BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器.在计 ...

  3. ecshop 工作流程加载配置介绍

    ecshop 工作流程加载配置介绍 分类: ecshop2014-09-14 09:36 729人阅读 评论(2) 收藏 举报 模板引擎工作流 这里简单介绍下echsop工作流程: 首先,你会发现一般 ...

  4. Window VNC远程控制LINUX:VNC详细配置介绍

    Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...

  5. ASP.NET Core 运行原理解剖[2]:Hosting补充之配置介绍

    在上一章中,我们介绍了 ASP.NET Core 的启动过程,主要是对 WebHost 源码的探索.而本文则是对上文的一个补充,更加偏向于实战,详细的介绍一下我们在实际开发中需要对 Hosting 做 ...

  6. ELK 架构之 Logstash 和 Filebeat 配置使用(采集过滤)

    相关文章: ELK 架构之 Elasticsearch 和 Kibana 安装配置 ELK 架构之 Logstash 和 Filebeat 安装配置 ELK 使用步骤:Spring Boot 日志输出 ...

  7. Filebeat配置参考手册

    Filebeat的配置参考 指定要运行的模块 前提: 在运行Filebeat模块之前,需要安装并配置Elastic堆栈: 安装Ingest Node GeoIP和User Agent插件.这些插件需要 ...

  8. prometheus 配置介绍

    prometheus 配置介绍 prometheus 配置分global.alerting.rule_files.scrape_configs 1.global(全局配置) scrape_interv ...

  9. Centos 7 磁盘阵列配置介绍(RAID)

    转自:https://blog.51cto.com/gaowenlong/2086918 Centos 7 磁盘阵列配置介绍每当我们提到磁盘阵列,相信广大管理员并不陌生,比如我们一般安装服务器系统的时 ...

随机推荐

  1. 通过创建脚本代替"scrapy crawl Test"命令

    文件结构: 1.在命令行scrapy crawl Test正常运行的条件下在项目的根目录创建start.py文件(注意目录,同scrapy.cfg文件一个目录): start.py源代码: # -*- ...

  2. ssh访问跳过RSA key"yes/no"验证

    通常我们再批量配置多台机器的时候经常出现通过ssh批量登录机器提示 RSA key fingerprint is ::a6:b1:c9:d7:b8::c1:::8e:f5::2b:8b. Are yo ...

  3. event.preventDefault(); Please enter your name using lowercase letters only.

    w 可以用于移动实际项目. 输入 android qq输入法 输入第一个字符“中”后 w PC 点击enter键13 空格键32 w 没有阻挡中午输入. CODE <!DOCTYPE html& ...

  4. python生成百分数

    >>> a = float(5.69875) >>> b = float(8.49385) >>> print a/b 0.67092661160 ...

  5. js浏览器调试

    JS调试 sources界面(主要用来控制执行) 打断点,右上角四个按钮分别是:跳到下一个断点,单步调试,跳入,跳出. 鼠标悬浮在变量上可以查看变量的属性: console界面(主要用于查看输出) 主 ...

  6. Json反序列化Map的key不能是Object

    使用json作为数据传输格式,碰到一个问题.我希望传输的是一个Map<Target, TargetInfo>其中Target是一个对象,作为map的一个key public class T ...

  7. python 作用域知识点整理

    1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? 1 2 3 4 5 6 7 8 9 10 11 12 #块级作用域   if 1 == 1:     name = "lzl ...

  8. DRF(1) - REST、DRF(View源码解读、APIView源码解读)

    一.REST 1.什么是编程? 数据结构和算法的结合. 2.什么是REST? 首先回顾我们曾经做过的图书管理系统,我们是这样设计url的,如下: /books/ /get_all_books/ 访问所 ...

  9. What are the top 10 things that we should be informed about in life

    1.Realize that nobody cares, and if they do, you shouldn't care that they care. Got a new car? Nobod ...

  10. (2.2)学习笔记之mysql基础操作(登录及账户权限设置)

    本系列学习笔记主要讲如下几个方面: 本文笔记[三:mysql登录][四:账户权限设置][五:mysql数据库安全配置] 三.mysql登录 常用登录方式如下: 四.账户权限设置 (4.1)查看用户表, ...