在电信行业,运营商构建了非常多的应用系统为广大消费者提供各种特色服务,有一些系统的功能由于在业务操作的上下文中,涉及到多个业务系统的子功能,需要多个系统共同提供服务才能正常工作,导致任何系统出现异常都会影响到其余的系统,对企业形象和社会造成非常恶劣的影响。
而各业务系统的应用日志是了解业务系统是否正常运行的最直接可靠的窗口,通过统一收集、分类应用日志,并实现日志分析,可实现如下价值:
因此,电信运营商对于应用日志的监控力度非常大,一旦出现异常信号,需要及时通知操作人员进行问题定位与问题解决。但这种方式只能进行问题的事后补救处理,不能预先发现应用系统的隐藏问题。而且由于日志数据是典型的文本类半结构化大数据,传统的关系型数据库无法满足海量日志数据的存储与实时查询分析需求。
1.用户业务需求
2.业务与技术挑战
原解决方案
如下图所示,用户在项目初期基于Hadoop HDFS及Greenplum构建日志监控系统,并将原始日志文件保存在NAS文件系统中。
然后通过流处理引擎将日志中的每个交易号对应的日志报文对应文件的偏移记录(位置)转换成一个格式化记录,并将生成的数据保存在 GP(Greenplum) 中。
用户如果希望查询某个交易号的明细日志,需要先到GP 库中查找这个交易号对应在哪个文件中,并且知道了它在文件的偏移情况,打开文件,跳转到对应的偏移上,才能看在完整的明细日志。
原方案存在问题与不足如下:
3.解决方案
用户基于SequoiaDB数据库+Hadoop框架重构了智能日志分析系统,在已有日志监控系统基础上增加智能日志分析功能,可自动根据应用日志分析错误隐患,提高应用的纠错能力。
如上图所示,数据采集端将新增数据实时加载到SequoiaDB数据库集群中,系统定时触发程序每隔5分钟启动Hadoop MapReduce分析程序,分析结果通过GP进行多维分析查询展现,当系统出现操作异常或者是用户违规操作时,立刻通过进行系统操作告警。业务人员用户可在Web操作界面通过SQL接口实时查询应用日志,实现对错误信息的实时定位。
在此系统架构中,SequoiaDB巨杉数据库发挥三大作用:
4.项目成果
智能运维监控
系统很好地满足了对应用日志数据的实时统计及异常检测的功能需求。
运维简单方便
相比起单纯的HDFS文件系统,SequoiaDB数据库在实现了对应用日志数据的集中统一存储的同时,满足了全量日志实时SQL查询及向分析程序输送数据的需求。
相比于引入HBase,Impala, Storm, Pig等框架的方法,基于SequoiaDB数据库的方案运维简单,开发方便,管理快捷,功能完善。
关于:中科研拓
深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,十年研发经验,上百成功案例,中科院软件外包合作企业。通过IT技术实现创造客户和社会的价值,致力于为用户提供很好的软件解决方案。联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com