码迷,mamicode.com
首页 > 其他好文 > 详细

Filebeat 快速开始

时间:2018-04-17 16:56:37      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:修改   input   express   tor   ice   sys   ext   web   ica   

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: 1
  compression: gzip
  max_message_bytes: 100000000 #单条日志大小不超过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 快速开始

标签:修改   input   express   tor   ice   sys   ext   web   ica   

原文地址:https://www.cnblogs.com/kerwinC/p/8866471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!