论文部分内容阅读
目前互联网络的应用已经深入到企业办公系统中,企业业务时常需要依赖互联网来达成。通过网络,信息传播可以大幅降低工作成本并能极为明显的提高办公效能。但是随着网络给员工作事务带来便利,企业员工时常在上班时间访问-些与工作无关的网站,给企业不论是业务还是网络环境皆带来了不良的影响。因此,企业需要针对用户网络访问行为的审计系统,透过网络日志分析系统去了解用户上网行为、趋向。日志中包含了大量人们感兴趣的信息,为系统的运行和维护提供了丰富的信息,同时也记载着用户访问各种网页的数据,其通过文本的形式将系统产生的行为准确规范得记录存储。随着互联网企业的壮大以及应用程序规模的扩大,各种日志信息同时也呈数量级的增长,一般使用单台机器处理的日志分析系统早已完全无法达到目前企业日志分析的需求,因此海量数据处理集群就成为日志分析的理想平台。最初的大数据计算处理框架是Google在2003-2006年提出的,随后一个相似的开源大数据计算框架Hadoop就这样诞生了,作为一个分布式计算框架,在当时其在海量数据处理效能卓越,曾经在互联网企业掀起一波巨浪。但是单纯使用Hadoop框架仍然有很多限制,它并不能很好的支持实时分析以及多次迭代的计算场景,因此许多企业在2009年后陆续提出改良的计算框架,如Dremel、Spark等。基于以上现状,通过对大量文献的阅读和参考,以及常见的企业对于用户行为观察了解的需求,本文设计了一个基于Spark的海量日志数据分析平台。平台使用Squid服务器中的access.log,并且设计了日志采集、逻辑处理、网页展示、任务管理等四个模块。日志采集模块实现了数据的收集和导入;逻辑处理模块实现了数据分析处理的过程;网页展示模块实现了一个客户端供用户操作及处理结果的展示;任务管理模块实现了集群的监控和管理。相较于Hadoop, Spark通过内存中运算能带来大幅度性能的改善。