Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用。 Scribe是基于一个使用非阻断C++服务器的thrift服务的实现。它能够从各种日志源上收集日志,存储到一个中央存储系统 (可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。

一、Scribe的系统架构

如上图所示:Scribe从各种数据源上收集数据,放到一个共享队列上,然后push到后端的中央存储系统上。当中央存储系统出现故障时,scribe可以暂时把日志写到本地文件中,待中央存储系统恢复性能后,scribe把本地日志续传到中央存储系统上。

二、Scribe的技术架构

如上图所示:Scribe服务器底层数据通信框架是Thrift,Thrift也是Facebook开源的,并得到了广泛的使用。也用到了C++的准标准库boost,主要使用共享指针和文件相关的功能。Thrift也用到了libevent开发库和socket编程技术。

三、Scribe部署结构

这是最简单的Scribe部署结构,根据具体的应用环境,可以实现分层结构,比较常见的是2层结构,也就是Scribe1和Scribe2,日志首先传输到Scribe1,然后再次提交到Scribe2,此外,Scribe2可以有多台构成,这种构架可以实现灵活部署以及热备功能。

四、Scribe的主要功能

1.支持多种存储类型:7种并且可扩展

2.日志自动切分功能:按文件大小和时间切分

3.灵活的客户端:

(1)支持多种常用语言(Thrift提供支持);

(2)可与应用系统集成;可以作实现独立客户端

4.支持日志分类功能(Facebook有上百种日志分类)

5.其他功能

(1)连接池

(2)灵活的日志缓存大小

(3)多线程功能(消息队列)

(4)scribe服务器之间可以转发日志

分布式日志收集系统scribe介绍相关推荐

  1. python分布式日志收集系统_分布式日志收集系统Scribe原理

    1.分布式日志收集系统:背景介绍 许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征: (1) 构建应 ...

  2. 分布式日志收集系统Apache Flume的设计详细介绍

    问题导读: 1.Flume传输的数据的基本单位是是什么? 2.Event是什么,流向是怎么样的? 3.Source:完成对日志数据的收集,分成什么打入Channel中? 4.Channel的作用是什么 ...

  3. 一起来解读分布式日志收集系统:Facebook Scribe

    1.分布式日志收集系统:背景介绍 许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征: (1) 构建应 ...

  4. 分布式日志收集系统: Facebook Scribe

    转载于博主新浪微博:http://weibo.com/freshairbrucewoo. 欢迎大家相互交流,共同提高技术. 以下是我在公司内部分享的关于分布式日志收集系统的PPT内容,现在与大家分享, ...

  5. python分布式日志收集系统_Go实现海量日志收集系统(一)

    项目背景 每个系统都有日志,当系统出现问题时,需要通过日志解决问题 当系统机器比较少时,登陆到服务器上查看即可满足 当系统机器规模巨大,登陆到机器上查看几乎不现实 当然即使是机器规模不大,一个系统通常 ...

  6. 探秘Hadoop生态12:分布式日志收集系统Flume

    这位大侠,这是我的公众号:程序员江湖.  分享程序员面试与技术的那些事. 干货满满,关注就送.  在具体介绍本文内容之前,先给大家看一下Hadoop业务的整体开发流程:  从Hadoop的业务开发流程 ...

  7. flume分布式日志收集系统操作

    1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去. 2.flume里面有个核心概念,叫做agent.agent是一个java进程,运行在日志收集节点. 3.agent里面包含3个核心 ...

  8. 分布式日志收集系统--Chukwa

    1. 安装部署 1.1 环境要求 1.使用的JDK的版本必须是1.6或者更高版本,本实例中使用的是JDK1.6 2.使用的hadoop的版本必须是Hadoop0.20.205.1及以上版本,本实例中使 ...

  9. Flume日志收集系统架构详解--转

    2017-09-06朱洁大数据和云计算技术 任何一个生产系统在运行过程中都会产生大量的日志,日志往往隐藏了很多有价值的信息.在没有分析方法之前,这些日志存储一段时间后就会被清理.随着技术的发展和分析能 ...

最新文章

  1. source insight搜不到关联代码
  2. 在 Excel 2016 for Windows 中启用 Power View
  3. java 中 statent,【行为型模式】状态模式(state)之23种java设计模式
  4. wordpress home.php,WordPress主题通过function.php来加载js和css文件
  5. Java swing 实现下拉框和文本框同步显示
  6. SyntaxError:identifier starts immediately after numeric literal
  7. mysql索引方式_MySQL数据库的索引方式
  8. TCP客户端与服务器的实现
  9. 440.字典序中的第K小数字
  10. 截图上传录屏gif上传工具推荐
  11. 计算机密码输入正确,Win10输入正确密码却提示“密码不正确”如何解决
  12. windows C++ 解决Office打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”
  13. word树状分支图_word树状图怎么做分支
  14. Meta-learning algorithms for Few-Shot Computer Vision论文解读(一)
  15. mysql 导入工具 php_MySQL数据导入导出方法与工具介绍_PHP教程
  16. 电路矢量图编辑器数据库设计
  17. POI获取文本单元格的数字变成科学计数法的处理方法
  18. Wish封店的原因有哪些?
  19. UltraDefrag(磁盘碎片整理工具) v8.0.1中文绿色便携版
  20. 简单的个人健康记录系统(Android+Web)

热门文章

  1. (简单)华为M3青春 CPN-AL10的Usb调试模式在哪里打开的步骤
  2. 如何运营自己的自媒体账号,怎样通过自媒体赚钱?
  3. java输出一副扑克牌_Java输出扑克牌中的“红黑梅方”和其他表情包
  4. 音乐人工智能先乐后药 它模拟的自主创作会让人瞠目结舌
  5. 收藏 - android
  6. 通过命令行调出windows防火墙高级设置页面
  7. inline函数不报重定义错误浅析
  8. flexible wincc 弹窗_wincc flexible弹出小窗口怎么做?
  9. centos7篇---禁用默认的驱动nouveau,安装cuda和cudnn
  10. 【shader学习历程】翻页特效