Filebeat 快速开始
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 快速开始的更多相关文章
- Filebeat快速入门
Filebeat快速入门 本笔记整理于https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html ...
- ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解
前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- Elastic FileBeat 快速入门
背景 用过ELK(Elasticsearch, Logstash, Kibana)的人应该都面临过同样的问题,Logstash虽然功能强大:支持许多的input/output plugin.强大的fi ...
- CentOS7下 简单安装和配置Elasticsearch Kibana Filebeat 快速搭建集群日志收集平台
目录 1.添加elasticsearch官网的yum源 2.Elasticsearch 安装elasticsearch 配置elasticsearch 启动elasticsearch并设为开机启动 3 ...
- ElasticSearch实战系列九: ELK日志系统介绍和安装
前言 本文主要介绍的是ELK日志系统入门和使用教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.新增了一 ...
- ElasticSearch实战系列十: ElasticSearch冷热分离架构
前言 本文主要介绍ElasticSearch冷热分离架构以及实现. 冷热分离架构介绍 冷热分离是目前ES非常火的一个架构,它充分的利用的集群机器的优劣来实现资源的调度分配.ES集群的索引写入及查询速度 ...
- ElasticSearch实战系列十一: ElasticSearch错误问题解决方案
前言 本文主要介绍ElasticSearch在使用过程中出现的各种问题解决思路和办法. ElasticSearch环境安装问题 1,max virtual memory areas vm.max_ma ...
- 快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)
快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana) 概要说明 需求场景,系统环境是CentOS,多个应用部署在多台服务器上,平时查看应用日志及排查问题十 ...
- ELK快速入门(四)filebeat替代logstash收集日志
ELK快速入门四-filebeat替代logstash收集日志 filebeat简介 Filebeat是轻量级单用途的日志收集工具,用于在没有安装java的服务器上专门收集日志,可以将日志转发到log ...
随机推荐
- echo -e 参数
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声: \b 删除前一个字符: \c 最后不加上换行符号: \f 换行但光标仍旧停留在原 ...
- vim使用案例
1. 请在 /tmp 这个目录下建立一个名为 vitest 的目录: 2. 进入 vitest 这个目录当中: 3. 将 /etc/man.config 复制到本目录底下(或由上述的连结下载 man. ...
- Go语言规格说明书 之 通道类型(Channel types)
go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 ...
- RzPageControl 关闭按钮
- django----对model查询扩展
基于对象关联查询 一对多查询(Book--Publish): 正向查询,按字段: (从关联的表中查询) book_obj.publish : 与这本书关联的出版社对象 book_obj.publish ...
- python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)
昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...
- python 全栈开发,Day26(hashlib文件一致性,configparser,logging,collections模块,deque,OrderedDict)
一.hashlib文件一致性校验 为何要进行文件一致性校验? 为了确保你得到的文件是正确的版本,而没有被注入病毒和木马程序.例如我们经常在网上下载软件,而这些软件已经被注入了一些广告和病毒等,如果不进 ...
- python 全栈开发,Day10(动态参数,命名空间,作用域,函数嵌套)
一.动态参数 def func(a,b,c,d,e,f,g): pass func(1,2,3,4,5,6,7) 如果加30个参数呢?有没有万能的参数,可以代表一切参数呢? *args 动态参数,万能 ...
- 一.hadoop入门须知
目录: 1.hadoop入门须知 2.hadoop环境搭建 3.hadoop mapreduce之WordCount例子 4.idea本地调试hadoop程序 5.hadoop 从mysql中读取数据 ...
- ERP出库审核业务(四十四)
结束表单流程的代码: protected void btnSubmit_Click(object sender, EventArgs e) { if(this.txtreceiveDate.Text! ...