流量监控服务

2024-09-24

流量监控服务(共7篇)

流量监控服务 篇1

Do S是Denial of Service的简写就是拒绝服务,而DDo S就是Distributed Denial of Service的简写就是分布式拒绝服务。DDo S是利用TCP三次握手的漏洞进行攻击的,所以对它们的防御办法都是差不多的。DDo S也是黑客门惯用的手段,让网络服务商防不胜防,虽然现在也有很多物理防火墙等安全手段,一个大的网站可能有很多台主机利用负载均衡技术提供同一个网站的www服务,但是在大规模的DDo S攻击面前依然不堪一击。

分布式拒绝服务攻击采取的攻击手段就是分布式的,在攻击的模式改变了传统的点对点的攻击模式,使攻击方式出现了没有规律的情况,而且在进行攻击的时候,通常使用的也是常见的协议和服务,这样只是从协议和服务的类型上是很难对攻击进行区分的。在进行攻击的时候,攻击数据包都是经过伪装的,在源IP地址上也是进行伪造的,这样就很难对攻击进行地址的确定,在查找方面也是很难的。这样就导致了分布式拒绝服务攻击在检验方法上是很难做到的。

此流量监控报警系统是在centos 7版本下使用shell脚本撰写的,通过邮件报警。现在智能手机的普及,邮件也能像短信即使告警,通知服务器运维人员。此脚本包包含主程序、子程序、配置文件、邮件引擎、输出日志等。

主程序:作为整个脚本的入口,是整个系统的命脉。

配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。

子程序:这个才是真正的监控脚本,用来监控各个指标。

邮件引擎:是原本是由一个php程序来实现,它可以定义发邮件的服务器、发邮件人以及收邮件人。但是如果发表在本论文里,会导致篇幅过长,所以调用了系统自带的mailx邮件引擎。

输出日志:整个监控系统要有日志输出。

我们的机器角色多种多样,但是所有机器上都要部署同样的监控系统,也就说所有机器不管什么角色,整个程序框架都是一致的,不同的地方在于根据不同的角色,定制不同的配置文件。

程序架构:monitor/bin/main

其中bin下是主程序,conf下是配置文件,mail下是邮件引擎,log下是日志及需要发送的邮件内容。此脚本包中的程序是使用的相对路径,如果使用该脚本包请按照以上程序架构对应的路径。

1)main.sh

2)mail.sh

邮件控制脚本,原本是由php实现的,但是由于篇幅过长,改为调用系统自带的mailx来实现,如果系统内未内置,请使用yum install mailx-12.5-12.el7_0.x86_64安装。使用maix之前需要先配置/etc/mail.rc文件,在该文件最下面加入以下内容:

如果测试不能发送邮件,请在邮箱设置里打开POP3/SMTP服务。

由于服务器是集群式分布,一个运维人员要管理上百台服务器。如果服务器集群受到DDo S攻击,不会只是单一的一台服务器会报警,而是上百台服务器同时报警。DDo S攻击一般会持续很长时间,

如果每分钟有上百台机器发邮件到自己的邮箱会是怎样一个折磨人的事情。如果这里使用短信作为报警手段,那么也会给企业带来不必要的损失,所以这里实现了邮件的收敛。如果遭受到攻击且距离上次受到攻击的时间有一个小时以上,那么会立即发送邮件。如果受到攻击且距离上次被攻击的时间在一个小时以内,就通过计数累计10分钟发一次邮件。初次使用本脚本包时,需要预先在number.log和timestamp.log置0.

3)mon.conf

为了此脚本的可扩展性,在此配置文件独立出来,是为了更好的控制各种监控程序。## to config the options if to monitor

最后,log里的文件需要按照要求提前创建。把mian.sh加入开机启动项,也可以直接手动运行,sh main.sh & 以后台这种方式运行。

通过shell脚本进行实时进行网卡流量监控,并通过shell脚本控制邮件的发送及发送频率,能够及时报告服务器的负载情况,这对网络运维至关重要。

摘要:随着云计算的到来,相应的大数据和物联网也随之兴起。然而网络信息安全的形势非常严峻。现在网络服务器都是集群式分布,很多服务器集中起来一起进行同一种服务,实现负载均衡,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,但是如果服务器被攻击,将会导致整个服务器集群受到影响,甚至有可能导致宕机,导致用户无法使用提供的服务,造成严重的损失。14年的qq邮箱大规模的瘫痪就是非常的例子。往往造成这种问题的是我们众所周知的DDo S。当受到DDo S攻击时,服务器流量会骤增为平时的几十倍,通过流量监控及时报警运维工程师处理,以免造成服务器大规模宕机。我们通过实时监测网卡流量变化,通过邮件引擎实现第一时间报警,及时处理,减少攻击带来的危害。

