APP下载

基于大数据技术的IT基础设施日志分析系统设计与实现

2016-10-18张春生郭长杰尹兆涛

微型电脑应用 2016年6期
关键词:日志运维架构

张春生,郭长杰,尹兆涛

基于大数据技术的IT基础设施日志分析系统设计与实现

张春生,郭长杰,尹兆涛

针对IT运维人员对基础设施各类日志进行统一管理和查询的需求,分析、设计了基于Hadoop的日志系统功能架构、技术架构以及应用场景。系统通过Rsyslog统一收集各类日志数据,利用Hive对日志进行进一步清洗和转换,将海量日志数据分类存储于HDFS,按业务规则统计分析日志信息,将计算结果定时导入MySQL数据库用于前端展示。系统实现了日志统一收集、分析处理、查询告警等功能,为IT运维人员提前发现系统故障、排查安全隐患提供有效工具。

IT基础设施;Hadoop;日志分析;系统架构

0 引言

随着企业上线应用的信息系统越来越多,数据中心的负载压力越来越大,IT运维工作量和运维难度与日俱增。监测服务器产生的系统日志、网络安全日志、应用程序日志是IT运维的基本手段,是排查、解析系统故障的重要措施,也是监控系统运行状态的重要方法。IT基础设施日志信息数据量大,位置分散,解析困难,对运维人员来说手工查看日志记录,不仅效率低下,也难以发现日志中蕴含的有用信息。企业和科研机构利用各种技术手段对日志进行分析和管理,发现和解决了诸多隐性问题。庞松健等针对BOSS系统办理业务出现问题及故障时的时间和效率问题建立日志分析管理平台[1];罗新提出了防火墙日志分析系统的实现方案,给出了基于后台程序进行日志数据处理及以B/S模式提供数据查询的日志分析系统的设计和实现方法[2];Chen Hau Wang、Yong Qing Wei等人利用Hadoop工具搭建网络日志分析平台,提前发现各种网络隐患[3][4];为提高对复杂ERP系统的审计效率,利用Petri网技术对数据库日志进行分析[5]。通过日志分析能够提前发现系统运行隐患,系统安全由事后控制变为事中、事前控制,实现从被动运维向主动运维的转变。

数据中心产生的日志丰富多样,包括系统日志、网络日志、安全日志、应用程序日志等,蕴含了大量的潜在信息,如通过对登录记录、账号创建、安全设置修改、事件清除等数据的分析能够判断是否存在病毒攻击等安全隐患;对短时间内CPU、内存、文件系统等使用率进行历史统计能够发现设备故障;对配置变更类、接口状态改变类、设备状态改变类、安全类的日志数据进行统计和分析,能够预测网络中断、网络攻击等安全问题。由于日志分析题量巨大,且数据结构多样,善于处理海量数据的Hadoop等大数据技术可应用于日志分析[6-8]。本文针对IT基础设施各类日志统一存储、分析管理,分析了系统的需求,研究了系统功能、技术架构、应用场景的设计,实现集日志收集、日志分析、日志查询,告警预测功能于一体的日志分析管理平台,有利于信息系统问题与漏洞的及时排查、发现,有助于IT部门主动发现问题、主动处理问题、主动排除隐患,保障系统安全稳定运行,提高运维效率。

1 需求分析

1.1业务需求

1)日志集成需求

目前运维人员查看日志方式为手动登陆到每台服务器中进行查看,不仅效率低下,检索功能弱而且难以挖掘日志中潜在信息,预防系统隐患。传统运维模式下安全问题无法保证,系统被入侵后日志可以随意被删除,而分析人员却无法获取入侵信息,因此日志的存储与查询功能需求迫切。

2)统计与分析需求

随着日志越来越多,对其进行分析与统计变得十分困难,导致运维人员不能及时从日志中发现系统漏洞和安全事件以及发生的规律。

3)展示需求

将预先定义的业务统计规则以报表、柱状图、饼图、曲线图等清晰直观的展示方式呈现出来,运维人员可以清晰地了解设备的状况,运行趋势,为系统稳定运行提供决策支持。

1.2功能需求

