FileBeat 安装与配置

1. 简介

Filebeat 是使用 Golang 实现的轻量型日志采集器。本质上是一个 agent ,可以安装在各个节点上,根据配置读取对应位置的日志,并上报到相应的地方去。

2. 下载

下载地址:Past Releases of Elastic Stack Software | Elastic

建议下载和 ElasticSearch 版本号一样的版本,我自己的 ElasticSearch 是 7.6.2 版本的,这里我也下载 FileBeat-7.6.2 版本的。并将安装包上传到 linux 的 /home/software/ 下。然后按照如下方式安装:

cd /home/software
tar -zxvf filebeat-7.6.2-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local
mv filebeat-7.6.2-linux-x86_64/ filebeat-7.6.2

3. 配置

配置 Filebeat

vim /usr/local/filebeat-7.6.2/filebeat.yml

我这里使用 filebeat 去抓取 log4j2 的日志文件,然后将数据发送给 kafka,所以配置如下:

###################### Filebeat Configuration Example #########################
filebeat.inputs:

- input_type: log

  paths:
    ## 定义了日志文件路径,可以采用模糊匹配模式,如*.log
    - /workspaces/logs/logCollector/app-collector.log
  #定义写入 ES 时的 _type 值
  document_type: "app-log"
  multiline:
    #pattern: '^\s*(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})'   # 指定匹配的表达式(匹配以 2017-11-15 08:04:23:889 时间格式开头的字符串)
    pattern: '^\['                              # 指定匹配的表达式(匹配以 [ 开头的字符串)
    negate: true                                # 是否需要匹配到
    match: after                                # 不匹配的行,合并到上一行的末尾
    max_lines: 2000                             # 最大的行数
    timeout: 2s                                 # 如果在规定时间没有新的日志事件就不等待后面的日志
  fields: ## topic 对应的消息字段或自定义增加的字段
    logbiz: collector
    logtopic: app-log-collector   ## 按服务划分用作kafka topic,会在logstash filter 过滤数据时候作为 判断参数 [fields][logtopic]
    evn: dev

- input_type: log

  paths:
    ## 定义了日志文件路径,可以采用模糊匹配模式,如*.log
    - /workspaces/logs/logCollector/error-collector.log
  #定义写入 ES 时的 _type 值
  document_type: "error-log"
  multiline:
    #pattern: '^\s*(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})'   # 指定匹配的表达式(匹配以 2017-11-15 08:04:23:889 时间格式开头的字符串)
    pattern: '^\['                              # 指定匹配的表达式(匹配以 [ 开头的字符串)
    negate: true                                # 是否匹配到
    match: after                                # 不匹配的行,合并到上一行的末尾
    max_lines: 2000                             # 最大的行数
    timeout: 2s                                 # 如果在规定时间没有新的日志事件就不等待后面的日志,直接进行推送操作
  fields: ## topic 对应的消息字段或自定义增加的字段
    logbiz: collector
    logtopic: error-log-collector   ## 按服务划分用作kafka topic
    evn: dev

output.kafka: ## filebeat 支持多种输出,支持向 kafka,logstash,elasticsearch 输出数据,此处设置数据输出到 kafka。
  enabled: true ## 启动这个模块
  hosts: ["192.168.31.101:9092"] ## 地址
  topic: '%{[fields.logtopic]}'  ## 主题(使用动态变量)
  partition.hash:  ## kafka 分区 hash 规则
    reachable_only: true
  compression: gzip  ## 数据压缩
  max_message_bytes: 1000000  ## 最大容量
  required_acks: 1  ## 是否需要 ack,有三个值可以取:0、1、-1
logging.to_files: true

进入到 FileBeat 安装目录下,可以使用如下命令进行启动:

## 检查配置是否正确
./filebeat -c filebeat.yml test config

# 启动filebeat:
/usr/local/filebeat-7.6.2/filebeat &

#查看是否启动成功
ps -ef | grep filebeat

## 停止
ps -ef | grep filebeat |awk '{print $2}'|xargs kill

由于要用到 kafka, 所以需要先启动 kafka。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值