1、概述

filebeat使用go语言开发,轻量级、高效。主要由两个组件构成:prospector和harvesters。

Harvesters负责进行单个文件的内容收集,在运行过程中,每一个Harvester会对一个文件逐行进行内容读取,并且把读写到的内容发送到配置的output中。

Prospector负责管理Harvsters,并且找到所有需要进行读取的数据源。如果input type配置的是log类型,Prospector将会去配置度路径下查找所有能匹配上的文件,然后为每一个文件创建一个Harvster。

2、下载

https://www.elastic.co/cn/downloads/beats/filebeat

3、安装

解压即可,开包即用。方便升级推荐使用tar包。

参考官网:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html

4、配置文件

############################# input #########################################
filebeat.prospectors:
# 采集系统日志
- input_type: log
paths: /var/log/messages
paths: /var/log/cron
document_type: "messages" # 采集MySQL慢日志,这里用到了多行模式
- input_type: log
paths: /data/mysql/data/slow.log
document_type: mysql_slow_log
multiline:
pattern: "^# User@Host: "
negate: true
what: "previous"
charset: "ISO-8859-1"
match: after # 采集web日志
- input_type: log
paths: /data/wwwlogs/access_*.log
document_type: "web_access_log" # 规避数据热点的优化参数:
# 积累1024条消息才上报
spool_size: 1024
# 或者空闲5s上报
idle_timeout: "5s" #这里配置下name这个字段为本机IP,用于logstash里面将这个值赋给一些拿不到主机IP的数据,比如慢日志
name: 10.x.x.x ############################# Kafka #########################################
output.kafka:
# initial brokers for reading cluster metadata
hosts: ["x.x.x.1:9092","x.x.x.2:9092","x.x.x.3:9092"]
# message topic selection + partitioning
topic: '%{[type]}'
flush_interval: 1s
partition.round_robin:
reachable_only: false
required_acks: 1
compression: gzip
max_message_bytes: 1000000 ############################# Logging #########################################
logging.level: info
logging.to_files: true
logging.to_syslog: false
logging.files:
path: /data/filebeat/logs
name: filebeat.log
keepfiles: 7 5、output几种类型
本例使用的是kafka,还可以输出到logstash、redis、elsticsearch等
1)logstash
output.logstash:
  # The Logstash hosts
hosts: ["ip:5044"]