1)日志统计查询需求

查询是日志分析系统的重要功能,包括支持按照日志类型查询、关键业务参数精确与模糊查询、按照设备查询日志以及在指定时间范围内的日志查询信息,能够有效帮助运维人员根据实际情况方便地读取日志,并对其进行筛选提取出有价值信息。通过日志查询能够减轻大量的重复查找工作,使运维人员有更多的精力对系统进行更完整、及时的维护工作。

2)统计与分析需求

日志的统计分析功能可以为运维人员提供系统的某一时段、某一关键行为统计信息(如设备地址冲突的次数、设备异常流量、服务重启次数),为系统维护、更换硬件,提早发现安全隐患提供重要依据,对系统运维有着重要作用。因此报表统计与分析功能需要具备以下几点:(1)统计需求。系统的统计功能需要具备过滤、聚合、统计与分析能力,可以在全面采集设备日志信息的基础上为运维人员提供实用、精简、完备的统计信息。(2)报表需求。系统根据用户统计分析的需求和目标自动生成柱状图、饼图、曲线图等直观的统计报表(如设备接口状态趋势图、地址冲突频度排名表、设备温度异常趋势图等)。

3)系统管理需求

(1)用户管理:系统中的用户需要对本系统进行操作,如用户的增加、权限的增加与修改,支持基于用户组的权限分配和管理。

(2)设备组管理:对主机进行管理,包括主机的各种信息(如主机名、所属组、权限等),提供添加、修改、删除管理设备IP地址及设备类型的功能。

(3)规则管理:通过管理平台可以对报警规则、日志级别、采集策略进行设置。

2 方案设计

2.1总体架构

日志分析平台架构如图1所示:

图1 日志分析平台整体架构

图1包括日志数据收集,数据清洗、转换,数据分析与存储、数据展示4部分。其中日志收集层通过日志收集服务器采集各地机房产生的windows日志、linux日志、网络日志、防火墙日志等,并对数据进行初步的清洗。在数据存储层,通过Hive对日志数据进行进一步清洗和转换,将海量日志数据分类存储于HDFS中。根据业务规则对日志数据进行统计分析,并将统计结果导入到传统数据库中,最终将业务以图表,报表等方式显示系统指标、安全状况、运行状态等分析结果。

2.2功能架构

日志分析平台主要功能分为日志收集、日志存储分析以及前端展示模块。

用于确定VAR模型最佳滞后期的统计量主要有LogL、LR、FPE、AIC、SC、HQ。表3为VAR模型0-4阶的LogL、LR、FPE、AIC、SC、HQ值。

1)日志收集模块

本模块的功能为通过日志收集服务器,采用定时脚本,自动采集来自系统、网络、安全、应用程序等方面的日志数据。对各种格式和类型的数据进行清理筛选,并将日志数据转换成挖掘工具识别的格式进行归类存储。

2)日志存储分析模块

日志的分析挖掘功能是本系统的核心模块,按业务规则对日志进行分析,且负责与Hadoop集群、数据库进行交互。针对系统可能存在的业务漏洞,采用Hive建立业务分析模型,查找符合条件的日志数据,实现相应业务监控项异常数据的监测。该模块还包含业务规则脚本管理调度,包括脚本上传、任务配置管理、脚本执行状态监控等,以保证本系统每日任务的定时执行。

3)前端展示模块

本模块的功能是对每天的挖掘结果详情以及统计分析结果进行可视化显示,展现形式包括数据形式、图表形式,例如曲线图以及饼图等。如图2所示:

图2 日志分析平台功能架构

除了展示数据之外还提供查询功能,使用户更快更直接地了解到各个业务异常数据的趋势以及具体情况。

2.3技术架构

传统的日志分析系统处理海量数据能力欠缺,传统数据库无法高效地分析处理日志文件,并且单一节点的计算能力已经不能满足要求,而Hadoop支持大规模集群操作,在集群上可以方便地增加多至上千个节点并行计算,其计算速度会随集群数量相应增加。因此技术架构采用Hadoop集群为系统核心。

