CN107171876A - 一种基于流量统计数据的访问告警方法 - Google Patents

一种基于流量统计数据的访问告警方法 Download PDF

Info

Publication number
CN107171876A
CN107171876A CN201710615124.4A CN201710615124A CN107171876A CN 107171876 A CN107171876 A CN 107171876A CN 201710615124 A CN201710615124 A CN 201710615124A CN 107171876 A CN107171876 A CN 107171876A
Authority
CN
China
Prior art keywords
statistics
rule
triggering
alarm method
setting rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710615124.4A
Other languages
English (en)
Inventor
林康
罗鹰
王飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHENGDU COLASOFT Co Ltd
Original Assignee
CHENGDU COLASOFT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU COLASOFT Co Ltd filed Critical CHENGDU COLASOFT Co Ltd
Priority to CN201710615124.4A priority Critical patent/CN107171876A/zh
Publication of CN107171876A publication Critical patent/CN107171876A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于流量统计数据的访问告警方法,具体方法为:网络中的数据包经过分析,按照时间桶生成各种统计数据;生成的统计数据传递给存储模块进行存储;警报模块通过存储模块获取统计数据,按照设定规则进行告警;并且,对设定规则进行预处理,形成一种树形结构,通过对树形结构的遍历,完成对设定规则的匹配。与现有技术相比,能够适用于大流量环境下,支持大量复杂规则的,高性能访问告警功能。

Description