2)redis
参考:https://www.elastic.co/guide/en/beats/filebeat/current/redis-output.html
output.redis:
hosts: ["localhost"]
password: "my_password"
key: "filebeat"
db: 0
timeout: 5 3)elasticsearch
参考:https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html
output.elasticsearch:
hosts: ["http://localhost:9200"]
username: "admin"
password: "s3cr3t" 6、elasticsearch加载filebeat的模板
#curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-6.1.0 -d@/etc/filebeat/filebeat.template.json filebeat之docker日志json报错处理:
问题:
使用Filebeats针对docker日志进行收集,docker日志默认是JSON格式,日志每个开头都有 {"log:"的字样,所以我在filebeats中加入了 json.message_key: '{"log":"'。但是filebeats 日志会报错,输出  
ERR Error decoding JSON: invalid character 'J' looking for beginning of value  prospectors:
        -
          paths:
            - /var/log/containers/*.log
          document_type: kube-logs
          ignore_older: 24h
          symlinks: true
          json:
            keys_under_root: true
            add_error_key: true
            message_key: log

ELK之filebeat的更多相关文章

  1. ELK + Kafka + Filebeat

    ELK + Kafka + Filebeat学习 https://blog.csdn.net/qq_21383435/article/details/79463832 https://blog.csd ...

  2. 关于elk中filebeat定义好日志输出,但是redis里面却没有输出内容的问题

    这两天在搞elk的时候,filebeat中指定输出日志至Broker(此处Broker采用redis作为缓存),但是redis中却没有内容,所以就开始排查来 filebeat采用RPM安装的方式来的. ...

  3. 超烂的ELK之filebeat读取【已解决】

    搞了无数次的filebeat-->logstash今天栽了跟头 filebeat在读取如下文件的时候,openchgw.log 软连接speechgw.log.20170703183729文件 ...

  4. [elk]logstash&filebeat常用语句

    filebeat安装dashboard 参考: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-star ...

  5. Ubuntu 16.04安装Elasticsearch,Logstash和Kibana(ELK)Filebeat

    https://www.howtoing.com/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-16-04 ...

  6. ELK之filebeat收集多类型日志

    1.IP规划 10.0.0.33:filebeat+tomcat,filebeat收集系统日志.tomcat日志发送到logstash 10.0.0.32:logstash,将日志写入reids(in ...

  7. ELK整合Filebeat监控nginx日志

    ELK 日志分析 1. 为什么用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep. awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如 ...

  8. ELK+kafka+filebeat搭建生产ELFK集群

    文章原文 ELK 架构介绍 集群服务版本 服务 版本 java 1.8.0_221 elasticsearch 7.10.1 filebeat 7.10.1 kibana 7.10.1 logstas ...

  9. ELK 使用filebeat替代Logstash收集日志

    使用beats采集日志 之前也介绍过beats是ELK体系中新增的一个工具,它属于一个轻量的日志采集器,以上我们使用的日志采集工具是logstash,但是logstash占用的资源比较大,没有beat ...

  10. ELK之filebeat、logstash多个topic配置

    启动多个进程收集日志.直接output到kafka,output到不同的topiccat filebeat.ymlfilebeat.prospectors:- input_type: log path ...

随机推荐

  1. Codeforces821A Okabe and Future Gadget Laboratory 2017-06-28 14:55 80人阅读 评论(0) 收藏

    A. Okabe and Future Gadget Laboratory time limit per test 2 seconds memory limit per test 256 megaby ...

  2. iscroll 4 下拉 上拉 加载

    <!DOCTYPE html> iScroll demo: barebone body, ul, li{ padding:0; margin: 0; border:0; } body{ f ...

  3. java基础知识-原码,反码,补码

    1.正数:原码,反码,补码:都一样. 2.负数:和正数的储存方式不同,负数都是以补码形式存储的. <1>负数的补码 把负数的原码除了符号位取反后再+1. <2>负数的原码 把对 ...

  4. 方案dp。。

    最近经常做到组合计数的题目,每当看到这种题目第一反应总是组合数学,然后要用到排列组合公式,以及容斥原理之类的..然后想啊想,最后还是不会做.. 但是比赛完之后一看,竟然是dp..例如前几天的口号匹配求 ...

  5. 第一天:html+JavaScript函数

    testjstry1.html   知识点1:求多组数据的和 function demo(a,b){ var sum=a+b; return sum;}var v1=demo(20,10);var v ...

  6. MCU_数码管常用表

    共阴极数码管编码(0---F) unsigned char code table[]={ 0x3f,0x06,0x5d,0x4f, 0x66,0x6d,0x77,0x7c, 0x39,0x5e,0x7 ...

  7. Spring Security ——AuthenticationProvider

    AuthenticationProvider 目录 1.1     用户信息从数据库获取 1.1.1    使用jdbc-user-service获取 1.1.2    直接使用JdbcDaoImpl ...

  8. .NET MVC 学习笔记(二)— Bootstrap框架

    二..NET MVC 学习笔记(一)—— Bootstrap框架 在实际开发过程中,页面的样式问题是让人很头疼的问题,良好的用户界面可以大大提高用户体检,而在你没有前端开发人员的火力支援情况下,并不是 ...

  9. 动态产生select option列表

    在很久之前,Insus.NET刚学习前端时,有写过<动态创建一些常的html标签>http://www.cnblogs.com/insus/p/3741665.html 但其中没有实现动态 ...

  10. Android Parcelable using Kotlin

    Kotlin 有 extension 可以很方便的让类继承 Parcelable 接口. 项目中引入一个较新版本的 Kotlin 引入 Kotlin extensions classpath &quo ...