采集日志数据的方式包括文本方式采集、SNMP Trap方式采集和syslog方式采集,各种方式的优缺点如表1所示:

表1 日志数据采集方式比较

推荐采用syslog方式进行日志数据采集。日志数据收集需要解决以下问题:统一日志存储/切割方式使其便于Hadoop分析统计;集中管理海量日志数据;如何获取日志增量;日志管理格式标准化。因此选择功能更加完备的日志收集工具Rsyslog对日志进行收集。经过规范化、过滤、归并和告警分析等处理后,以统一格式的日志形式进行集中存储和管理。

采用HDFS进行数据存储并利用Map/Reduce框架进行数据操作的模式具备高效的处理能力以及高扩展性和高容错性。首先搭建服务器目录共享服务,将日志收集目录映射到Hadoop服务器中,在Hive中建立与日志格式对应的表空间,对日志标准字段进行映射。在Hadoop中以定时脚本将日志文件以统一对规则导入到Hive中进行存储,并按照日期进行分区,用户可以实现非常复杂的查询,完成TB/PB级别的数据处理。

Hive具有对海量数据进行数据挖掘、离线分析等优势,日志分析模块采用Hive对HDFS中的数据进行清洗、分析,使用HQL语言以类似SQL的方式对日志文件进行Mapreduce并行处理。最终编写sqoop脚本,通过spring的任务调度将业务统计规则定时执行,将经过处理的数据集合导入传统数据库Mysql中。前端展示采用Extjs+strust2+spring作为服务端架构,图表采用EXTJSChart,用于柱状图、趋势图、饼状图的展示。如图3所示:

图3 日志分析平台技术架构

3 系统实现

3.1技术实现

构建Hadoop集群环境,设置多虚拟机,其中一台作为master,其余作为slave。安装Hadoop软件,并设定主从节点。设定好Hadoop完全分布式环境后,启动Hadoop相关服务,格式化namenode、secondarynamenode、tasktracker,接着用start-all.sh来启动所有服务,包含namenode、datanode。

通过特定的业务规则,对日志处理、分析,获取数据指标。日志分析系统执行步骤如下:

1)服务器每天产生的日志数据进行统一收集提交到HDFS中。

2)使用Hive、MapReduce对HDFS中的原始数据进行清洗。

3)对处理后的数据利用Hive进行统计分析,得到需要的指标,存储在HDFS中。

4)利用Sqoop工具把数据从HDFS导出到mysql中。

5)将Mysql中的分析结果通过图形、报表或记录形式展示,便于查看与定位。

6)管理员对日志结果进行查看,对安全隐患,系统错误等进行排查。

3.2应用场景

日志分析系统通过对日志数据细致分析为运维人员提供统一的可视化查询平台,帮助IT管理员从海量日志数据中精确查找有用的事件信息、查看趋势分析和历史数据的统计,协助运维人员及时发现系统存在的问题,提前发现和规避灾难,降低系统风险。与人工查看日志模式相比,运维人员能够大大提高工作效率,将更多精力集中在系统故障分析和解决。

将日志进行统计,以表格和饼状图展示不同类型日志的数量,运维人员可根据问题类别查看相关日志,排除系统隐患。按照日志类型统计的数量进行排序,运维人员可以调出错误最多的机器进行检查,分析原因,减少错误发生频率,如图4所示:

图4 日志分析平台统计分析示例

汇总日志信息,以柱状图、线形图的形式展示日、周、月的日志量,显示系统在某时间段内运行趋势。使用线形图展示,如图5所示:

图5 日志分析平台统计分析示例

便于运维人员了解指定月份的系统问题数量的趋势,排查异常数据,分析查看异常点,如图6所示:

图6 日志分析平台统计分析示例

分析网络日志,展示一周内被访问IP次数的排名,一周流量趋势图,最近一天的网络延迟趋势以及被访问端口的排名,如图7所示:

图7 网络日志分析示例

分析堡垒机日志,列出最近被删除的文件的详细信息和异常操作的级别分类、数量。运维人员分析哪些操作为安全隐患,哪些操作影响系统稳定,提前制止和恢复系统,如:图8所示:

