检察机关网络监测系统的数据采集与分析

2016-12-21 10:18龙清罗炜
电脑知识与技术 2016年28期

龙清+罗炜

摘要:目前,各级检察机关已建成完善的检察系统专线网络,并建立了大量多种多样的应用系统,建立统一的网络监测系统显得尤为必要。该文着重研究检察机关网络监测系统的数据采集与分析,力求提供最广泛适应的数据采集手段,大致规划数据采集范围,并给出数据分析的基本方法,完成监测系统的数据采集与分析的功能设计。

关键词:SNMP;SYSLOG;NAQ;UDP-jitter

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0020-03

1 概述

目前,我国检察机关已建成覆盖从最高检到区县级层检察院的专线网络,并建立了大量应用系统,如电子邮件、内网网站、网上办公、网上办案等。但由于检察院信息化平台没有统一的架构,各业务系统之间的连接不紧密,没有统一的管理系统和监测系统,检察业务的连续性存在潜在威胁,响应速度滞后。2014年,检察系统统一业务软件正式运行后,大部分业务均需网上办理,这就对网络和整个硬件平台的稳定性提出了很高的要求。因此,对网络实施不间断的智能监控,实时监测网络上各类设备的运行状态,对可能影响网络稳定的隐患提早发现、提早解决变得尤为重要。目前,检察系统的信息化硬件设备不仅会有多厂家多品牌设备共存的情况,而且会拥有数量众多的网络设备、存储、服务器、安全设备等,统一的网络监测系统在进行设计时,如何对各类设备的数据的进行采集和分析则是一大重点。

本文将分析最广泛适应的数据采集手段,规划数据采集范围,并提供数据分析的基本方法,完成监测系统的数据采集与分析的功能设计。

2 数据采集的基本方法

目前,对各类网络设备、服务器等硬件设备的信息进行采集主要遵循了SNMP和Syslog协议。SNMP协议主要用于收集各类设备管理信息库(MIB)中的信息,Syslog协议主要用于收集设备的运行日志信息。

2.1 SNMP协议原理

简单网络管理协议(SNMP)是管理进程和代理进程之间的通信协议,由一组网络管理的标准组成,包含应用层协议、数据库模型和资源对象。网络管理包含两个部分:被管网络单元(也叫被管设备)和网络管理站(也叫管理进程,manager)。被管设备端与网络管理站通讯的程序被称为代理程序(agent)或代理进程。一般来说,管理进程和代理进程之间的通信为两种方式。一种是管理进程主动向代理进程发出请求,询问一个具体的参数值或修改某一个具体的参数值,这种方式一般由管理方自主设定通讯的时间间隔。另一种方式是代理进程主动向管理进程报告有重要事情的发生,这种方式被称为被动式,通讯的时间间隔不定[1]。基于SNMP协议的网络管理模型如下:

上图中,NMS是网络管理站,MIB是所有代理进程包含的,且能够被管理进程进行查询和设置的信息的集合,其包含一套所有设备通用的结构和表示符号(SMI)。网络管理站通过SNMP协议与设备上的代理进程通信,以完成对MIB的读取和修改操作,从而实现对网络设备上的监控与管理功能。SNMP是网络管理站与设备之间通信的载体,通过其定义的PDU(协议数据单元)来完成信息的交换。代理进程的主要工作包括与NMS通信(接受NMS的信息,报告特殊事件Trap)、监控设备的各项参数并对设备的MIB库进行维护。而设备的MIB库信息类别一般由设备厂商指定。

2.2 Syslog协议原理