关键词:云计算,网络信息安全,服务器集群,负载均衡DDoS

参考文献

[1]李世明.跟阿铭学Linux[M].北京;人民邮电出版社,2014.

网络流量监控系统的设计 篇2

近年来, 随着P2P应用、金融业务、B/S、视频、语音等新业务层出不穷, 网络上流量不断增加, 流量模型日益复杂, 日益膨胀的网络应用对网络管理和网络决策提出了很大的挑战。这就需要采用网络流量监控来检测网络的异常行为, 为网络的安全策略部署提供依据。

2 网络流量监控系统的组成和特点

网络流量监控系统由数据采集模块、数据传输模块、数据处理模块、数据查询模块组成。如图1所示:

数据采集模块:该模块部署于网络出口处, 对网络数据进行采集并按特定格式存储到临时信息文件集中。

数据传输模块:该模块的主要功能是将数据采集模块采集的数据传输到Windows端监控服务器上。

数据处理模块:该模块将数据传输模块传输到监控服务器上的临时信息文件经过‘流’处理后存储到监控服务器的数据库中。

数据查询模块:该模块将从数据库中查询相应的信息, 并以WEB的形式显示给用户。

2.1 数据传输模块

数据传输模块采用基于TCP流量控制策略的方法。我们预先定义数据流并声明将要使用的变量。

定义:数据流 (data flow) 是指在源/目的端的主机之间一系列的数据分组, 它们有相同的路由, 我们把它简称为流。

变量声明:Wi表示用数据分组计量的第i个流当前窗口的值, Base RTT表示链路的来回传播延迟时, RTTi表示第i个流的来回传播延迟时, Psizei表示用字节计量的第i个流的数据分组的大小, Di表示第i个流的接收方在向发送方发送ACK的延时, Qi表示第i个流的排队延时, Ri表示第i个流的速率, R表示数据链路的速率。

TCP中的滑动窗口算法在实现数据包可靠、按序传递的同时也支持流量控制, 窗口值是在发送方收到接收方返回的确认信息之前发送方能够发送的数据分组的大小, 它是由拥塞窗口 (Congestion Window, CWND) 、发送方缓存 (Sender buffer) 、接受方通知窗口 (Advertised Window) 三者中最小值决定的, 即:Wi=MIN (CWND, Sender buffer, Advertised Window) , 其中, 拥塞窗口指发送方认为链路能够容纳的数据分组的大小, 是由操作系统为每个套接字 (Socket) 分配的。一般来说, 滑动窗口的大小由拥塞窗口的大小决定, 但是接收方可以通过分配较小的接收方通知窗口的方法来限制滑动窗口的大小。当链路刚好处于满负荷状态并且数据分组没有被丢弃或进行排队时, 第i个流的速率用下式表示:

如果发送方不断地增加发送地数据分组, 那么数据分组就会进行排队, 此时, 第i个流地RTT由下面的等式决定:

这个等式说明, 当链路超过满负荷状态时, 数据流的RTT等于链路的传播延时加上数据分组在接收方缓存里排队的时间Qi, 还要加上接收方从缓存里取出数据分组后向发送方送确认信息的时间Di, 把 (2) 式带入 (1) 式就得到链路超过满负荷状态时第i个流的速率和整个链路上数据分组的速率:

(3) 式是对单个数据流上由接收方通知窗口决定发送方发送数据分组的速率的完整描述, (4) 式是对整个链路上的描述, 从 (3) 式可以看出, 通过修改接收方窗口的大小Wi和改变接收方发送发送ACK的延时Di或者延长接收方数据分组的排队时间Qi可以改变发送方的传送速率。

2.2 数据处理模块

通过数据采集模块采集到的数据非常庞大, 为了减轻流量监控系统的性能压力, 需要将采集到的数据进行预处理, 减少需要处理、传输及存储的数据的量, 因此在此引入数据流的概念。流 (FLOW) 是指有同一组特性 (源IP地址、目的IP地址、源端口号、目的端口号、协议类型, 开始和结束时间) 的数据包集合, 在本系统中, 采用五元组 (源IP地址、目的IP地址、源端口、目的端口。协议类型) 来标识测量到的数据流。其中协议类型分为:TCP、UDP、ICMP、OTH-ER。我们对采集到的网络数据根据网络协议的特点把流进行“分流”, 目前IP网上的绝大多数流量是基于TCP流的应用 (超过90%) 。一个TCP连接通过一个socket来定义, 即由源IP, 目的IP, 源端口号, 目的端口号四元组来唯一确定。UDP、ICMP采用相同方式分流。每一条数据流都有一个唯一的标识符, 该标识符是一个32位无符号整数, 以计数器的形式存在。当采集到一个IP数据包时, 根据该数据包的五元组信息, 在标识符表 (哈希表) 中进行简缩, 如果该五元组信息能够在哈希表中检索到, 则说明这个数据包所属的数据流已经存在且未结束, 那么计数器不变, 并将该数据包与所属数据流连接, 更新相应的数据流信息。如果五元组信息在哈希表中不存在, 则认为该数据包属于一个新的数据流, 计数器自动增加, 其数值作为新数据流的标识符, 并在哈希表中建立新的数据流信息。对数据包进行预处理后将数据存储到数据库中, 以便数据查询模块查询。

