技术开发 频道

基于Hadoop的携程集中式日志系统介绍

  【IT168数据库大会现场报道】2013年4月18-20日,第四届中国数据库技术大会(DTCC 2013)在北京福朋喜来登酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据、数据结构、数据治理与分析、商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要。

阿里沈春辉:HBase发展与改进实践分享

  ▲2013中国数据库大会专题报道

  自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix技术社区已经连续举办了三届数据库技术大会,每届大会超过千人规模,云集了国内技术水平最高的数据架构师、DBA、数据库开发工程师、研发总监、IT经理等,是目前国内最受欢迎的数据库技术盛会。

基于Hadoop的携程集中式日志系统介绍
▲携程旅行网技术开发框架部架构师:Bruce Li (李欣)

基于Hadoop的携程集中式日志系统介绍
▲携程的Central Logging示意图

基于Hadoop的携程集中式日志系统介绍
▲Central Logging - Data Stream框架

  Dev:诊断URL/WS/DB/APP异常,帮助调试;发现性能瓶颈 (profiling);关联前、后端的调用。

  PM/BU:通过用户查询理解用户需求 (query understanding);基于用户行为调整搜索结果和推荐 (impressions/clicks/orders);实时收集、分析A/B测试结果,以提高转换率。

  Ops:网站Capacity分析,更合理地规划硬件资源;系统、应用、业务的实时告警;了解不同应用之间的依赖耦合关系。

  集中式日志及其周边生态系统

基于Hadoop的携程集中式日志系统介绍

  集中式日志

  1、客户端 – Logging Agent

  2、数据汇聚层 – Collector

  3、数据消费者:时消息处理 – Reliable Multicast;实时流式处理 –Storm;数据落地 – HBase/HDFS

基于Hadoop的携程集中式日志系统介绍

  集中式日志的主要API

  1、Logging API:提供类logback/log4j/log4net接口、基于tags扩展,便于搜索查询。

  2、Trace API:度量单次URL/WS/DB调用、通过TraceID关联前、后端调用,厘清依赖关系。

  3、Metrics API:分钟级聚合统计、支持avg, sum, min, max等聚合操作、支持用户自定义tags(维度)。

  4、Event API:指明event类型、发生时间和其他相关属性;作为CEP实时处理的数据源。

  Central Logging – Agent Data Collection

基于Hadoop的携程集中式日志系统介绍

数据质量

  SOA框架:应用启动、关闭、心跳事件;错误、异常日志度量统计;URL/WS/DB/Cache等Trace调用(度量统计、TraceID生成和传递、SQL hash、statement采样)。

  应用:应用日志;业务、应用度量数据;应用自定义事件。

  Central Logging – Logging Collector

  类似消息队列的broker:At-most-once (not reliable);日志无排序需求;支持Topic语义;内存 + mmap队列,屏蔽后端故障。

  吞吐量优先:支持长、短链接通信;支持以chunk为单位打包、压缩传输。

  可水平扩展

  高可用

  Log View

  查看Log、Trace信息:支持浏览或搜索方式

  关联前、后端调用链日志

  性能分析、Profiling

  关键技术:Hbase Data Schema Design

基于Hadoop的携程集中式日志系统介绍

  ▲Log View – Log Navigation Demo

基于Hadoop的携程集中式日志系统介绍
▲Dashboard – Architecture Overview

  Dashboard – Customized OpenTSDB

  1、新增basic time series(BTS)元数据(申请专利);2、查询服务的cache优化(申请专利);3、基于不同业务类型(namespace)分片;4、查询服务可水平扩展;5、定时对原数据进行降采样(map/reduce);6、放宽原来最多8个tags的限制(至32个);7、支持中文encoding;8、扩展复合数值类型,支持avg/dev降采样聚合。

  Dashboard – JS Framework

  1、整合到携程JS框架;2、支持各类图表展示(基于highcharts);3、所见即所得的JS设计;4、支持OpenTSDB的各类聚合方式;5、支持自定义查询条件、group by方式;6、按查询时间范围自适应调整时间间隔

0
相关文章