图8 堡垒机日志分析示例

4 总结

IT基础设施每天产生的日志蕴含了丰富的信息,通过信息技术对其进行分析挖掘能够大大提高发现和预知系统隐患的能力,实现基于状态的维修以及基于风险的维修,使IT运维由原来的被动运维向主动运维转变。本文在需求分析的基础上设计了系统的功能架构、以Hadoop为核心的技术架构,实现数据中心服务器各类日志数据的统一收集,经过统计分析以图形、报表或记录形式进行展示,便于管理员对日志分析结果进行查询,对于保障系统安全稳定运行,提高数据中心优化控制能力具有一定的作用。下一步研究将集中在利用大数据技术对系统故障、安全等各类因素进行关联分析,建立预测模型,提升系统智能化水平。

[6] 庞松建.Boss系统日志分析研究与应用[J].计算机工程应用技术,2013,9(28):6433-6436.

[7] 罗新.防火墙日志分析系统的设计与分析[J].Computer Era,2012,2:64-68.

[8] Chen HauWang ,Ching TsorngTsai, Chia Chen Fan, Shyan Ming Yuan. A Hadoop Based Weblog Analysis System[C].2014 7th International Conference onUbi-Media Computing and Workshops (UMEDIA), 12-14 July 2014:72 - 77.

[9] Yong Qing Wei, Guang Gang Zhou , Di Xu,Yu Chen. Design of the Web Log Analysis System Based on Hadoop[J].Advanced Materials Research,2014(926-930):2474-2477.

[10] 景波, 刘莹, 陈耿.基于petri网的数据库日志分析方法研究[J].计算机科学, 2014, 41 (6):250-253.

[11] Fengying Yang, Huichao Liu, Zhanping Zhao. Research on Cloud-Based Mass Log DataManagement Mechanism[J]. JOURNAL OF COMPUTERS,2014 ,9(6):1371-1377.

[12] MilindBhandare, Prof. KuntalBarua, VikasNagare, DynaneshwarEkhande, Rahul Pawar. Generic Log Analyzer Using HadoopMapreduceFramework[J].2013,3(9):603-607.

[13] 陈文波.基于Hadoop的日志分析系统[J].广西大学学报:自然科学学报,2011,36(1):339-342.

Design and Implementation of Log Analysis System for IT Infrastructure Based on Big Data Technology

Zhang Chunsheng12,Guo Changjie2, Yin Zhaotao2
(1. Renmin University of China, Beijing 100872, China;2. Petrochina Planning and Engineering Institute, Beijing 100083, China;)

For managing and querying various types of logs for IT infrastructure, the functional architecture, technical architecture and application scenarios of the log analysis system based on Hadoop are analyzed and designed. Various logs are collected by Rsyslog, and then further cleaned and transformed by using Hive. The massive log data are stored into HDFS according to their classification, and are clustered, sequenced and analyzed on the basis of business rules. The calculation results are regularly imported to the MySQL database used for front-end display. The system realizes log collection, analysis, processing, query and other functions, and provides an effective tool for system administrators to identify system failures or security risks.

IT Infrastructure; Hadoop; Log Analysis; Constraint Satisfaction; System Architecture

TP311

A

1007-757X(2016)06-0049-04

2016.01.06)

张春生(1982-),男,河北雄县人,中国人民大学,中国石油规划总院,工程师,博士,研究方向:油气行业信息技术应用、规划,北

京,102206

郭长杰(1978-),男,日照市人,中国石油规划总院,工程师,研究方向:油气行业信息技术应用、规划,北京,102206

尹兆涛(1980-),男,潍坊人,中国石油规划总院,工程师,博士,研究方向:油气行业信息技术应用、规划,北京,102206

猜你喜欢

日志运维架构
基于FPGA的RNN硬件加速架构
一名老党员的工作日志
功能架构在电子电气架构开发中的应用和实践
扶贫日志
基于云服务的图书馆IT架构
运维技术研发决策中ITSS运维成熟度模型应用初探
雅皮的心情日志
风电运维困局
杂乱无章的光伏运维 百亿市场如何成长
游学日志