3 总结

网络监控系统是目前网络管理必须的, 本系统对采集的数据已按照协议类型预先进行了处理, 并在此基础上对采集数据的总流量、TOP100IP、TOP100协议进行了统计。大大减轻数据库的压力, 实现对24小时内历史数据的详细查询。

摘要:随着网络技术的快速发展, 互联网传送内容日益复杂, 网络管理也具有越来越重要的作用。针对网络管理中网络监控系统进行了设计, 并把监控系统分为数据采集、数据传输、数据处理和数据查询四个部分, 并对数据采集、数据传输、数据处理和数据查询四个部分进行了设计。

关键词:流量监控系统,流,数据采集,数据传输

参考文献

[1]Christian Benvenuti.Understanding Linux Network Internals[C].O'Reilly.December2005.

[2]Jonathan Corbet, Greg Kroah-Hartman, Alessandro Rubini.Linux Device Drivers[C], 3rd Edition.O'Reilly.February2005.

[3]程光, 龚俭.大规模高速网络流量测量研究[C].计算机工程与应用, 2002, 5.

流量监控服务 篇3

随着山西电力数据通信网络规模日益扩大, 所承载业务日益增多, 对于网络服务质量 (Qo S) 的要求也在不断提高。山西电力数据通信网已经由原来的只承载数据业务 (如MIS、DMIS) 等, 逐渐转变为需要承载更多的语音、视频 (如变电站视频监控、网真) 等丰富的数据应用, 随着应用系统的构成越来越复杂, 衡量他们是否工作正常也不是“通”、“断”两个字就可以一言蔽之的, 需要全面地了解网络流量和网络状况以管理网络性能和诊断网络故障。

1 山西电力数据通信网概述

1.1 山西电力数据通信网结构

山西电力数据通信网中省公司作为核心节点部署2台核心路由器GSR12016和2台核心接入路由器Cisco7609, 四台设备成口字型结构互联。11个地区分公司作为骨干节点各部署2台骨干路由器Cisco7609, 与省公司2台核心路由器成口字形结构互联。山西电力数据通信网结构简图如下图1所示

1.2 山西电力数据通信网主要承载业务

山西电力数据通信网目前主要承载的业务包括:山西电力管理信息系统 (MIS) 、全省变电站生产视频监控系统、省网关口电能量采集系统、全省营销营业场所视频监控系统、全省电力营销缴费系统、全省调度OMS系统、NGN软交换系统、高保真会议电视 (网真) 系统、全省调度录音系统、调度程控网管系统等网络数据业务, 这些业务涵盖了电力生产、调度、基建、营销、管理、科研、设计等各个领域。

2 山西电力数据通信网部署NAM模块设计

2.1 NAM模块概述

NAM (Network Analyze Module) 是一种集成化的流量监控服务模块, 它为网络管理员提供了全面的应用层可见度, 可以实现实时的和针对历史数据的应用监控, 包括视频和语音。利用主动监控功能, 它可以方便地捕获和解码分组、分析趋势、隔离网络故障和在故障发生之前发现应用响应延迟。

2.2 山西电力数据通信网部署NAM模块设计

在山西电力数据通信网中, 分别在省公司2台核心接入路由器Cisco7609上部署NAM模块, 以实现对整网所有应用协议、主机和VLAN的流量监控, 用以全面的了解网络流量和网络状况。

3 山西电力数据通信网络流量监控与研究

3.1 针对应用协议的流量监控

如图2所示, 显示了一小时内流量最多的应用协议和应用协议组有哪些。

3.1.1 流量最多的应用协议及其流量速率和数量情况

如图3和图4显示的是一小时内应用协议的流量速率情况, 如图5和图6显示的是一小时内应用协议的流量数量情况。

下面显示的是一小时内的流量速率情况。

3.1.2 针对某个应用协议的实时流量监控