Syslog是一种工业标准的协议,用于记录设备的日志,一般用在嵌入式系统中。路由器、交换机等网络设备的系统日志一般记录系统中任何时间发生的大小事件。管理者可以通过查看系统日志随时掌握系统状况,其可记录的事件类别也必须由设备厂商预先定义好。在嵌入式系统里,可被syslog协议记录的事件可以被记录到不同的文件,还可以通过网络实现机器之间的信息传递[2]。Syslog协议提供了一个传递方式,允许一个设备通过网络把事件信息传递给事件信息接受者(也称之为日志服务器)。Syslog协议的发送者和接受者之间不要求有严格的相互协调。目前,几乎所有的网络设备都可以通过syslog 协议将日志信息以发送UDP数据包的方式传送到远端日志服务器,远端日志服务器通过监听UDP 514端口来接收日志,并且根据syslog.conf中的配置来处理本机和接收访问系统的日志信息,通过筛选后把指定的事件写入档案中,供后台数据库管理之用。Syslog协议存在不足之处,由于syslog是以UDP方式传送,当网络状态不稳定时,某些日志消息可能会丢失。在网络设备崩溃的情况下,难以将有用的信息发送到syslog服务器上,这对于排除故障难以起到指引作用。

由于大多数网络设备、安全设备以及服务器均支持SNMP协议,而各类设备的MIB库中存放的数据信息也比设备日志信息完善不少。因此,在进行检察系统网络监测系统设计时,在数据采集手段方面,本文建议以SNMP为主,Syslog协议为辅的方法。

3 所需采集的数据类型

数据采集的类型与范围直接决定了监测系统所能发挥的功能,因此应尽可能地多采集数据,以便进行综合全面地分析,得出最准确的结论。目前,架设在检察专线网上的设备有网络设备、安全设备、服务器、存储设备、视频设备等,设备类型多样且品牌型号均不一致,但一般均有MIB或日志信息库。下面,本文按设备分类,给出网络上运行的四大类主要设备的数据采集的基本范围。

1)网络设备:网络设备的信息收集是所有设备中最重要的,因为网络的稳定是整个监测系统发挥作用的基石。若网络发送中断,则整个监测系统面临失效的风险。网络设备中最重要的信息为性能状态信息(如CPU、内存、缓存状态信息等)、设备告警信息、路由信息、网络拓扑信息和接口状态信息(如接口速率、丢包率、错误包率、广播包率等),考虑到网络设备本身的硬件故障率很小,绝大部分网络故障是由于网络结构发生变化或因病毒等原因导致数据风暴造成数据阻塞所致,因此路由信息、网络拓扑信息和接口状态信息的收集尤为重要,这三类信息是判定绝大多数网络故障所必需的。其次,设备的运行日志信息、所有者信息、配置文件信息、链路管理信息、IP地址等也应一并收集。

2)服务器、存储设备:服务器和存储设备一般用于承载应用系统,其稳定的运行是应用系统不瘫痪的重要保障。由于这类设备的监测目的主要是保障其稳定运行,因此主要应收集性能状态信息(如CPU、内存、缓存状态信息等)、设备告警信息、IP地址、硬盘Smart信息、设备运行日志信息、设备所有者信息这几类。

3)安全设备:安全设备监测的主要目的是为了查找网络安全隐患,发现潜在的漏洞和攻击行为,因此主要应收集设备告警信息、配置文件信息、安全防护日志、IP地址这几类。其接口状态信息、性能状态信息(如CPU、内存、缓存状态信息等)、网络拓扑信息、设备运行日志信息、设备所有者信息也可一并收集用于辅助判断。

4)视频设备:在检察系统,视频会议的保障一般都较为重要,因此也要做好视频设备的运行监测。其监测的目的是为了防止设备突然崩溃导致会议中断,所以主要应收集设备告警信息、性能状态信息(如CPU、内存、缓存状态信息等)、设备运行日志信息、IP地址、设备所有者信息、接口状态信息(如接口速率、丢包率、错误包率、广播包率等)这几类。

本文认为,检察系统的网络监测系统应该至少能采集到四大类设备的以上信息,才可能保证全面地获取系统监测和分析所需的数据。

4 数据的分析方法

