设为首页 收藏本站
查看: 1296|回复: 0

[经验分享] 统一日志ELK部署配置(1)——filebeat

[复制链接]

尚未签到

发表于 2019-1-28 10:54:35 | 显示全部楼层 |阅读模式
  一、整体架构

  二、filebeat介绍
fielbeat是基于logstash-forwarder的源码改造而来,换句话说:filebeat就是最新版的logstash-forwarder。他负责从当前服务器获取日志然后转发给Logstash或Elasticserach进行处理。
Filebeat是一个日志文件托运工具,做为一个agent安装到服务器上,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。
Filebeat包含两个主要的组件,prospectors(探测器)和harvesters(收割机)。
prospectors负责管理所有的harvesters,和发现所有的需要读取的日志源。
如果输入源是log(日志),prospectors根据配置路径,查找驱动器上的所有匹配的日志文件,并为每个文件启动一个收割机。
harvesters负责一行一行地读取日志文件,并将内容发送到指定的输出。
Filebeat目前支持两种prospector类型,log和stdin,每种类型都可以被定义多次。
  三、filebeat特点
1、部署简单:二进制包,无其他依赖,直接下周使用;
2、配置简单:基于YAML,配置简单,格式明了;
3、轻量级:定位于docker和虚拟机的日志收集,运行占用资源在10M左右;单核CPU的消耗;
4、性能高:性能比logstash高很多;
5、记录收集位置:能记录收集的内容位置,重启后能基于在原基础上收集;
6、支持多行合并:保证java异常堆栈记录的完整性;
7、不支持事务;
8、功能单一:基于文件内容采集;能写入kafka、redis、es,但是不支持从其读;
  四、filebeat安装
下载安装非常的简单:
1、rpm -vi filebeat-5.6.4-x86_64.rpm
2、下载tar包,tar -zxvf filebeat-5.6.4-x86_64.tar.gz
然后通过./filebeat -c filebeat.yml 命令启动
  五、filebeat配置
#=========================== Filebeat prospectors =============================
  filebeat.prospectors:


  •   input_type: log
    paths:

    • '/mnt/iss/service/order/nlogs/.log'   #==监听日志文件全路径  全部监听用,否则直接写具体文件名,也可模糊匹配。多个目录时增加一行配置即可
      encoding: utf-8        #==编码格式
    exclude_files: [".gz$ | .gc."]   #==排除监听的文件
      fields:
    serverName: 'user-service-006'         ##==额外添加的字段,用于区分服务器名称
    type: service-log                                 ##==多种服务日志时的区分字段
    fields_under_root: true                         ##==是否直接添加这些字段到日志内容中
    scan_frequency: 3s                              ##==扫描文件的频率
    #===== Multiline options
    multiline:                                               ##==多行日志的合并配置,用于异常堆栈内容时的处理
    pattern: '^{"date":'
    negate: true
    match: after
    timeout: 2s
    backoff: 1s
    max_backoff: 3s
      close_renamed: false              ##文件重命名后是否停止监听
    close_removed: true               ##文件被删除后是否停止监听
    tail_files: true                           ## 是否从文件末尾读取(启动时)
    enabled: true      
    filebeat.spool_size: 2048        ## 事件发送的阀值,超过阀值,强制刷新网络连接
    filebeat.idle_timeout: 2s         ## 事件发送的超时时间,即使没有超过阀值,也会强制刷新网络连接
      ignore_older: 24h                   ##日志文件监听超时时间阀值
    #================================ Outputs =====================================


  #-------------------------- kafka output ------------------------------
output.kafka:
#== initial brokers for reading cluster metadata
hosts: ["kafka1:9092", "kafka2:9092", "kafka3:9092"]
  #== message topic selection + partitioning
topic: 'elk-service-log'
partition.round_robin:
reachable_only: false

required_acks: 1
compressmax_message_bytes: 1000000
compression: snappy
timeout: 5m
keep_alive: 30s
  logging.level: info




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668618-1-1.html 上篇帖子: ELK 日志分析系统详解 下篇帖子: ELK日志系统:Filebeat使用及Kibana如何设置登录认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表