如图7显示的是某个应用协议的实时流量速率情况, 如图8显示的是某个应用协议的实时数据抓包情况, 可以进一步分析数据包。

3.2 针对主机的流量监控

如图9显示的是在一小时内, 在In和Out两个方向流量速率最高的主机地址有哪

3.2.1 分析某台主机的流量情况

如图10显示的是在一小时内, 某台主机在In和Out两个方向的流量速率和数量情况, 这台主机主要流过哪些应用的流量及各个应用流量占总流量的比例情况。

如图11显示的是在一小时内, 与某台主机双向通信的IP地址及流量速率情况。

3.2.2 针对某台主机的实时流量监控

如图12显示的是某台主机的实时流量速率情况, 如图13显示的是某台主机的实时数据抓包情况, 可以进一步分析数据包。

3.3 针对VLAN的流量监控

如图14显示的是在一小时内, 流量速率最高的VLAN有哪些。

3.3.1 所有VLAN的流量速率情况

如图15显示的是所有检测到的VLAN流量速率情况。

3.3.2 针对某个VLAN的实时流量监控

如图16显示的是某个VLAN的实时数据抓包情况, 可以进一步分析数据包。

4 结束语

本文分析了基于三种类型的网络流量监控, 如何应用这些监控数据来减少网络拥塞、提高网络响应速度, 最终提高网络性能是需要进一步研究的课题。

参考文献

基于MRTG的校园网络流量监控 篇4

随着计算机网络技术的高速发展,校园网的发展也是日新月异,各种网络应用也是层出不穷,对网络的性能和可靠性也提出了更高的要求。面对日益复杂的网络连接和逐渐增加的网络流量,作为校园网管理员需要花费相当多的时间和精力来了解这些网络设备运行状况,以维持网络系统的正常运作。这就需要一个有效率的流量监控系统,来对网络流量进行有效监控,及时了解网络的运行状态,并能够对网络出现的问题做出及时的调整和排除,同时网络流量监控也对将来的网络设备和结构进行升级提供理论依据和技术资料。MRTG是一款在SNMP协议基础上实现的流量监测的绿色软件,能满足校园中网络流量监控的需要。

2、SNMP介绍

SNMP(simple Network Management Protocol,SNMP)简单网络管理协议,前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

3、MRTG介绍

MRTG(MultiRouter Traffic Grapher,MRTG)是一个简单的网络流量统计分析工具,利用SNMP协议去侦测指定的运行有SNMP协议的网络设备,每几分钟统计其设备流量,再将结果汇总统计,并将流量负载以包含JPEG格式图形的HTML文档的方式显示给用户,直观的显示流量负载。它不仅耗用的系统资源小,而且是完全免费的。

MRTG具有主要有以下特色:

1)、可移植性:目前可以运行在大多数Unix系统和WindowsNT之上;

2)、源码开放:MRTG是用perl编写的,源代码完全开放;

3)、高可移植性的SNMP支持:MRTG采用了Simon Leine编写的具有高可移植性的SNMP4.实现模块,从而不依赖于操作系统的SNMP模块支持;

4)、可靠的接口标识:被监控的设备的接口可以以IP地址设备描述、SNMP对接口的编号及Mac地址来标识;

5)、PNG格式图形:图形采用GD库直接产生PNG格式,被绝大多数浏览器所支持。

4、安装配置MRTG

4.1 设置SNMP网络管理协议

要监控设备的网络流量,要先设置一下您需要监控流量的设备,它可能是路由器、交换机,甚至于一台安装了Windows 2000的电脑。只要其支持SNMP的traps,都可以使用来作为被监控的对象。

(1)Windows 2000服务器的设置

Windows 2000 Server中内含了SNMP网络管理协议,如果你想通过MRTG来监控一台Windows 2000服务器的相关信息,就需要启用该Windows 2000 Server的SNMP协议,然后设置团体名为“public”。

(2)交换机和路由器的设置不同厂家的交换机和路由器设置的过程稍有不同,但方法基本相同。本文以华为S6506三层交换机为例来说明一下交换机的设置过程。以下命令在华为S6506环境里面调试通过:

C:telnet您的交换机的IP

telnet 10.40.239.254

super;以超级用户登录

sys;进入系统视图

snmp-agent community read public;设置snmp团体名为public

4.2 在Windows 2000系统上安装Perl

Perl的安装比较简单,目前使用的一般是Active Perl for win-dows,现在最新的版本是5.8.7,它需要使用者先安装IIS或者A-PACHE等常用的Web服务器平台。在这里,我就以最常用的IIS作为安装的示例。Perl程序的下载网址是:http://www.activestate.com。在安装完毕后重新启动计算机即可让Perl生效。

