最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于Hadoop的网络日志分析系统研究

来源:动视网 责编:小OO 时间:2025-09-24 07:53:45
文档

基于Hadoop的网络日志分析系统研究

ComputerKnowledgeandTechnology电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾第6卷第22期(2010年8月)基于Hadoop的网络日志分析系统研究胡光民1,周亮2,柯立新1(1.上海海洋大学现代信息与教育技术中心,上海201306;2.上海海洋大学信息学院,上海201306)摘要:查看网络日志是调查系统故障,监控系统运行状况的重要手段。管理员可以查看在某段时间内所发生的事件,也可以通过对各个日志文件进行分析获取知识。由于日志具有数据量大,不易读懂的特点,如果仅凭
推荐度:
导读ComputerKnowledgeandTechnology电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾第6卷第22期(2010年8月)基于Hadoop的网络日志分析系统研究胡光民1,周亮2,柯立新1(1.上海海洋大学现代信息与教育技术中心,上海201306;2.上海海洋大学信息学院,上海201306)摘要:查看网络日志是调查系统故障,监控系统运行状况的重要手段。管理员可以查看在某段时间内所发生的事件,也可以通过对各个日志文件进行分析获取知识。由于日志具有数据量大,不易读懂的特点,如果仅凭


Computer Knowledge and Technology 电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾第6卷第22期(2010年8月)基于Hadoop 的网络日志分析系统研究

胡光民1,周亮2,柯立新1

(1.上海海洋大学现代信息与教育技术中心,上海201306;2.上海海洋大学信息学院,上海201306)

摘要:查看网络日志是调查系统故障,监控系统运行状况的重要手段。管理员可以查看在某段时间内所发生的事件,也可以通过对各个日志文件进行分析获取知识。由于日志具有数据量大,不易读懂的特点,如果仅凭借管理员查看日志记录的手段,其中所蕴含的有用信息也难以发现。分布式计算技术正好可以用来解决这一难题。阐述了syslog 日志收集流程,详细介绍了Hadoop 分布式计算框架,设计并实现了一套基于Hadoop 的网络日志分析系统。实验证明该系统是有效而实用的。

关键词:Hadoop 框架;分布式;日志分析;syslog

中图分类号:TP393文献标识码:A 文章编号:1009-3044(2010)22-6163-02

Research on Hadoop-based Network Log Analysis System

HU Guang-min 1,ZHOU Liang 2,KE Li-xin 1

(1.Modern Information and Education Technology Center,Shanghai Ocean University,Shanghai 201306,China;2.College of Information Science,Shanghai Ocean University,Shanghai 201306,China)

Abstract:Viewing Web log is an important measure to investigate system failures and monitor operating status of the system.Administra -tors can examine what happened at a certain time,they can also analyze each log file for purpose of acquiring knowledge.If the administra -tor only review the status by virtue of checking log files,it is difficult to find useful information that contained in those files,as the log files is characterized by large volume of data and uneasy to read.Distributed computing technology can be used to solve this problem exactly.Process of Syslog log collection is explained,details of the Hadoop distributed computing framework is introduced in this paper,and a Hadoop-based network log analysis system is also designed and implemented.Experimental results show that the system is effective and practical.

Key words:Hadoop framework;distributed;log analysis;syslog

随着计算机技术的发展,高校数字化建设的步伐越来越快,采用的系统越来越多,为了保护系统的安全,方便调查系统故障,监控系统运行状况,查看日志己经成为一个重要的手段。管理员可以查看在某段时间内所发生的事件,也可以通过对各个日志文件进行分析获取知识。由于日志具有数据量大,不易读懂的特点,如果仅凭借管理员查看日志记录的手段,其中所蕴含的有用信息也难以发现。挖掘出日志中蕴藏的信息来改进用户体验提升管理水平是非常有价值的,然而使用传统的技术对这些海量日志进行分析时无论在存储和计算量上都遇到了瓶颈,此时分布式计算技术进入了人们的视野。Hadoop 作为著名开源组织The Apache Software Foundation 旗下专注于分布式计算的开源项目最近广受业界的关注。在Yahoo !Hadoop 被广泛应用到网页搜索、日志分析、广告计算和科学实验中。著名网站 使用600个节点的Hadoop 集群进行网站日志分析和数据挖掘,此外AOL 、IBM 、Amazon 等众多IT 巨头也都在使用Hadoop [1]。本文将研究如何利用Hadoop 的技术模式实现一个网络日志分析系统。

1相关技术概述

1.1Hadoop 介绍

