首页 > 代码库 > elastic stack 基础组件beats详解

elastic stack 基础组件beats详解

elastic stack 基础组件beats详解


fielbeat

filebeat:
spool_size: 1024              # 最大可以攒够 1024 条数据一起发送出去
idle_timeout: "5s"             # 否则每5 秒钟也得发送一次
registry_file: ".filebeat"         # 文件读取位置记录文件,会放在当前工作目录下。所以如果你换一个工作目录执行 filebeat
会导致重复传输!
config_dir: "path/to/configs/contains/many/yaml" # 如果配置过长,可以通过目录加载方式拆分配置
prospectors:                 # 有相同配置参数的可以归类为一个 prospector
-
fields:
ownfield: "mac"               # 类似logstash 的 add_fields
paths:
- /var/log/system.log                      # 指明读取文件的位置
- /var/log/wifi.log
include_lines: ["^ERR", "^WARN"]          # 只发送包含这些字样的日志
exclude_lines: ["^OK"]                     # 不发送包含这些字样的日志
document_type: "apache"                    # 定义写入ES时的_type值
ignore_older: "24h"                        # 超过 24小时没更新内容的文件不再监听_files,只要文件名一变化立刻关闭文件句柄,保证文件可以被删除,缺陷是可能会有日志还没读完
scan_frequency: "10s"                      # 每 10秒钟扫描一次目录,更新通配符匹配上的文件列表
tail_files: false                          # 是否从文件末尾开始读取
harvester_buffer_size: 16384               # 实际读取文件时,每次读取 16384 字节
backoff: "1s"                              #  每1秒检测一次文件是否有新的一行内容需要读取
paths:
- "/var/log/apache/*"                      # 可以使用通配符
exclude_files: ["/var/log/apache/error.log"]
-
input_type: "stdin"                        # 除了"log",还有 "stdin"
multiline:                                 # 多行合并
pattern: ‘^[[:space:]]‘
negate: false
match: after

Filebeat 发送的日志,会包含以下字段:

  • beat.hostname beat 运行的主机名

  • beat.name shipper 配置段设置的 name ,如果没设置,等于

  • beat.hostname

  • @timestamp 读取到该行内容的时间

  • type 通过 document_type 设定的内容

  • input_type 来自 "log" 还是 "stdin"

  • source 具体的文件名全路径

  • offset 该行日志的起始偏移量

  • message 日志内容

  • fields 添加的其他固定字段都存在这个对象里面


packetbeat

本文出自 “浅浅的淡淡” 博客,请务必保留此出处http://cuixiang.blog.51cto.com/8204722/1926558

elastic stack 基础组件beats详解