4.3 安装MRTG程序

我们首先要从Internet上面下载最新的MRTG回来,MRTG的下载网址是:http://oss.oetiker.ch/mrtg/。

把mrtg程序解压到C:MRTG。

(1)运行Cmd,进入DOS窗口;

(2)c:>cdmrtgbin进入刚才解压的MRTG目录,准备执行命令;

(3)使用perl mrtg命令测试MRTG是否正确;

(4)执行命令行perl cfgmaker mrtg@10.40.239.254--global"

WorkDir:c:wwwrootmrtg"--output mrtg.cfg(mrtg@10.40.239.254使用的是您需要获得SNMP数据的设备的community和它的IP地址;WorkDir:c:wwwmrtg使用的是正确安装MRTG后,需要使用到的WEB目录,要根据实际情况更改;output mrtg.cfg则是输出后的配置文件名称)。

4.4 配置管理机

本文以Windows2000 Server为例来探讨管理机的配置过程。首先在Windows2000 Server系统中安装配置好IIS(InternetInformation Server),运行Cmd,进入DOS窗口;输入“perl indexmakermrtg.cfg>c:wwwrootmrtgindex.htm”后即可生成index.htm文件。输入“perl mrtg--logging=mrtg.log mrtg.cfg”启动MRTG进行监控。从“mrtg.cfg”中读取配置并启动MRTG程序,同时记录日志信息到“mrtg.log”中。完成以上设置工作后,我们就可以通过浏览器访问“192.168.0.254”,查看通过被监控设备的各个端口的流量。如果你希望每5分钟刷新一次流量统计,则可以用记事本编辑“mrtg.cfg”,在最后加“runasdaemon:yes”和“interval:5”(interval后的5表示每5分钟刷新一次,可根据实际情况进行修改)。

4.5 将MRTG配置为系统服务

由于MRTG需要由Perl来编译执行,不能直接添加为系统服务,所以,我们使用Windows 2000 Resource Kit中的instsrv.exe和srvany.exe这两个程序来帮助我们把MRTG添加为系统服务。

(1)添加srvany.exe为服务

Instsrv MRTG“

(2)配置srvany

在注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesrtg中,添加一个Parameters子键。再在Parameters子键中添加以下项目:

Application的字串值,内容为C:perlbinperl.exe

AppDirectory的字串值,内容为C:mrtgbin

AppParameters的字串值,内容为mrtg—-logging=mrtg.log mrtg.cfg

(3)打开控制面板管理工具服务,找到MRTG服务,启用

该服务,并设置启动类型为自动。这样MRTG即可全天监控网络的流量信息了。

5、结束语

网络的流量监控在日常的网络运行维护当中是一个非常重要的内容,通过在路由器、交换机等设备上配置MRTG,我们可以直观地了解网络中各个部分的带宽使用情况,第一时间发现异常网络流量,有效防范黑客和病毒的攻击。同时,还可以根据各个端口使用带宽的情况对网络带宽进行合理划分,大大提高网络的运行效率。

参考文献

[1]徐昌彪.计算机网络中的拥塞控制与流量控制.人民邮电

基于网络的视频车流量监控系统 篇5

关键词:网站,OpenCV,检测,跟踪,识别

传统的车辆视频监控的方式具有局限性,当摄像头布置好后,需要设置一间监控室,通过人员轮流值班负责观看监控。 针对传统的车辆监控系统在实际应用中的不足,本系统结合无线网络[1]实现了对远端车流量监控,实现多用户对车辆流通信息的实时查询,打破了以往视频监控地域的局限性,方便进行道路车辆实时监控、跟踪、查看。

1系统介绍

本系统主要由三部分组成:基于摄像头的车辆视频采集; 基于Open CV函数库的车辆识别和车流量计算;网站前台界面的具体实现。下面是每个部分的简单介绍:

1)利用摄像头监控车辆,得到车辆视频,然后将车辆视频传输给服务器,以进行后继的处理。在车辆识别区,使用采用背景差分的视频检测方法来实时检测车辆,通过背景差分将车辆从背景中分离出来。为了提高检测精度,需要在开始前对图像进行处理以便提高识别效率。通过车辆检测、图像分割、形心跟踪算法实现车辆的跟踪。车牌识别部分分为两个部分:车牌检测和字符识别。通过车牌定位,车牌判读识别车牌,然后通过灰度化,二值化,使用一系列算法获取到车牌的每个字符的分割图块。通过神经网络比对,识别车牌。

2)算法部分本系统采用了Intel公司资助的一种用于数字图像处理和计算机视觉的函数库Open CV,在图像预处理方面省去很多底层代码的编写。利用Open CV的运动物体跟踪的数据结构、函数库,建立了一个视频车辆分析系统,用于道路上车辆的检测与跟踪。