监测系统除了收集数据还必须能根据在所收集的数据对网络及各类设备的实时性能进行仔细评估,从而预判系统存在的风险。尤其在视频会议过程中,网络的丢包、抖动、延时均能明显影响到视频会议的音视频效果。监测系统可通过在会议前和会议中收集网络设备上的各项性能指标了解网络的健康情况,对可能出现的风险进行预判。网络监控主要的内容为网络可靠性、延迟、抖动和带宽等方面。一般来说,网络性能监测按采集流量数据的方法可以分为主动(Active)方式和被动(Passive)方式。主动方式是指管理方主动发数据包探测网络设备的运行情况,从反馈结果中分析网络的现有性能来得到需要的信息。被动方式是指管理方被动地采集网络中现有的标志性数据以分析网络设备的运行情况。主动方式由于是管理方主动发起,因此具备实时性,而且不受管理权限、范围的限制,但会对网络性能造成影响。被动方式实时性差,一般需要得到被管理设备的管理权限,但一般不会对网络性能造成影响。以下分别对这两种方式进行简要说明:

4.1 被动方式

这种方式下,监测系统一般通过分析各类设备MIB II库中的信息来了解网络及设备的性能情况。MIB II库中,网络设备的管理信息库共包括9大类信息,对网络性能的监控需要采集所有网络设备MIB库中的接口组、IP组、TCP组、UDP组的数据。并结合相关公式计算出所需要的实时和历史数据性能指标值,比如接口速率、丢包率、错误率、转发率等。如在MIB库的接口组,监测系统可以根据以下采集的内容对设备当前接口的状态进行判断:

1)ifType(OID为.1.3.6.1.2.1.2.2.1.3):用于定义接口的类型。

2)iMftu(OID为.1.3.6.1.2.1.2.2.1.4): 用于定义在该接口上可发送或接受的最大包的大小。太小的MTU值会导致网络和设备效率低下。

3)ifSpeed(OID为.1.3.6.1.2.1.2.2.1.5): 用于定义传输速率,单位为位/s。

4)ifInOctets(OID为.1.3.6.1.2.1.2.2.1.10): 用于定义在接口处收到的总字节数。

5)ifIndiscards(OID为.1.3.6.1.2.1.2.2.1.13): 用于定义由于资源紧张导致丢弃包的数目。如果一个接口的包丢弃率较高,则表示该设备存在拥塞问题。

6)ifInErrors(OID为.1.3.6.1.2.1.2.2.1.14): 用于定义由于出错而导致丢弃的接受包的数目。错误率较高时表示存在接收器问题或坏线路问题。

7)ifOutOctests(OID为.1.3.6.1.2.1.2.2.1.16): 用于定义从该接口上发送的字节总数。

8)ifOutDiscards(OID为.1.3.6.1.2.1.2.2.1.19): 用于定义由于资源局限而导致丢弃的发出包的总数。高丢包率表示需要为该口分配更多的缓冲区空间。

9)ifOutErrors(OID为.1.3.6.1.2.1.2.2.1.20): 用于定义由于出错而导致丢弃的发出包的总数目。高出错率表示存在硬件问题。

通过采集以上几组数据,可以大致分析出以下几类结果:

1)收集不同时间段网络接口的ifSpeed数据可以判断该接口连接的传输链路是否出现抖动;

2)计算ifOutDiscards除以ifOutOctests的值可得出该接口的发送数据丢包率,计算ifOutErrors除以ifOutOctests的值可得出该接口的发送数据错误率;

3)计算ifIndiscards除以ifInOctets的值可得出该接口的发送数据丢包率,计算ifInErrors除以ifInOctets的值可得出该接口的发送数据错误率;

4)通过ifSpeed、ifInOctets、ifOutOctests数据以及传输带宽可以计算出当前的带宽利用率。

4.2 主动方式