一种基于流量统计数据的访问告警方法
技术领域
本发明涉及一种基于流量统计数据的访问告警方法,特别是涉及一种适用于大流量环境和复杂告警规则的,基于流量统计数据的访问告警方法。
背景技术
流量统计是指分析网络中的原始数据包数据,计算各种网络指标,并按照一定规则(IP,端口、会话等等)将结果分类并合并在一起,以便后续分析。
时间桶统计是指按时间桶:持续时长为N秒,并且开始时间戳为N的整数倍的时间段称为时间桶。常用时间桶有1秒桶、1分钟桶、1小时桶、1天桶等。如1秒桶是指任意一个时长为1秒的时间段;1分钟桶是指开始时间戳为60的整数倍,并且时长为60秒的时间段;10分钟桶是指开始时间戳为600的整数倍,并且时长为600秒的时间段;其他时间桶类推。
告警规则是指网络元数据组合在一起形成的规则如:IP、端口、应用、协议等等。
黑名单为网络流量与告警规则匹配时进行告警;白名单为网络流量与告警规则不匹配进行告警。
维度是指规则中支持的网络元数据的数量,如规则中只有IP,表示为一维、规则中包括IP和端口为二维;依次类推,维度越高实现的复杂度越高、性能越低。
随着网络流量环境的迅猛增长,针对大流量的高性能的分析解决方案需求越来越迫切。当前很多号称支持大流量分析的系统都只能做一些基础的流量分析功能,对用户的作用有限。
本技术源于网络数据分析领域,在网络数据分析领域中经常需要对网络中的异常数据流量、异常统计指标进行告警。如:某IP访问某台服务器;某时间字节数大于特定阈值或者某IP发送数据包数大于特定阈值等等。但是受限于性能和复杂度这类告警在大流量环境中很少使用,即使使用也只能支持少量的简单规则,且有诸多限制。
逐条匹配:循环对规则进行一一比对,这种方式实现最简单,对规则没有过多要求,可以支持一些较为复杂的规则,但是性能极低,数量有限,对于小流量环境还勉强适用。假设有m条规则,每秒钟存在n条会话,那么需要匹配的次数就是m*n次,其时间复杂度为O(m*n)。
哈希表匹配:哈希查表操作胜在速度极高,且不受规则数量的影响(可以达到百万级规模),基本上接近到O(1)的性能,是一种在网络分析领域使用极广的算法;遗憾的是哈希表要求规则唯一,很多网络分析领域的告警规则都需要考虑范围,无法满足唯一性要求(特定情形下可以将1个范围转换为n个非范围规则,但会导致规则的规模急速上涨,内存资源无法满足)。
不少流量统计软件都有类似的访问告警功能,但其在大流量环境下表现一般都不如人意;要么是性能不足,难以支撑大流量的分析要求,要么是告警规则简单、支持数量有限,难以满足用户的使用需要。
发明内容
本发明要解决的技术问题是提供一种基于流量统计数据的访问告警方法,该方法能够适用于大流量环境下,支持大量复杂规则的,高性能访问告警功能。
本发明采用的技术方案如下:一种基于流量统计数据的访问告警方法,具体方法为:网络中的数据包经过分析,按照时间桶生成各种统计数据;生成的统计数据传递给存储模块进行存储;警报模块通过存储模块获取统计数据,按照设定规则进行告警。
所述方法还包括,对设定规则进行预处理,形成一种树形结构,通过对树形结构的遍历,完成对设定规则的匹配。
对设定规则进行预处理的具体方法为:将设定规则中每一个存在交叉的维度拆分为不同的树节点,保证能够在一次遍历中得到正确的识别结果。
在系统中我们需要对“客户端IP”、“服务端IP”、“服务端PORT”、“应用”和“协议”等5个维度组成的规则进行流量访问告警;为了简化规则配置,可能每个维度都需要支持范围和*(地址需要支持IPv6);假定有如下规则:
如果网络中出现了规则表示的流量则进行告警。可以看出规则的构成非常复杂,在规则数量巨大的情况下,采用常规的算法进行处理,基本不现实。
充分研究了规则构成后,我们对规则进行一些预处理,形成一种简单的树形结构,这样对规则的匹配就变成了对这颗树的遍历;我们知道树的深度是有限的,就是规则的维度。
如图1所示,为第一条设定规则预处理后的结果,图2为第二条设定规则预处理后的结果。可以看到经过预处理后2条规则形成了复杂的树形结构;规则中的每一个存在交叉的维度都会被拆分成不同的树节点,保证能够在一次遍历中得到正确的识别结果。从2条规则的预处理我们可以发现规则中的维度交叉越厉害,被切分的树节点会越多,树的结构越复杂,消耗的内存也会越大,构建的时间也越长;但是无论多复杂的树,一旦构建完成,其识别的效率只与树的高度相关(维度),与树的复杂度无关。
假如有如下待匹配流量:192.168.1.3,10.2.9.9,8189,HTTP,TCP
通过对树的遍历我们可以得上图中的虚线所示路径,最终识别出规则1匹配即说明待匹配的流量会产生访问告警。
随着现在网络中越来越多的使用IPv6协议,产生了对IPv6流量的分析处理的强列需求;我们知道IPv4可以由32位的整数表示;为了支持IPv6的规则在IPv6中以128位整数实现,以此表示IPv6。
所述方法还包括,采用双缓存机制,对于需要重新修改并进行配置的设定规则,修改后放在一个地方进行预处理,与触发任务中获取到的设定规则互不干扰;在预处理修改后的设定规则时,触发任务依然使用本地存储的配置好的内容进行告警,一旦预处理完成,触发任务获取新的配置好的设定规则,完成告警。由于所述设定规则越复杂,数量越大,则设定跪着预处理的时间也就越长,如果每次在获取配置后才进行预处理,显然会严重影响系统的性能。
所述方法还包括,设置一个定时器来定时产生触发告警任务。采用定时器来触发告警任务,以适应统计数据产生规律和降低系统的耦合性。如果在时间桶数据产生后直接触发告警任务,则源于统计数据的产生规律,系统的耦合性会比较高。在本发明中,设置一个定时器去触发,尽量和统计数据的生成分离,通过统一的查询接口获取统计数据,这样一旦需要在触发警报前对统计数据进行一些特殊处理就很方便。另外,直接触发警报这样的流程属于串行的方式,不利于性能控制,一旦触发性能不足会引起统计数据生成的性能下降,反之也是一样的。分离虽然增加了额外的统计数据获取的流程,但由于是分离的,可以独立控制,互不干扰。
所述定时器定时检查时间桶统计数据是否已经产生,如果是,则触发告警任务。
所述方法还包括,设定告警任务触发统计数据在内存中存储的最大时间或最大数据量;告警任务触发后,检查触发告警任务的统计数据是否还在内存中,如果否,则丢弃这些数据不再触发告警任务,避免性能进一步恶化(时间越久说明性能越低)。完成这一步后,紧接着需要获取告警规则的“配置”和该触发点的统计数据。
所述方法还包括,从缓存中获取对告警需要的来自于查询接口的统计数据,而非从磁盘中读取,从而进一步提高系统的处理能力。
与现有技术相比,本发明的有益效果是:能够适用于大流量环境下,支持大量复杂规则的,高性能访问告警功能。
附图说明
图1为本发明其中一设定规则预处理的原理示意图。
图2为本发明其中一设定规则预处理的原理示意图。
图3为本发明其中一实施例的流量告警功能流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
具体实施例1
如图3所示,一种基于流量统计数据的访问告警方法,具体方法为:网络中的数据包经过分析,按照时间桶生成各种统计数据;生成的统计数据传递给存储模块进行存储;警报模块通过存储模块获取统计数据,按照设定规则进行告警。
具体实施例2
在具体实施例1的基础上,所述方法还包括,对设定规则进行预处理,形成一种树形结构,通过对树形结构的遍历,完成对设定规则的匹配。
具体实施例3
在具体实施例2的基础上,对设定规则进行预处理的具体方法为:将设定规则中每一个存在交叉的维度拆分为不同的树节点,保证能够在一次遍历中得到正确的识别结果。
具体实施例4
在具体实施例1到3之一的基础上,所述方法还包括,采用双缓存机制,对于需要重新修改并进行配置的设定规则,修改后放在一个地方进行预处理,与触发任务中获取到的设定规则互不干扰;在预处理修改后的设定规则时,触发任务依然使用本地存储的配置好的内容进行告警,一旦预处理完成,触发任务获取新的配置好的设定规则,完成告警。
具体实施例5
在具体实施例1到4之一的基础上,所述方法还包括,设置一个定时器来定时产生触发告警任务。不同的时间桶的产生具有很强的时间规律,如1秒、1分、1小时(时间桶);根据需要我们可以选则一个时间桶作为警报触发的数据源(在本具体实施例中,采用分钟桶。
具体实施例6
在具体实施例5的基础上,所述定时器定时检查时间桶统计数据是否已经产生,如果是,则触发告警任务。在本具体实施例中,由于采用的分钟桶,考虑到统计数据生成的延时性,定时器每数秒(如每5秒)运行一次。
具体实施例7
在具体实施例1到6之一的基础上,所述方法还包括,设定告警任务触发统计数据在内存中存储的最大时间或最大数据量;告警任务触发后,检查触发告警任务的统计数据是否还在内存中,如果否,则丢弃这些数据不再触发告警任务。
具体实施例8
在具体实施例1到7之一的基础上,所述方法还包括,从缓存中获取对告警需要的来自于查询接口的统计数据,而非从磁盘中读取。
每一个时间桶产生的统计数据有很多条,需要对这些数据进行逐条告警,并产生告警日志。依赖于前面提到的高性能告警算法,本发明申请方案可以达到30万数据10万规模的规则的秒内告警性能。

Claims (8)

1.一种基于流量统计数据的访问告警方法,具体方法为:网络中的数据包经过分析,按照时间桶生成各种统计数据;生成的统计数据传递给存储模块进行存储;警报模块通过存储模块获取统计数据,按照设定规则进行告警。
2.根据权利要求1所述的基于流量统计数据的访问告警方法,所述方法还包括,对设定规则进行预处理,形成一种树形结构,通过对树形结构的遍历,完成对设定规则的匹配。
3.根据权利要求2所述的基于流量统计数据的访问告警方法,对设定规则进行预处理的具体方法为:将设定规则中每一个存在交叉的维度拆分为不同的树节点,保证能够在一次遍历中得到正确的识别结果。
4.根据权利要求1所述的基于流量统计数据的访问告警方法,所述方法还包括,采用双缓存机制,对于需要重新修改并进行配置的设定规则,修改后放在一个地方进行预处理,与触发任务中获取到的设定规则互不干扰;在预处理修改后的设定规则时,触发任务依然使用本地存储的配置好的内容进行告警,一旦预处理完成,触发任务获取新的配置好的设定规则,完成告警。
5.根据权利要求1所述的基于流量统计数据的访问告警方法,所述方法还包括,设置一个定时器来定时产生触发告警任务。
6.根据权利要求5所述的基于流量统计数据的访问告警方法,所述定时器定时检查时间桶统计数据是否已经产生,如果是,则触发告警任务。
7.根据权利要求1所述的基于流量统计数据的访问告警方法,所述方法还包括,设定告警任务触发统计数据在内存中存储的最大时间或最大数据量;告警任务触发后,检查触发告警任务的统计数据是否还在内存中,如果否,则丢弃这些数据不再触发告警任务。
8.根据权利要求1所述的基于流量统计数据的访问告警方法,所述方法还包括,从缓存中获取对告警需要的来自于查询接口的统计数据,而非从磁盘中读取。
CN201710615124.4A 2017-07-26 2017-07-26 一种基于流量统计数据的访问告警方法 Pending CN107171876A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710615124.4A CN107171876A (zh) 2017-07-26 2017-07-26 一种基于流量统计数据的访问告警方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710615124.4A CN107171876A (zh) 2017-07-26 2017-07-26 一种基于流量统计数据的访问告警方法

Publications (1)

Publication Number Publication Date
CN107171876A true CN107171876A (zh) 2017-09-15

Family

ID=59817521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710615124.4A Pending CN107171876A (zh) 2017-07-26 2017-07-26 一种基于流量统计数据的访问告警方法

Country Status (1)

Country Link
CN (1) CN107171876A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121637A (zh) * 2017-12-19 2018-06-05 北京盖娅互娱网络科技股份有限公司 一种用于记录应用日志的方法与装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902441A (zh) * 2009-05-31 2010-12-01 北京启明星辰信息技术股份有限公司 一种可实现序列攻击事件检测的入侵检测方法
CN102035685A (zh) * 2010-12-20 2011-04-27 中兴通讯股份有限公司 一种告警处理方法及dpi设备
CN103678627A (zh) * 2013-12-19 2014-03-26 成都科来软件有限公司 一种统计数据的存储和查询方法
CN105357118A (zh) * 2015-10-23 2016-02-24 上海斐讯数据通信技术有限公司 一种基于规则的流量分类方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902441A (zh) * 2009-05-31 2010-12-01 北京启明星辰信息技术股份有限公司 一种可实现序列攻击事件检测的入侵检测方法
CN102035685A (zh) * 2010-12-20 2011-04-27 中兴通讯股份有限公司 一种告警处理方法及dpi设备
CN103678627A (zh) * 2013-12-19 2014-03-26 成都科来软件有限公司 一种统计数据的存储和查询方法
CN105357118A (zh) * 2015-10-23 2016-02-24 上海斐讯数据通信技术有限公司 一种基于规则的流量分类方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121637A (zh) * 2017-12-19 2018-06-05 北京盖娅互娱网络科技股份有限公司 一种用于记录应用日志的方法与装置
CN108121637B (zh) * 2017-12-19 2022-01-04 北京盖娅互娱网络科技股份有限公司 一种用于记录应用日志的方法与装置

Similar Documents

Publication Publication Date Title
Waldvogel Fast longest prefix matching: algorithms, analysis, and applications
Song et al. Efficient packet classification for network intrusion detection using FPGA
CN100405784C (zh) 用于监控网络流量的方法和设备
CN106936667B (zh) 一种基于应用程序流量分布式分析的主机实时识别方法
Lakshminarayanan et al. Algorithms for advanced packet classification with ternary CAMs
CN104579974B (zh) 面向ndn中名字查找的哈希布鲁姆过滤器及数据转发方法
US20180285397A1 (en) Entity-centric log indexing with context embedding
WO2006115708A2 (en) Hierarchical tree of deterministic finite automata
So et al. Toward fast NDN software forwarding lookup engine based on hash tables
KR100960117B1 (ko) 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체
CN100385443C (zh) 一种基于分档Bloom Filter结构的查询方法
Chen et al. Distributed provenance compression
Park et al. Software architecture for a lightweight payload signature-based traffic classification system
CN104113598A (zh) 一种数据库三层审计的方法
Pong et al. HaRP: rapid packet classification via hashing round-down prefixes
Xu et al. [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN
CN107171876A (zh) 一种基于流量统计数据的访问告警方法
Bando et al. Range hash for regular expression pre-filtering
Song et al. Packet classification using coarse-grained tuple spaces
CN104794158A (zh) 一种界标窗口下域名数据重复检测快速索引方法
Korösi et al. Compressing IP forwarding tables: Realizing information-theoretical space bounds and fast lookups simultaneously
Kousar et al. DDoS attack detection system using Apache spark
CN109361658A (zh) 基于工控行业的异常流量信息存储方法、装置及电子设备
Ma et al. Virtual filter for non-duplicate sampling with network applications
Li et al. Fast longest prefix name lookup for content-centric network forwarding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170915