3)网站前台界面的具体实现:对于监控和跟踪到的信息, 本系统将利用网络传输到客户端界面,用户访问客户端界面对车辆信息进行实时查询。系统结构图如图11。

2服务器端

2.1视频和图形自动获取

该功能实现监控视频的录取以及视频中车辆图片截图功能,并将相关的视频、图片路径保存到数

据库中,方便以后调用。如图2所示:选择视频保存路径, 保存视频/图片的时间间隔,然后选择开

启摄像头,点击车牌识别,便开始进行视频的监控录取和图片的保存。

本模块使用MFC写的车辆识别控制面板。数据都保存在数据库中,所以需要连接数据库。然后以当前时间作为视频保存的名称,通过Opencv里面cv Create Camera Capture打开摄像头,之后通过一帧帧图像保存成视频。通过cv Create Video Writ-er(st.c_str(),CV_FOURCC('X','V','I','D'),fps,cv Size(640,480),1);可以设置对写入的视频的格式。这个cv Save Image()函数可以实现图片的截取。可将视频中车辆图片保存下来,方便车牌识别的时候使用。

2.2车流量统计

该功能实现对监控视频中车流量进行统计,首先通过读取数据库中的数据,调用相应视频;然后对视频中的车辆进出识别统计;最后把数据返回到数据库中。该功能界面如图3所示 :图下有四个标记框 ,当车辆行驶过来的时候,会有黄色的框标记车辆,记录下来。最后统计车流辆数据,上传

到数据库中。

该算法首先对采集的车辆图片进行灰度化处理,也就是把RGB彩色图片转换成灰度图片,方便以后的图片处理。处理方法采用Open CV[2]里的cv Cvt Color(p Frame, p Bk Img,CV_BGR2GRAY);转换函数,其中p Frame代表的是采集到的图片,p Bk Img代表的是处理后的灰度图片。原图和处理后的图片如图4所示。

图像分割[3]是图像处理和计算机视觉中基本而关键的技术之一,其中的是将目标与背景分离,为后续的分类、识别和检索提供依据。图像分割方法通常包括阈值法[4]、边缘检测法、区域跟踪法等。Opencv中提供函数cv Threshold(p Fr Mat, p Fr Img, 60,255.0, CV_THRESH_BINARY)二值化操作。

背景差分法[5]是目前基于视频检测算法中最常用的一种方法。背景差法首先选取背景中的一幅或

几幅图像的平均作为背景图像,然后把以后的序列图像当前帧和背景图像相减,进行背景消去。若所

得到的像素数大于某一阈值,则判定被监视场景中有运动物体,从而得到运动目标。这个方法需要实时更新背景[6]。

2.3车牌识别

该功能读取数据库中关于视频车辆的截图,通过算法分析,通过图片预处理,经过灰度化、二值化、闭运算操作[7]等处理。将车牌定位、识别之后,将结果保存到数据库中,方便客户端的查询调用。

如图5所示:依次识别图片中的车牌,并显示出来,识别后将数据保存到数据库中。

3客户端设计

为了方便用户及时查询车流量信息,本系统设计了客户端界面,用户可以通过网络登录到网站,进行车辆信息查询。包括车流量查询、车辆查询、车辆视频查询。界面如下图。

3.1系统首界面

用户在服务器运行的情况下,输入车辆网络跟踪系统网站的网址,点击链接即可进入客户端首界面。客户端首界面默认播放距当前时间最近时间段录制的车辆视频情况并且显示该段时间内进过车辆的车牌,计算该段时间的车流量,为用户提供了道路车辆情况的实时信息,方便了用户行车路线、出行时间的选择。

3.2车辆历史视频查询界面

车辆历史视频查询能够使用户方便地查看他想看的时间段的车辆视频记录,(服务器保存30天内的车辆视频)。点击相应的时间段查询界面播放该段时间的车辆视频并且显示该段时间内经过车辆的车牌,计算该段时间的车流量。

3.3车辆查询

车辆查询为用户提供了车辆查询服务,用户点击车辆查询便可以根据车牌号查询此车辆出现的时间段,将符合查询条件的车牌依次列出来,起到了车辆跟踪的目的。例如查询条件为冀3,系统将包含冀3的所有车牌及车辆所经过的时间列出来, 方便用户查找。如图7左图所示。

3.4车流量查询

