叶成刚
【摘 要】网络在运行过程中,有时会出现一些异常事件,这些异常事件对网络具有一定的危害性,严重的可能会导致网络故障.现代网络运维工作中普遍使用Syslog日志记录网络设备上发生的各种事件,然而许多网络运维部门仅仅用Syslog日志分析故障,对日志中所反映的网络异常情况往往重视不够.为了改变被动等待故障的工作方式,网络部门需要全面了解网络的运行情况,找出可能导致网络故障的因素,使得运维工作由被动变为主动.Syslog日志分析是主动运维工作中的一项重要内容.由于大型网络中Syslog日志数量非常庞大,依靠人的分析方法几乎不可行,而且由于日志消息格式的随意性,也使得传统的基于规则的计算机分析方法通用性较差.本文通过对异常事件的特征进行研究,结合实际网络中的Syslog日志数据,对如何找出网络中的异常事件和异常设备进行总结. 【期刊名称】《智能计算机与应用》 【年(卷),期】2017(007)005 【总页数】6页(P50-,59)
【关键词】日志;异常事件;主动运维;日志分析 【作 者】叶成刚
【作者单位】上海交通大学 机械与动力工程学院, 上海200240 【正文语种】中 文 【中图分类】TP393.08
随着互联网技术的飞速发展和移动应用的推广普及,人们的日常生活与工作已与网络建立了密切联系。确保网络的可用性与稳定性成为了网络运维部门的重要目标。在传统运维模式下,运维部门被动响应和处理网络故障,工作效率低下。而在主动运维模式下,运维人员需要采取各种主动措施,找出网络中存在的问题。在实际网络运维中,通常会使用Syslog日志记录网络运行过程中设备上发生的事件,所有设备的日志信息将会发送到Syslog服务器集中存储。Syslog日志在网络运维中具有较高的分析价值和用途,不仅可以用于故障分析,还能用于发现网络异常情况、网络安全威胁、用户行为分析等诸多方面。本次研究则立足于综述大型网络的主动运维工作要求下,如何通过Syslog日志找出网络中的异常设备,并以实际运维网络的Syslog日志数据进行分析验证。 1.1 Syslog协议
Syslog协议最早由美国加州伯克利大学研究开发,由于其在运维管理方面呈现重要价值,因此在许多操作系统和网络设备中都选择内嵌了该协议。在一个最简单的Syslog协议模型中,由生成日志的发送器和接收日志的收集器两部分组成,发送器可以称为设备,收集器也可称为Syslog服务器。Syslog使用UDP传输协议,源和目标端口通常为514。 1.2 Syslog消息结构
完整的Syslog日志格式由优先级(Priority)、消息头(Header)、消息文本(Content)三部分组成。一个典型的Syslog消息格式如下:
<34>Oct 1 22:33:15 myhost su: 'su root' failed for admin on /dev/pts/8 优先级通常由字符“<”开始,后面是1~3位的数字,然后以“>”结尾。其中的数字部分由日志的程序模块(Facility)代码和消息的严重级别(Severity)编号计算得出。优先级的数值等于程序模块代码乘以8,再加上严重级别编号。 日志消息程序模块代码由0~23表示,各个代码对应描述如表1所示。
日志严重级别编号由0~7表示,各个编号对应的严重级别描述则如表2所示。 日志消息头由时间戳、设备的IP地址或主机名组成。时间戳紧跟优先级的“>”符号,时间戳与设备主机名或IP之间用一个空格分开。
消息文本是Syslog的剩余部分,一般也分成2个字段。其中,一个字段用于表示消息产生的程序或进程名称,设定长度在32个字符之内;另一个字段用于记录详细的描述信息。这2个字段通常由“[”、“:”或者空格来进行分隔标注。 在大多数网络中,运维部门通常仅仅记录优先级0~4的日志信息,其它级别信息仅在故障跟踪处理或者设备调试的情况下才会获得打开。 1.3 Syslog日志产生原因分析
研究分析可得,导致Syslog产生的原因可阐释为如下3个方面:
1)设备自身问题。一般包括设备零部件故障或者软件错误。对于简单的硬件故障,日志中会记录产生故障的部位以及故障时间。软件错误的情况相对比较复杂,一方面是日志信息较难理解,另一方面是日志数量会非常多。
2)外部网络事件。一般包括网络链路问题、网络协议问题或者网络检测问题。当网络链路状态发生变化时,设备会记录链路状态变化的日志信息;当设备上运行的网络协议与对端握手状态变化时,设备会产生网络协议握手的日志信息;当网络设备检测到网络中的错误情况时,设备会记录所检测到的错误信息。
3)账号登录及设备配置。网络设备离不开人的操作和维护,运维人员日常工作需要登录设备以及对设备进行配置;还有一些运维工具软件,会自动登录设备收集信息或者自动加载某些配置,这些会使设备产生相关的日志信息。 1.4 Syslog日志分析难点
小型网络中,Syslog日志分析一般由丰富经验的技术人员掌控实现。然而面对大型网络所产生的Syslog日志,分析工作存在一定的难度,主要原因可推出论断如下:
1)Syslog日志格式随意性大。Syslog协议虽然对日志格式提供了可行建议,但在实际情况下,由于协议标准晚于设备厂商出现,因此各厂商Syslog日志格式存在显著差异。为了解决这个问题,许多Syslog分析工具都需要建立一个日志库,预先将各种可能出现的日志录入到库中,然后对该日志定义处理规则。这种基于规则的日志分析方法,适合小型的网络运维,然而在涵盖各种不同设备的复杂网络中,规则库的建立与维护增加了运维人员的负担,也容易成为运维工作的瓶颈。 2)日志信息量非常多。大型网络中,由于网络设备日趋增加、且技术复杂度高,因而网络中每天新产生的日志数量可以达到数以万计。显然,依靠人工分析方法根本无法完成日志分析工作。
1.5 Syslog日志分析在主动运维工作中作用
传统运维工作是被动的,网络运维部门被动地等待故障发生。各种重复的故障、可避免的故障造成了网络故障率居高不下。为了应对这一现实局面的弊端与不足,一些大型网络公司率先提出了主动运维的概念。在主动运维工作方式下,运维部门应该主动了解网络运行情况,及时发现网络中的异常情况,在故障还未发生前就能够采取主动防护措施,确保用户业务不受影响。在运维工作从被动转为主动的过程中,运维部门对Syslog日志的重视程度也随即发生了变化,这主要是因为Syslog日志分析在主动运维工作中能够发挥重要的作用。在此,将给出分析论述如下: 1)Syslog分析能够进一步提高运维人员对网络的感知度。传统的网管系统能够向运维部门展示网络的工作状态并对故障进行告警,而Syslog日志则记录了网络运行中发生的所有事件,这对于把握网络的整体运行情况及事件发展趋势将产生有益助力与执行影响。
2)Syslog分析有助于提高网络的可用性,降低网络故障率。有关故障发生前,会出现许多异常的日志信息。找出这些异常日志和异常设备,就能够使运维人员在故障发生前分析异常日志产生的原因,通过主动运维措施确保网络业务持续,从而消
除不必要的故障发生。
3)Syslog日志若与其他运维数据展开关联分析,还能够实现对运维工作效率以及服务能力的测量。例如,对全网故障平均修复时间的测量、设备可用性的测量、链路可用性的测量等。 1.6 异常事件的研究
异常是相对于正常而言的。正常的事件是指日志出现的时间、出现的次数、相关的设备等均能够被运维人员认为是合理的,而异常事件所产生的日志往往在这些方面表现出反常的情况。
为了从日志中找出异常事件,必须了解异常事件的特征。根据实际运维经验,研究中全面整合了常见异常事件类型的特征,并制成表格,即如表3所示。 由表3可知,每类事件的信息结构定义可探讨表述如下:
1)设备自身产生的异常事件。其特征是日志数量非常多,且日志一般在单台设备上出现,而持续时间则与事件本身或者是否被及时发现有关。例如软件异常运行时,系统不明原因自动重启或者被运维人员主动重启的情况。
2)网络异常事件。其特征是数量非常多。由于故障能够被网管系统及时发现,而网络异常事件一般无法通过网管系统监测,即使得网络异常事件的持续时间一般也会比较长,直到运维人员发现并进行处置。网络异常事件一般会在多台设备的日志中记录,且每台设备上出现的日志数量及日志产生时间基本一致。常见的网络异常事件有链路的抖动、局域网地址冲突等。
3)入侵事件。其特征是日志数量非常多,日常持续时间与入侵持续时间相关,被入侵的设备会产生相应的日志。网络设备常见的入侵事件包括持续的口令猜测等。 基于异常事件显现得出的上述特征,下文将结合日志数量、时间及设备三方面进行讨论。
2.1 Syslog日志选择及说明
本节所分析的Syslog日志数据来自研究中设定维护的实际网络,共一个月的日志数量。根据简单统计,在全网近1 500台设备中,共有570台设备向日志服务器发送了Syslog日志,日志总数为29 909 783条。日志服务器基于Linux操作系统和MySQL数据库定制开发。实际测试时,为避免对生产环境的影响以及简化分析操作,可将上述选择的一个月的日志数据复制到测试环境中,并在测试环境下设计演绎如下的日志分析。 2.2 网络整体的振荡情况分析
研究知道,网络中一旦有事件出现,设备就会产生日志信息,网络事件正是导致网络振荡的原因。在实际网络运维中,运维人员的日常操作产生的日志量较少,对网络形成的振荡幅度也不大。异常事件由于生成日志数量非常多,因而会使网络产生较大幅度的振荡。持续时间较长的事件在振荡幅度上可能不会有明显的变化,但在事件总量上却会超出正常日志许多。
综上研究论述可知,可将每天作为统计周期,针对每天产生的日志数量进行统计,找出网络振荡产生的时间。为此,对研究选择的Syslog日志数据建立了统计分析处理过程,并利用软件制图功能将每日产生的网络日志数量绘出日志曲线图,即如图1所示。
由图1中可以看出,当月网络出现了2次幅度较大的异常事件,异常事件持续的时间为2~3天,为了找到产生这2个异常事件的设备,还需对振荡源展开后续分析。 2.3 振荡源分析
异常事件使得网络产生振荡,而异常事件产生的日志在一定程度上决定了网络的振荡幅度。按照每个设备发送的日志信息数量进行排序,可以绘制得到柱状图,如图2所示。
由图2可以看出,有2台设备产生的Syslog日志量相当大,这2台设备产生的日志总量占当月Syslog日志总数的88%。按照这2台设备每天发送的Syslog数量,
可以绘制曲线图如图3所示。
对比图1与图3的绘制效果,可以发现2个曲线图的走向几乎一致,异常事件产生的时间和数量基本吻合,从而能够推断这2台设备是造成当月网络产生2次大幅度振荡的2个源头。 2.4 基于设备类型的振荡分析
在一个大型网络中,往往存在各种不同类型的设备,每种类型的设备承载一定的功能。如果将相同类型的设备产生的Syslog日志集中在一起来设定分析,则能够展现出这一类设备的总体事件情况和变化趋势。研究指定运维的网络中,设备类型主要有路由器、交换机、服务器、EPON、负载均衡。按照当月各种设备产生的Syslog日志进行排序,可以绘制出相应柱状图如图4所示。
由图4可以发现路由器产生了大量的Syslog日志。事实上,交换机的日志量堪称庞大,只是因为路由器的数量已迹近超可观量级而无法在一张图中体现出来。为了分析各种类型设备的异常事件,可以对每一类设备的日志数量变化分别绘制曲线图,图形效果展示则如果图5~图9所示。
基于前文图形分析,可以发现网络中各类型异常事件出现的情况可做分述如下: 1)路由器当月出现过2次异常突发事件。 2)交换机的异常事件有规律出现。 3)EPON在下半月有异常事件出现。 4)服务器日志量有上升趋势。
5)负载均衡设备的日志量相对较小无明显异常。
利用2.3节的振荡源分析方法,将设备范围到某种设备类型,将可以找出产生异常事件的设备。 2.5 基于区域的振荡分析
网络从功能架构上可以划分成不同的逻辑区域。本次研究中运行维护的网络大致分
为核心、分中心、街道站、接入点以及数据中心五个不同区域。按照测试月份每个区域产生的Syslog数量进行排序,可以绘制出有关柱状图如图10所示。
由图10可以看出,接入点产生的Syslog数量最多,其次是分中心产生的Syslog。如果根据每个区域每日产生的Syslog数量分析,再次绘出如下曲线图如图11~15所示。
通过对上面的图形分析,可以发现各个区域出现的异常事件情况,对其提炼整合后可得结论如下:
1)接入点设备当月有2次突发事件,与图1、图3和图5的形态基本一致。 2)分中心设备产生的日志数量有增多趋势。
3)街道站设备产生的日志数量呈现有规律的周期形态,与图6的形态基本一致。 4)核心设备的日志数量有减少趋势。
5)数据中心设备产生的日志有增加趋势,但每日生成的日志数量仍处于较低水平。 本文描述提出的Syslog日志分析方法,利用异常事件表现在数量、时间以及设备的特征,通过计算机分析并直观地展现网络异常情况。具体地,可以分析全网网络振荡情况、按设备类型分析网络振荡情况以及按区域分析网络振荡情况,方便运维人员发现网络整体或局部的异常情况;振荡源分析利用异常事件数量巨大的特征,通过计算机分析快速定位异常设备。
在前文叙述的实际数据分析过程中,研究中使用的Syslog日志分析方法无需关注每一条日志的具体内容,避免了日志格式不统一的问题,从而使得分析方法更趋简单通用。同时也为运维人员查找异常设备节省了大量时间,为采取主动运维措施提供了依据,使得运维工作效率得到提高。
研究中,当找到了异常事件和异常情况后,运维人员还需进一步就异常事件对网络的危害性进行确认。为此,重点将从Syslog日志数据中查找了图2和图3的异常日志内容,发现一台设备的Syslog日志超过99%的信息为:
system 03B0C180 [Core 0]: TASK:d5a914 Create task fail when spawn task, rtos tid ffffffff, task entry d5f370
另一台设备的Syslog日志超过99%的信息为: - 04E9DF60 [Core 0]: route_cache_create fail
2台设备都出现了系统内核级的报错信息,可以看出2条消息格式并不统一,而且消息内容关联描述的事件也不一致,但可以确定的是这2台设备都发生了系统软件的异常情况,对网络运行具有一定的危害性。
另外,针对图6和图13所出现的网络异常情况,研究则利用振荡源的分析方法,找出网络中的一组交换机共同出现了下面的异常日志信息:
wanhang_530_3524GX Dec 2 11:09:15 IP ARP: 192.168.0.1 moved from 00:e0:0f:37:9e:df to 00:22:aa:d6:9b:34wanhang_530_3524GX Dec 2 11:10:15 IP ARP: 192.168.0.1 moved from 00:22:aa:d6:9b:34 to 00:e0:0f:37:9e:df wanhang_530_3524GX Dec 2 11:10:15 IP ARP: 192.168.0.1 moved from 00:e0:0f:37:9e:df to fc:fa:f7:b8:c7:60
根据对实际设备的调查,确认该信息是用户接入点设备的配置错误产生的IP地址冲突,错误信息造成该区域10台交换机同时触发告警。由于用户接入点交换机一般会在工作时间开机、休息时间关机,因而造成图6和图13的有规律的网络振荡。可见,该异常事件同时触发了多个设备产生异常日志,对网络运行具有一定的危害性。
网络运维工作是一项系统、长期的工作。长远来看,主动式的网络运维工作必将成为发展趋势,也一定能够推动运维部门有效提高工作效率。在提高网络可用性的同时,改善用户体验。在从被动运维转向主动运维的过程中,运维部门需要从多方面改变或改进已有的工作方式和工作方法,并在设计开发中探索寻求找出更多更加良
好的适用于企业自身特点的网络运维工作方法,使主动运维给企业带来收益。
【相关文献】
[1] 廖敬新. 网络运维管理系统优化与建议[J]. 信息与电脑(理论版),2016(8):152-153. [2] 王政. 基于ITIL理论视角S公司IT服务管理研究[D]. 昆明:云南师范大学,2014. [3] 任凯,邓武,俞琰, 基于大数据技术的网络日志分析系统研究[J]. 现代电子技术,2016,39(2):39-41,44.
[4] 毕建华,王颖. 大数据时代运维管理面临的调整[J]. 金融科技时代,2014(1):85. [5] 何映军,何昱锋,王林,等. 主动式IT运维服务模式运用[J]. 民营科技,2017(1):35-36. [6] 龚银锋. 网络日志管理系统的技术研究与实现[J]. 网络安全技术与应用,2016(3):26-28. [7] 黄文,谢东青. 基于Syslog的网络日志管理分析模型[J]. 湖南科技学院学报,2006,27(5):1-167.
[8] GILL P, JAIN N, NAGAPPAN N. Understanding network failures in data centers: Measurement, analysis, and implications[C]//SIGCOMM'11. Toronto, Ontario, Canada:ACM, 2011:350-361.
[9] QIU Tongqing, GE Zihui, WANG Jia, et al. What happened in my network: Mining network events from router Syslogs[C]// ACM IMC.Melbourne, Australia: ACM, 2010:472-484.
[10]廖湘科,李姗姗,董威,等. 大规模软件系统日志研究综述[J]. 软件学报,2016,27(8):1934-1947.
[11]唐琳,李伟. 基于用户体验的“主动式”信息运维管理实践[J]. 电力信息化,2013,11(3):-93.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务