Hadoop 是Apache 开发的开源的MapReduce 集群实现,主要由HDFS 、MapReduce 和Hbase 组成[2]。HDFS 是云计算中用于大型分布式文件系统的典型架构,其设计目标是运行于商业硬件上,由于Google 的支持,及其开源的优势已经应用在各个云计算基础设施中[3]。从某种程度上可以将Hadoop 理解为GFS 和Google MapReduce [4]的开源实现。Hadoop 是一个可以更容易开发和并行处理大规模数据的分布式计算平台。其主要优点是:可扩展(Scalable)、低成本(Eco -

nomical)、高效(Efficient)、可靠(Reliable)。它完全使用Java 开发,因而可以广泛

运行在多种软硬件平台上。HDFS 和MapReduce 的关系如图1。

1.2Syslog 程序

Syslog 是Linux 下一个用来记录系统日志的开源软件。在比较大规模的

网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录

分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽

然也能有日志记录,但是有很多缺点:首先是管理不便,当服务器数量比较多

的时候,登陆每台服务器去管理分析日志会十分不便,其次是安全问题,一旦收稿日期:2010-05-18

作者简介:胡光民(1957-),男,上海市人,上海海洋大学网络工程师,主要从事网络管理方面的研究。

图1Hadoop 分布式文件系统ISSN 1009-3044Computer Knowledge and Technology

电脑知识与技术Vol.6,No.22,August 2010,pp.6163-61,6185E-mail:info@cccc.net.cn http://www.dnzs.net.cn Tel:+86-551-5690963569096163

本栏目责任编辑:冯蕾网络通讯及安全

第6卷第22期(2010年8月)

有入侵者登陆系统,他可以轻松的删除所有日志,系统安全分析人员不能得

到任何入侵信息。在网络中用syslog日志服务器来记录所有网络日志是一个

比较理想的方案。

2日志分析系统的设计与实现

日志文件[5]作为系统和网络用户行为的记录管理工具,对保护系统安

全,方便调查系统故障,监控系统运行状况起着极其重要的作用。日志分析

系统[6]能够将不同格式的日志进行解析生成统一格式的日志文件,然后对日

志数据进行预处理,最后对数据进行分析并将结果输出。其总体架构如图2。

日志服务器负责采集所有网元设备的日志文件,然后将采集到的日志

文件提交到Hadoop集群中的Master,Master把文件切割成Block,然后这些

Block分散地存储于不同的Slave上,每个Block还可以复制数份存储于不同的Slave上,达到容错容

灾之目的,系统工作流程如图3所示。

3实验及结果

我们使用1台PC机作为日志服务器,在上面开启nfs服务,方便传输日志文件。另外用4台PC

机搭建Hadoop实验集群,机器名分别为hadoop1—hadoop4,其中hadoop1和hadoop2分别为Na-

meNode和JobTracker,按照Hadoop的体系机构它们称为masters,其他两台机器为slaves他们即作为

DataNode也作为TaskTracker。操作系统为Ubuntu9.10Server[7],Hadoop版本0.20.2,Java版本

1.6.0_13。master必须能够无需密码通过SSH访问所有slave机器,而启动和关闭整个集群的机器也

必须能够无需密码通过SSH访问集群中的所有机器。

以Apache访问日志为例来演示如何使用Hadoop集群进行日志分析。Apache access-log中日志

格式如图4。

先使用Hadoop提供的工具将syslog服务器采集到的日志文件上传到Hadoop的HDFS文件系统

中。此后就可以使用MapReduce编程框架对日志进行处理了。

从海量的日志中分析来访IP的个数,Map和Reduce代

码[8]如下:

Hadoop的编程框架会自动将任务分到不同节点上去计算,如

图5所示。

系统计算过程如下:

通过HDFS将格式化后的数据进行分块并将分块后的数据按照系统计算任务分配存储到系统中的每个DataNode,文件系统启动每个DataNode的必须进程,调用InputFormat方法将日志文件中的所有日志开来形成一个键值对<序列号,一条日志内容>;

接下来Map方法[10]将对产生的键值对进行Map处理;然后将每条日志的内容进行解析并生成一个新的键值对<序列号,IP>,这些键值对将放入内存中等待Combiner()处理,它能将相同的键值对进行合并[9];

NameNode指派系统中的DataNode分别对数据进行Reduce处理;

对所有DataNode上的数据进行汇总得到最终结果并写入输出目录的文件中。

在处理少量数据时,Hadoop集群的优势并不那么明显,随着数据量的增加,Hadoop集群相比单机,节省的时间量越来越大。因此可以看出Hadoop在处理海量数据时相对于单机有巨大的优势。虽然Hadoop框架是用Java实现的,但MapReduce应用程序则不一定要用Java来写。比如:Hadoop Streaming是一种运行作业的实用工具,它允许用户创建和运行任何可执行程序(例如Shell)来做Map和Reduce操作,极大了方便了用户。(下转第6185页)

图2网络日志分析系统总体架构图

图3网络日志分析系统