车流量查询为用户提供了车流量查询服务,点击车流量查询便可以查询某时间段内的车流量统计结果,同时显示经过的车辆车牌号及经过的时间。例如查询2015年6月7号到17号经过该地的车流量,系统将会列出这一时间段内所有经过的车辆车牌号及经过时间,并计算经过的车辆总数。如图7右图所示。

4结论

流量监控服务 篇6

方法一:使用IPHLPAPI库中的函数,但是由于Delphi中没有该库,因此若要使用该库中的函数必须自己亲自动手写,该库的函数是从iphlpapi.dll动态连接库中导出的,在本篇中就不再讨论该方法,有兴趣的读者可以参考有关书籍。

方法二:通过查询注册表来获取网络流量数据。

方法三:使用程序计数器,即PDH中的函数来查询。

要使用PDH函数实现网络数据收集和监控,需要执行以下几个步骤:

(1)创建一个查询

通过调用PdhOpenQuery函数创建从实时数据源或日志文件收集性能数据的查询,函数返回查询句柄用于接下来的PDH函数调用,该函数原型如下:

szDataSource参数指定了从哪一个日志文件获取性能数据,如果该参数为空,则获取实时数据。dwUserData参数为用户定义的数据,一般设为0。phQuery为返回的查询句柄。

(2)向查询中增加计数器

调用PdhAddCounter函数向查询句柄增加计数器,该函数原型如下:

hQuery参数为PdhOpenQuery函数所返回的查询句柄。szFullCounterPath参数为计数器路径,该路径可以通过调用PdhBrowseCounter函数获得。dwUserData为用户定义的值,一般为0。phCounter参数为返回的计数器句柄。

(3)收集性能数据

调用函数PdhCollectQueryData收集性能数据,该函数原型如下:

h Query参数为所要收集数据的查询句柄,该参数为PdhOpenQuery函数返回的查询句柄。

(4)显示性能数据

调用函数PdhGetFormattedCounterValue显示收集到的性能数据,该函数原型如下:

h Counter参数为PdhAddCounter函数返回的计数器句柄。p Value参数是一个PDH_FMT_COUNTERVALUE结构指针,如果函数调用成功,则里面保存了所要查询的性能数据。

(5)关闭查询

首先调用PdhRemoveCounter移除计数器,然后调用PdhCloseQuery关闭查询句柄,两个函数的原型如下:

通过以上5个步骤,就可以将需要查询的性能数据收集并显示出来,以上5个函数的具体参数说明和用法读者可以参考MSDN,下面简单介绍以上几个函数的用法以及说明如何将其转换为Pascal语言描述的形式。

由于Delphi中没有PDH库,因此需要自己写一下,由于函数原型使用C语言描述,需要将它们转换为Pascal语言描述,这里还需要定义函数返回值类型和几个结构类型,具体定义如下:

从动态链接库中导入函数声明如下:

Delphi是支持面向对象编程的语言,同时,使用面向对象的编程方法可以带来很多的便利,接下来,将声明的函数封装为TPDHClass类,具体定义如下:

下面着重讲述一下该类中的函数的实现。对于构造函数,其主要作用就是初始化类成员变量,同时调用InitiatePdh函数,该函数其实就是实现以上步骤中的第(1)和第(2)步,即先创建一个查询,然后向查询句柄中增加一个计数器,查询句柄被保存在私有成员变量FQuery中,同样,增加的计数器保存在成员变量FCounter中,具体实现如下:

现在,已经有了查询句柄和计数器了,接下来就可以显示所要查询的数据了,函数Count就是实现该功能的,该函数首先调用步骤(3)里的函数收集性能数据,如果调用成功,就调用步骤(4)的显示函数,将要显示的数据保存在PDH_FMT_COUNTERVALUE结构中,再将数据取出并显示出来就行了,Count函数具体实现如下:

最后,要做的就是关闭查询,释放资源,FinalPdh函数就是完成该功能的。这样,一个实现性能数据查询的类就完成了,该类仅仅是实现了查询众多数据中的一个,例如查询网络数据中的总流量数据,现将其中比较重要的代码列出来。

以上就取得所需要的性能数据,如果需要实时获取数据,则只需使用一个Timer控件就可以达到实时监控数据的功能了,为了使程序更加直观也更专业,也可以使用一个显示波形的控件将收集到的数据显示出来,就像Windows任务管理器一样,文中实现了一个简单的绘制波形的类,其具体实现可以参考源代码。其实,Delphi作为RAD开发工具,其最大的特点是对第三方控件的支持和开发功能,因此,还可以将以上用到的类进一步封装成一个组件来使用,这样的话,能进一步增加程序的灵活性。

