• ELK——Filebeat介绍及部署


    一、Filebeat介绍

    Filebeat是一种轻量型,开源的日志采集工具,安装于客户端中来收集指定的日志目录,将收集的日志发送到logstash、es、redis、kafka中,来代替logstash的数据采集方案,logstash在运行过程中相当耗费服务器资源,就算没有在收集日志一样会对CPU,内存造成一个相当高的损耗。

    二、Filebeat工作流程

    Prospector(6.3版本以后替换成了inputs)是filebeat的检测进程,用来检测指定的文件。

    Harvester是filebeat的读取进程,用来读取日志文件的内容。

    Spooler是filebeat的数据处理程序,它会进行一个日志数据的处理,然后集合这些最新的数据,最后发送至logstash、es、redis、kafka中。

    三、Filebeat安装

    1. 从官网下载相应安装包
      wget   https://www.elastic.co/downloads/beats/filebea 

    2. 将安装包解压至相应目录(下面是6.3.2版本)
      tar  xf  filebeat-6.3.2-linux-x86_64.tar.gz  -C   /usr/local

    3. 重写配置文件(详细见四、Filebeat配置文件详解)

    4. 测试filebeat启动
      cd /usr/local/filebeat6.3.2
      ./filebeat -e -c filebeat.yml -d "Publish"

    5. 转入后台启动
      ./filebeat -e -c filebeat.yml -d "Publish"  > /dev/null 2>&1 &

    四、Filebeat配置文件详解

    Inputs采集日志(Prospector在6.3版本中替换成了inputs,这里我们用6.3版本配置文件)

    1. 编辑filebeat的yml文件:
    filebeat.inputs:
      - type: log      #指定收集类型
        paths:         #指定路径如下
          - /var/log/*.log
          include_files: [‘[ERROR]’]    #使用正则匹配需要的数据
        fields:      
          type:     #添加一个字段,用于区分不同的日志,方便logstash进行匹配
          fields_under_root: true  #添加此字段会使上面的字段与其他字段同级,使logstash方便拿到对应的数据。
          multiline:              #多行匹配
          pattern: ’^[ERROR]’      #使用正则进行匹配
          negate: true             #不是以上面正则匹配的默认合并上一行
          match: after               #合并到上一行的末尾
    #Output输出日志(输出至logstash中)
    output.logstash:
      hosts: [“192.168.1.131:5044”]       

    五、以下使用redis做演示修改配置文件

    filebeat.yml配置文件,整理后格式:

    filebeat.inputs:
      - type: log
        paths:
          - /logs/*/error/error.log
        tags: ["test"]    #项目名
       #exclude_lines: ['^DBG']
       #include_lines: ['^[ERROR]']
        fields:
            host_name: 192.168.1.130
          document_type: "test"  #平台名
         fields_under_root: true
         multiline:
           pattern: '^[ERROR]'
           negate: true
           match: after
    output.redis:
            hosts: ["192.168.1.131:6379"]
            password: "密码"
            key: "filebeat"
            db: 0
            datatype: list
  • 相关阅读:
    ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
    ASP.NET Core 中文文档 第四章 MVC(3.1)视图概述
    ASP.NET Core 中文文档 第四章 MVC(2.3)格式化响应数据
    ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证
    ASP.NET Core 中文文档 第四章 MVC(2.1)模型绑定
    ASP.NET Core 中文文档 第四章 MVC(01)ASP.NET Core MVC 概览
    mysql 解除正在死锁的状态
    基于原生JS的jsonp方法的实现
    HTML 如何显示英文单、双引号
    win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)
  • 原文地址:https://www.cnblogs.com/Huang-Niu/p/9994655.html
Copyright © 2020-2023  润新知