监测系统可采取NQA测试的方式来测试网络目前的性能状态。网络质量分析 (Network Quality Analyzer,NQA)是一种实时的网络性能探测和统计技术,可以对网络的响应时间、抖动、丢包率等信息进行统计。NQA一般通过发送测试报文来对网络性能或服务质量进行分析,进而为用户提供网络性能参数,如HTTP的总时延、抖动时延、DHCP响应时延、FTP连接时延、TCP连接时延和文件传输速率等[3]。利用NQA的测试结果,可以及时了解网络的性能状况,对网络故障进行诊断和定位,然后针对不同的情况进行相应的处理。NQA包括ICMP-echo、UDP-echo、UDP-jitter、Voice测试以及TCP测试等多种测试机制。而UDP-jitter则是探测网络状况,监视实时性业务服务质量的重要手段。在UDP-jitter测试中抖动 (Jitter)和单向延迟定义如下图所示,T1为A发送报文Packet1的发送时间,T2为报文Packet1的接收时间(这里将处理报文的时间忽略),T3为接收B所发出的响应报文的时间,T4、T5、T6的定义以此类推。

Jitter测试中,A端以固定的时间间隔向B端发送指定数量的UDP报文。每次探测发送的Jitter报文的数量和发送频率A端都可以根据自己的需要进行设置。假设一次Jitter探测发送了10个UDP报文,可以得到的探测结果有以下几点:

1)报文往返时延RTD(Round-Trip Delay):Packet1的往返时延RTD1 = T3 - T1;

2)报文单向时延OWD(One-Way Delay)(这种测试需要A和B之间首先进行时钟同步):SD(源地址到目的地址)、DS(目的地址到源地址)

Packet1:SD-Delay1=T2-T1,DS-Delay1=T3-T2;

Packet2:SD-Delay2=T5-T4,DS-Delay2=T6-T5;

3)网络抖动Jitter:

SD方向:SD Jitter1=(T5-T4)-(T2-T1);

DS方向:DS Jitter1=(T6-T5)-(T3-T2);

由此可见,如果成功收到的回应报文数为10,则计算得到的Jitter抖动数应该为9,UDP-jitter即可对这些统计值计算出抖动的最值、方差等做计算统计,从而了解到网络状况[4]。

不论是采取哪种方式采集数据,均应设置合理的数据采集周期以及数据分析函数,对某一时间段内的所有数据进行综合分析来进行判断,不可能只针对某一时刻所采集的数据进行分析。因此,数据采集周期和分析函数的确定将直接关系到数据分析的准确性和及时性。采集周期过大可能会导致无法及时地反映网络的实时状态,采集周期过小则会增加大大网络的负担、浪费网络资源。采用何种函数对所采集的数据进行分析也直接决定了监测系统的准确性。主动方式与被动方式各有其优缺点。主动方式和被动方式也都有其各自的用途。对于不同的参数、不同的目的,可采取不同的方式进行分析。对端到端的时延,丢包,时延变化等参数进行分析比较适合使用主动方式,而对于路径吞吐量等流量参数分析来说被动方式则更适合。

在检察机关网络监测系统中,可采取主动与被动结合的方式对网络进行监测,在不对网络性能造成较大影响的情况下,力求做到监测信息的及时、准确。

5 总结

本文概括了目前在网络性能监测方面的发展、技术和理论。根据检察系统的网络现状,描述了网络监测系统在设计时可采取的数据采集手段,划定了大致的数据采集范围,并给出了数据分析的两种基本方法与设计原则。在进行检察系统网络监测系统设计时,本文具有现实的指导意义。

参考文献:

[1] 陈海蓉,张玉明.SNMP协议及其应用开发[J].华北电力大学学报,2000,19(3):58-61.

[2] 王晓文. Syslog在网络管理中的应用[J].电信快报》,2005,6(6):7-10.

[3] 黄莉莉.IP网络质量分析测量的研究[D].天津工业大学,2008.

[4] 王维强. 基于UDP包的局域网端到端传输性能测试技术研究[J].Journal of Xinjiang Petroleum Institute,2003,4(4):71-74.