程序运行时效果如图1所示,单击“Browse”打开对话框选择“使用本地计算机计数器”,“性能对象”选择“Network Interface”,“从列表中选择计数器”选择“Bytes Total/sec”,最后,“从列表中选择范例”选择计算机的网卡,就可以显示实时数据了。

MRTG流量监控图的个性化定制 篇7

关键词:网络监控,MRTG,SNMP,定制网络管理

1 引言

MRTG最早的版本是在1995年春天所推出, 以Perl所写成, 因此可以跨平台使用, 它利用了SNMP送出带有物件识别码 (OIDs) 的请求给要查询的网络设备, 因此设备本身需支持SNMP。MRTG再以所收集到的资料产生HTML档案并以GIF或PNG格式绘制出图形, 并可以日、周、月等单位分别绘出。它也可产生出最大值最小值的资料供统计用。

MRTG的常规使用方法是显示出单一设备、端口的流量情况, 但在实际使用过程中, 我们常常需要多个设备及端口的流量加和与相减的特定流量统计图。因此, 在基于MRTG的常规使用上的基础上, 我们提出一个能显示出多个设备或端口的特定流量统计图的方案。

MRTG可以通过以下几个方面来实现个性化定制, 从而实现网络的统一和便捷的管理。

2 实现方法

2.1 根据监控目标的类型 (读交换机或路由器的端口量) 不同而定制面向用户的流量图和面向运营商的流量图

由于MRTG不会自动识别需要显示设备的接收和发送流量的方向, 如果直接配置然后生成对应图形, 就会得到默认的流量图, 而不是根据实际情况反映的流量图。例如图1:

如果图1所显示的In流量和Out流量并不是实际中需要显示出的流量图时, 可编辑配置文件, 在配置文件中表示端口号的数字前加负号。如图2方框所示:

2.2 加和量

当我们需要很直观地查看多个端口总量流量图的时候, 可以通过MRTG流量的加和来实现。该需求适用于分布在不同交换机下多个端口下的同一单位或同一部门的总量监控。

2.2.1 同向的简单加和

图3表示两个同向端口量的简单加和。其中方框中表示为, 这是一个加和文件。

其对应的配置文件如图4:

图4左框为SNMP的密码, 右框为设备的Ip地址。

表达式的意思为:

In的总流量为某Ip地址设备的16号口In流量加上某Ip地址设备的20号口In流量。

Out的总流量为某Ip地址设备的16号口Out流量加上某Ip地址设备的20号口Out流量。

这样在流量图中我们就得出了两个在不同设备下的流量加和图。

2.2.2 包含反向的复杂加和

当需要把面向用户的流量和面向运营商的流量加和起来的时候, 就可能涉及到流量的方向问题, 图5就是一个涉及到不同方向流量加和的配置。

其中左框为SNMP的密码, 右框为设备的Ip地址。

表达式的意思为:

In的总流量为某Ip地址设备的48号口Out流量加上某Ip地址设备的8号口In流量加上某Ip地址设备的33号口Out流量加上某Ip地址设备的36号口Out流量。

Out的总流量为某Ip地址设备的48号口In流量加上某Ip地址设备的8号口Out流量加上某Ip地址设备的33号口In流量加上某Ip地址设备的36号口In流量。

这样我们就得到一个包含反向流量的加和流量图。

2.3 差量

有时候我们需要用出口总量减去某个或某几个端口量的差, 得到我们所希望的差量。例如图6, 表示某单位的网络流量。

对应的配置文件为图7:

其中左框为SNMP的密码, 右框为设备的Ip地址。

表达式的意思为:

In的总流量为某Ip地址设备的8号口In流量减去某Ip地址设备的7号口Out流量。

Out的总流量为某Ip地址设备的8号口Out流量减去某Ip地址设备的7号口In流量。

这样我们就得到一个不同设备或端口的差量流量图。

3 总结

随着网络的快速发展和相关应用的广泛化, 人们对如何便捷高效地进行网络管理有了更加高度的重视。网络流量的监测是网络管理中相当重要的一部分, 其监测数据为网络的运维提供了直观的依据。本文以自身需求为出发点, 对MRTG流量监控系统进行了定制配置, 使得MRTG流量监控系统能更好地为我们的实际需求服务。

参考文献

[1]Boardman B.MRTG Monitors What’s Brewing.[S.I.]:Network Computing.2003, 14:73.

[2]孙泳, 史忠植.MRTG的研究与部署[J].计算机应用, 2004, 24 (3) :22-24.

[3]陈贺明.用MRTG监控网络流量[J].科技信息, 2007, 17:106.

[4]邵泽云.基于MRTG的网络流量监测研究与应用[J].安庆师范学院学报, 2010, (2) :59-61.

上一篇:高校供电下一篇:预防呕吐