在电信行业,运营商构建了非常多的应用系统为广大消费者提供各种特色服务,有一些系统的功能由于在业务操作的上下文中,涉及到多个业务系统的子功能,需要多个系统共同提供服务才能正常工作,导致任何系统出现异常都会影响到其余的系统,对企业形象和社会造成非常恶劣的影响。
而各业务系统的应用日志是了解业务系统是否正常运行的最直接可靠的窗口,通过统一收集、分类应用日志,并实现日志分析,可实现如下价值:
因此,电信运营商对于应用日志的监控力度非常大,一旦出现异常信号,需要及时通知操作人员进行问题定位与问题解决。但这种方式只能进行问题的事后补救处理,不能预先发现应用系统的隐藏问题。而且由于日志数据是典型的文本类半结构化大数据,传统的关系型数据库无法满足海量日志数据的存储与实时查询分析需求。
原解决方案
如下图所示,用户在项目初期基于Hadoop HDFS及Greenplum构建日志监控系统,并将原始日志文件保存在NAS文件系统中。
然后通过流处理引擎将日志中的每个交易号对应的日志报文对应文件的偏移记录(位置)转换成一个格式化记录,并将生成的数据保存在 GP(Greenplum) 中。
用户如果希望查询某个交易号的明细日志,需要先到GP 库中查找这个交易号对应在哪个文件中,并且知道了它在文件的偏移情况,打开文件,跳转到对应的偏移上,才能看在完整的明细日志。
原方案存在问题与不足如下:
用户基于SequoiaDB数据库+Hadoop框架重构了智能日志分析系统,在已有日志监控系统基础上增加智能日志分析功能,可自动根据应用日志分析错误隐患,提高应用的纠错能力。
如上图所示,数据采集端将新增数据实时加载到SequoiaDB数据库集群中,系统定时触发程序每隔5分钟启动Hadoop MapReduce分析程序,分析结果通过GP进行多维分析查询展现,当系统出现操作异常或者是用户违规操作时,立刻通过进行系统操作告警。业务人员用户可在Web操作界面通过SQL接口实时查询应用日志,实现对错误信息的实时定位。
在此系统架构中,SequoiaDB巨杉数据库发挥三大作用:
智能运维监控
系统很好地满足了对应用日志数据的实时统计及异常检测的功能需求。
运维简单方便
相比起单纯的HDFS文件系统,SequoiaDB数据库在实现了对应用日志数据的集中统一存储的同时,满足了全量日志实时SQL查询及向分析程序输送数据的需求。
相比于引入HBase,Impala, Storm, Pig等框架的方法,基于SequoiaDB数据库的方案运维简单,开发方便,管理快捷,功能完善。
2016年9月22日-23日, SDCC2016大数据技术&架构实战峰会 将在杭州举行,两场峰会大牛讲师来自阿里、京东、苏宁、唯品会、美团点评、游族、饿了么、有赞、Echo等知名互联网公司,共同探讨海量数据下的应用监控系统建设、异常检测的算法和实现、大数据基础架构实践、敏捷型数据平台的构建及应用、音频分析的机器学习算法应用,以及高可用/高并发/高性能系统架构设计、电商架构、分布式架构等话题与技术。
9月5日-18日是八折优惠票价阶段,5人以上团购或者购买两场峰会通票更有特惠,限时折扣,预购从速(票务详情链接)。