ELK-filebeat 配置 input (三)
目录
警告
本文最后更新于 2021-03-20 20:51,文中内容可能已过时。
input 即配置从哪里获取日志
一、input 配置格式
|
|
可以同时配置多个 input 类型,方便学习可以在配置文件中添加
logging.level: debug
一个事件的 json 数据
|
|
二、input 类型可以是如下内容
- Log
- Stdin
- Redis
- UDP
- Docker
- TCP
- Syslog
- NetFlow
三、不同 input 类型的配置
公共选项
所有 input 均支持以下配置选项。
- enable: 启用或禁用一个 input。true or false
- tags: Filebeat 包含在每个已发布事件的标签字段中的标签列表。使用 tag 可以轻松地在 Kibana 中选择特定事件或在 Logstash 中应用条件过滤。这些 tag 会被附加到 tags 字段中
- fields: 自定义字段,配置如下
|
|
- fields_under_root: 如果为 true,自定义字段将会被放置顶层。默认是在 fields 下
- processors: 定义处理器,以便在事件发送到 output 之前对其进行处理
- pipeline: 管道由多个处理器和一个队列组成。为该 input 事件生成管道 ID
1. log
1.1 配置示例
|
|
1.2 配置选项
paths: 数组类型。配置日志文件路径。可以使用
/log/*.log
,/log/*/*.log
recursive_glob.enabled: 默认启用。支持路径深度扩展写法。比如
/log/**/*.log
,可以代表/log/*/*.log
,/log/*/*/*.log
,/log/*/*/*/*.log
,/log/*/*/*/*/*.log
… 最多能代表 8 级。encoding: 日志文件编码格式。plain, latin1, utf-8, big5, gbk 等等
exclude_lines: 排除日志文件中的某些行。支持正则。
|
|
- include_lines: 只保留日志中的某些行。支持正则,写法同上。include 比 exclude 先执行。
- tail_files: 如果此选项设置为 true,Filebeat 将在每个文件的末尾而不是开头开始读取新文件。如果将此选项与日志轮换结合使用,则可能会跳过新文件中的第一个日志条目。默认设置为 false.
- 此选项适用于 Filebeat 尚未处理过的文件。如果您以前运行了 Filebeat,并且文件的状态已经持久化,那么将不适用 tail_files。harvester 将在最后记录的偏移处继续进行。要将 tail_files 应用于所有文件,必须停止 Filebeat 并删除注册表文件。请注意,这样做会删除所有以前的状态。注册表文件路径:/var/lib/filebeat/registry
- harvester_buffer_size: 每个 harvester 读取文件时,使用的缓冲区大小。默认是 16384 (字节)。
- max_bytes: 一条日志的最大字节数。大于此大小的日志会被丢弃。此设置对于多行日志很有用,因为多行日志可能会变大。默认值是 10MB (10485760)。
- json: 将日志的每一行作为 json 来解析。json 解码发生在过滤行和多行配置之间,下面是配置示例
|
|
- multiline: 控制 Filebeat 如何处理跨多行日志消息的选项。有关配置多行选项的详细信息,请参阅管理多行消息。https://www.elastic.co/guide/en/beats/filebeat/6.8/multiline-examples.html
- exclude_files: 不收集指定的日志文件,支持正则。例如:exclude_files: [’.gz$']
- ignore_older: 如果启用此选项,则 Filebeat 将忽略在指定的 时间跨度 之前修改的任何文件。可以使用 2h 和 5m 这样的配置。 比如我设置 2m,再我启动 filebeat 的时候,只会收集 2 分钟以内被修改过的文件,2 分钟之前的不会管。ignore_older 必须比 close_inactive 更大。
- close_inactive: 当启用此选项时,如果在指定的持续时间内没有收集到日志,则 Filebeat 将关闭文件句柄。
- close_*: 这个选项用于在特定条件或时间过后关闭 harvester。关闭 harvester 意味着关闭文件处理程序。如果在关闭 harvester 之后更新文件,则在 scan_frequency 过去之后将再次拾取该文件。但是,如果在 harvester 关闭时移动或删除文件,Filebeat 将无法再次拾取该文件,并且 harvester 尚未读取的任何数据都将丢失。
- scan_frequency: Filebeat 多久检查一次收集的路径中的新日志文件。例如,如果您指定 /var/log/*.log,则使用 scan_frequency 指定的频率在目录中扫描文件。不建议将此值设置为 < 1s。
请我喝杯水

