Filebeat读取日志推送kafka(docker-compose)

简介

Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),并将它们转发给Elasticsearch或Logstatsh进行索引、kafka等。带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。

  • 工作流程
    在这里插入图片描述
  1. 安装filebeat
mkdir filebeat/{
   etc,logs}
vim docker-compose-filebeat.yml
version: "3.3"
services:
  filebeat:
    image: filebeat:7.13.2
    container_name: filebeat
    #restart: always
    restart: unless-stopped
    user: root
    privileged: true
    volumes:
    - ./filebeat/etc/filebeat.yml:/usr/share/filebeat/filebeat.yml
    - ./filebeat/logs:/usr/share/filebeat/logs
    - /var/log/test:/logs    #映射本地需要收集的日志文件或目录
  1. 编辑配置文件
vim 
filebeat.inputs:
#文件类型
- type: log
  enabled: true
  tail_files: true          #从文件末尾开始读取
#文件位置
  paths:
    - /logs/mysql.log
  scan_frequency: 10s       #每十秒扫描一次,如果设置为0s,则Filebeat会尽可能快地感知更新(占用的CPU会变高)。默认是10s
  close_older: 1h           # 如果一个文件在某个时间段内没有发生过更新,则关闭监控的文件handle。默认1h
#自定义字段
  fields:
    level: notice
    appname: mysql
#日志多行合并
  multiline:
        # pattern for error log, if start with space or cause by 
    pattern: '^\\d{4}/\\d{2}/\\d{2}'    #希望匹配到的结果(正则表达式)
    negate:  true       #值为 true 或 false。使用 false 代表匹配到的行合并到上一行;使用 true 代表不匹配的行合并到上一行
    match:   after      #值为 after 或 before。after 代表合并到上一行的末尾;before 代表合并到下一行的开头
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值