工作流程图

图4Apache访问日志格式

图5MapReduce分配信息图

61

Computer Knowledge and Technology 电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾第6卷第22期(2010年8月)(上接第61页)

4结束语

当数据存储和计算遇到瓶颈时,分布式技术相对于传统的向上扩展技术在伸缩性和成本上都具有巨大的优势。开源编程框架Hadoop 的出现,可以帮助我们更容易的使用分布式技术。本文讨论了Hadoop 框架,结合syslog 设计并实现了一套网络日志系统,实验证明该系统能高效地进行海量日志分析。实际上Hadoop 的应用空间还非常大,这些还有待于我们的进一步研究。参考文献:

[1]王润华.基于Hadoop 集群的分布式日志分析系统研究[J].科技信息,2007,15:60-109.

[2]Cloud Computing Security:making Virtual Machines Cloud-Ready[R].www.cloudready -security.com,2008.

[3]李呈栋,戴跃发,王伟,等.Hadoop 框架下的容灾系统研究[J].电脑知识与技术,2009,5(28):53-55.

[4]孙广中,肖锋,熊曦.MapReduce 模型的调度及容错机制研究[J].微电子学与计算机,2007,24(09):178-180.

[5]季根生.计算机系统日志自动分析的实现[J].铁路计算机应用,2007,16(3):48-50.

[6]李哲,李先过.基于关联规则的日志分析系统的研究与设计[J].微电脑应用,2009,25(3):27-29.

[7]何晓龙.Ubuntu 实战技巧精粹[M].北京:人民邮电出版社,2009:10-29.

[8]张孝祥,徐明华,单兴华,等.Java 基础与案例开发详解[M].北京:清华大学出版社,2009:100-129.

[9]孙牧.云端的小飞象—Hadoop[J].程序员,2008(10):100-102.

[10]郭欣.使用Map/Reduce 进行并行计算[J].程序员,2009(10):66-67.

图1MD5主循环

图2MD5的一个执行过程

图3MD5在慧创公司登录中的应用

用一个位的数字表示数据的原始长度B ,把B 用两个32位数表

示。这时,数据就被填充成长度为512的倍数。同时确保不同的消息在填充

后不相同。

③初始化MD5参数(MD5Init)

子程序MD5Init (var Context:MD5Context)完成MD5参数的初始化,要

用到4个32位整数变量A 、B 、C 、D ,也被称为链接变量。它们的值用十六

进制表示,如下:

A=0X01234567B=OXabcdef C=OXfedcba98D=0X76543210

④数据处理(Transform)

由子程序Transform (Buffer:pointer;var State:MD5State)完成数据处理

功能。

算法的主循环如图1,循环的次数是消息中512位消息分组的数目。

将上述四个变量复制到另外的变量中:a ←A ,b ←B ,c ←C ,d ←D 。主循环进

行四轮,每轮循环进行16次操作。图2给出了MD5的一个执行过程。⑤用下一分组数据继续运行此算法,最后得到A,B,C,D 的级联。

2MD5算法在慧创公司帐户登录信息的应用

图3给出了在慧创公司帐户登录中的应用Md5加密的过程,当用户

输入用户名、密码后,系统对其密码用MD5加密后,与数据库中存储的密

码信息进行比较,相等,则可进入系统。进入系统后,再根据是否是人事管理人员、财务管

理人员、对外合作管理人员、普通员工等身份,执行不同的操作。5结束语

MD5加密技术是单向加密,密码信息不是直接保存在数据库中,而是经过加密以后

再保存。这样,即使这些信息被泄露,也不能理解这些信息的真正含义,得到密码等信息。

所以是一种可靠网站用户密码的加密技术,从而实现了企业信息的安全,具有一定的实

用价值。

参考文献:

[1]Jean-Sebastien Coron.Index Calculation Attacks on RSA Signature and Encryption.De -

signs.Code and Cryptography,2006,38:41-53

[2]孙晓哈.数据加密技术及网络应用[J].网络通讯与安全,2007,5.

[3]杨俊峰,吴晓,刘旭国,李静.基于MD5和RSA 的数字签名系统的设计与实现[J].信息科

技,2007,6:155-158.6185

文档

基于Hadoop的网络日志分析系统研究

ComputerKnowledgeandTechnology电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾第6卷第22期(2010年8月)基于Hadoop的网络日志分析系统研究胡光民1,周亮2,柯立新1(1.上海海洋大学现代信息与教育技术中心,上海201306;2.上海海洋大学信息学院,上海201306)摘要:查看网络日志是调查系统故障,监控系统运行状况的重要手段。管理员可以查看在某段时间内所发生的事件,也可以通过对各个日志文件进行分析获取知识。由于日志具有数据量大,不易读懂的特点,如果仅凭
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top