zoukankan      html  css  js  c++  java
  • 日志收集系统探究

    常用的日志收集系统有Syslog-ng,Scribe,Flume,当然还有ELK的LogStash.而目前互联网公司最长用的时Scribe和Flume,Scibe是Facebook开源的,但是现在已经不维护,所以不推荐使用。

    Scribe

    Scribe是Facebook开源的日志收集系统,在facebook内部已经得到大量的应用。Scribe是基于一个非阻断C++服务的实现。它能够从各种日志源上收集日志,存储到一个中阳存储系统。

    三个角色:

    • 日志服务器
      • 为了收集日志,每一台日志服务器上都会部署一个scribe客户端,它包含两个模块agent 和 local_server
      • Agent是以tail的方式读取本地目录下的日志文件,并将数据写到本地的Local_server
      • local_server通过zookeeper定位到Center_server
    • 中心服务器
      • 中心服务器作用就是把散落在各个机器的日志统一收集起来
      • Center_server和Local_server一样,只是配置不同,通过thrift进行通信
      • center_server收到数据后,根据配置将各个category的数据发向不同的方向,比如写到HDFS或者发到Kafka等
    • 存储服务器
      • 最终存储日志的地方
      • 供计算框架以及搜索引擎框架计算使用

    LogStash

    Logstash是ELK中的一个工具,在ELK中起到的作用是对日志进行收集、分析、过滤。

    上图所示,由三个组件组成:

    • 数据来源,支持较多输入源的插件
      • beats
      • file
      • http
      • jdbc
      • kafka
      • log4j
      • ...
    • 过滤器
      • json
      • csv
      • ...
    • 输出目的地
      • file
      • mongodb
      • rabbitmq
      • kafka

    Flume

    Flume是分布式的、可靠的、高性能、可扩展的的日志收集框架。

    Flume的Agent

    Agent由三部分组成:

    • Source: 数据源
    • Channel:包括两种fileChannel和Memorychannel
    • Sink:输出目的地

    三个角色:

    • 客户端日志收集层
      • 在每个客户端部署一个Agent进程,负责对单机的日志手机工作
    • 中心服务器
      • Collector层部署在中心服务器上,负责接收Agent层发送的日志,并且将日志根据路由规则写到响应的Store层
    • 存储层

    对比

    • Scribe:C++编写,现在已经不再维护,不推荐使用

    • Logstash: 针对日志收集,搜索,计算,可视化有一系列的产品,并且可使用的插件以及社区较为活跃推荐使用

    • Flume: Java编写,较为灵活,并且吞吐量高。业界已经验证过,建议使用。

    总结

    从上面可以看出日志收集框架基本都是三个组件:

    • Agent : 部署在各个应用服务器,来收集应用的日志

    • Collector: 日志收集中心,把分散在Agent的统一统一收集到日志中心

    • Storage: 存储层,日志收集之后的存储

    注:
    这里的日志收集框架只是最简单的,如果数据量过大,以及考虑数据收集的可靠。可以在中间添加kafka或者redis等中间件,保证可靠以及缓冲等作用。

  • 相关阅读:
    k8s学习笔记之五:Pod资源清单spec字段常用字段及含义
    k8s学习笔记之四:资源清单定义入门
    k8s学习笔记之三:k8s快速入门
    k8s学习笔记之一:kubernetes简介
    k8s学习笔记之二:使用kubeadm安装k8s集群
    centos7安装elasticsearch6.3.x集群并破解安装x-pack
    Centos6搭建sftp服务器
    底层互害模式,深契民心
    你不视我为子女,我凭什么视你为父母
    nodejs的桌面应用(electron)
  • 原文地址:https://www.cnblogs.com/beginmind/p/6058194.html
Copyright © 2011-2022 走看看