Filebeat可以做什么

条目
filebeat
编写语言 GO
是否支持多输出 支持
是否支持多输入 支持
是否支持修改日志内容 支持
是否会丢数据 不会
对多行文件的合并 支持
对多层目录的模糊匹配 支持
安装配置 简单
内存占用 10MB

filebeat安装

系统版本:Centos7.2

filebeat版本:5.5.1。

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.5.1-x86_64.rpm

安装命令

rpm -Uvh filebeat-5.5.1-x86_64.rpm

配置文件路径

/etc/filebeat/filebeat.yml

日志文件路径

/var/log/filebeat

注意 每次新启动都会生成一个新的filebeat,上次启动的会被mv为filebeat.1

启动命令

systemctl restart filebeat

配置文件模板

注意!文件格式为yml,对格式(缩进必须使用空格,注意不要遗漏“-”)有严格要求。

#=========================== Filebeat prospectors 文件探测器 =============================
filebeat.prospectors:  #文件探测器 - input_type: log  #探测类型,日志文件
paths: #路径
- /data/w/www/*/logs/request.log  #注意,通配符*的存在使得相同目录结构的工程日志都会被收集到。
#json.keys_under_root: true 若收取日志格式为json的log,请开启此配置
document_type: request #日志类型,也就是elastic索引的type,请见文章随后详细解释1
fields:
topic: log_common #增加fields.topic:"application_log"字段,用于kafka的多topic配置。 - input_type: log 
paths: 
- /data/w/www/*/logs/dubbo-access-consumer.log
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}' #对于多行的的日志处理,请见文章随后的详细解释2
multiline.negate: true
multiline.match: after
document_type: dubbo_consumer
topic: application_log   #----------------------------- kafka output --------------------------------
output.kafka:  #输出到kafka
hosts: ["kafka4.dp.data.cn1.wormpex.com:9092", "kafka5.dp.data.cn1.wormpex.com:9092", "kafka6.dp.data.cn1.wormpex.com:9092"] #kafka-broker地址
topic: '%{[fields.topic]}' #输出到哪个topic(就是日志探测哪里定义的fields.topic,利用变量自动发送到不同topic)
partition.round_robin:
reachable_only: false
required_acks:
compression: gzip
max_message_bytes: #单条日志大小不超过10MB(笔者公司日志出现过单条好几MB的情况。。。)
#----------------------------- Logstash output --------------------------------
#output.logstash:
# # The Logstash hosts
# hosts: ["logstash1.ops.sys.cn1.wormpex.com:5044"] #logstash需要开启input beta插件,启动监听5044端口

注解:

注解1:fields.topic

  定义了这种类型的日志将要发到哪个topic里面,在kafka配置中的topic作为变量使用。

注解2:multiline.pattern

  公司有java工程做web服务器的同学都知道,在我们生产中,java经常会在日志中打印堆栈信息,类似:

2018-04-17 15:12:25.185 IndexNotFoundException[no such index]
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver$WildcardExpressionResolver.resolve(IndexNameExpressionResolver.java:566)
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndices(IndexNameExpressionResolver.java:133)
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndices(IndexNameExpressionResolver.java:77)
at org.elasticsearch.action.admin.indices.delete.TransportDeleteIndexAction.checkBlock(TransportDeleteIndexAction.java:75)
若直接按行收集的话,在kibana里展示没有上下文,令人无法观看。
此配置的功能就是把堆栈信息合并到带有日期的开头的日志中,并作为一条发送出去,这样在kibana里展示就清晰可见了。 有问题请留言,谢谢大家。

Filebeat 快速开始的更多相关文章

  1. Filebeat快速入门

    Filebeat快速入门 本笔记整理于https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html ...

  2. ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解

    前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...

  3. Elastic FileBeat 快速入门

    背景 用过ELK(Elasticsearch, Logstash, Kibana)的人应该都面临过同样的问题,Logstash虽然功能强大:支持许多的input/output plugin.强大的fi ...

  4. CentOS7下 简单安装和配置Elasticsearch Kibana Filebeat 快速搭建集群日志收集平台

    目录 1.添加elasticsearch官网的yum源 2.Elasticsearch 安装elasticsearch 配置elasticsearch 启动elasticsearch并设为开机启动 3 ...

  5. ElasticSearch实战系列九: ELK日志系统介绍和安装

    前言 本文主要介绍的是ELK日志系统入门和使用教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.新增了一 ...

  6. ElasticSearch实战系列十: ElasticSearch冷热分离架构

    前言 本文主要介绍ElasticSearch冷热分离架构以及实现. 冷热分离架构介绍 冷热分离是目前ES非常火的一个架构,它充分的利用的集群机器的优劣来实现资源的调度分配.ES集群的索引写入及查询速度 ...

  7. ElasticSearch实战系列十一: ElasticSearch错误问题解决方案

    前言 本文主要介绍ElasticSearch在使用过程中出现的各种问题解决思路和办法. ElasticSearch环境安装问题 1,max virtual memory areas vm.max_ma ...

  8. 快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)

    快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana) 概要说明 需求场景,系统环境是CentOS,多个应用部署在多台服务器上,平时查看应用日志及排查问题十 ...

  9. ELK快速入门(四)filebeat替代logstash收集日志

    ELK快速入门四-filebeat替代logstash收集日志 filebeat简介 Filebeat是轻量级单用途的日志收集工具,用于在没有安装java的服务器上专门收集日志,可以将日志转发到log ...

随机推荐

  1. Vue.js——循环(Java、JSTL标签库、数据库)

    一.Vue.js循环 Vue.js循环要使用 v-for 指令. v-for 指令需要以 student in StudentList 形式的特殊语法使用, StudentList 是源数据数组并且s ...

  2. centos7.2环境中kettle环境搭建及任务推送配置详解

    目标:将mysql5.5中testdb1的ehr_user表推送到tdoa的ehr_user表中,为避免不必要的麻烦,两张表结构.编码,包括数据库编码保持一致 操作系统:centos7.2 kettl ...

  3. JS实现购物车01

    需求 使用JS实现购物车功能01 具体代码 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  4. ZOJ 3229 Shoot the Bullet(有源汇上下界最大流)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3442 题目大意: 一个屌丝给m个女神拍照,计划拍照n天,每一天屌丝给 ...

  5. SPOJ - MATSUM 二维树状数组单点更新

    忘记了单点更新时要在树状数组中减去原值..wa了一发 /* 矩形求和,单点更改 */ #include<iostream> #include<cstring> #include ...

  6. python+selenium二:定位方式

    # 八种单数定位方式:elementfrom selenium import webdriverimport time driver = webdriver.Firefox()time.sleep(2 ...

  7. python 全栈开发,Day67(Django简介)

    昨日内容回顾 1. socket创建服务器 2. http协议: 请求协议 请求首行 请求方式 url?a=1&b=2 协议 请求头 key:value 请求体 a=1&b=2(只有p ...

  8. python 全栈开发,Day45(html介绍和head标签,body标签中相关标签)

    一.html介绍 1.web标准 web准备介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准.表现标准.行为标准. 结构 ...

  9. bzoj3687

    3687: 简单题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 700  Solved: 319[Submit][Status][Discuss] ...

  10. Codeforces 739C Alyona and towers 线段树

    Alyona and towers 这个题写起来真的要人命... 我们发现一个区间被加上一个d的时候, 内部的结构是不变的, 改变的只是左端点右端点的值, 这样就能区间合并了. 如果用差分的话会简单一 ...