elk的netflow数据管理平台的设计与实现(源码)【字数:8074】
摘 要随着互联网的发展,网络规模和业务流量快速增长,其复杂化、多样化、集中化的网络应用特征使得校园网络带宽资源日益紧张。网络带宽肆意抢占,突发性的性能瓶颈、网络链路的拥挤堵塞、P2P技术下的数据上传与下载、高清视频点播等应用手段,极大地消耗了网络带宽,导致网络性能降低,甚至在集中高峰期造成网络瘫痪,从而严重影响网络安全使用[1]。针对以上现实问题,本文设计并实现基于ELK的NetFlow数据管理平台,通过对NetFlow日志进行处理分析,让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转[2]。 本系统主要是采用ELK对NetFlow日志进行处理和分析,通过前端技术进行直观展示,实现局域网内部的基于流量的网络性能管理,从而使网络管理员对整个网络的运行状况有更深人的了解,为具体的网络运维提供有力的数据保障。[6]
Key words:NetFlow;ELK;Data management;目 录
第一章 绪论 1
1.1论文工作的背景和意义 1
1.2论文工作的主要内容 1
1.3论文的组织结构 1
第二章 相关技术简介 3
2.1 NetFlow简介 3
2.2 ELK简介 3
第三章 系统需求分析 5
3.1 可行性分析 5
3.1.1技术可行性 5
3.1.2环境可行性 5
3.1.3经济可行性 5
3.2 功能需求分析 5
3.3 非功能需求分析 6
第四章 系统设计 7
4.1 系统概要设计 7
4.2 系统详细设计 7
4.2.1日志采集模块设计 7
4.2.2日志检索模块设计 8
4.2.3日志展示模块设计 9
第五章 系统实现 10
5.1日志采集模块实现 10
5.2 日志检索模块实现 11
5.3 日志展示模块实现 11
第六章系统测试 14
结束语 16
致 谢 17
*好棒文|www.hbsrm.com +Q: *351916072*
第一章 绪论
1.1论文工作的背景和意义
随着网络技术的不断发展,系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击中所占比例逐渐减少,这些攻击转而改为恶意的消耗网络有限的资源或占用系统,进而破坏系统对外提供服务的能力,但传统的系统升级无法检测并预防此类攻击。
针对以上问题,业界提出了以检测网络数据流的方法来判断网络异常和攻击,借助实时的检测网络数据流信息,通过与历史记录模式匹配、或者与异常模式匹配,让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈[2],并进行自动处理或告警显示,以保证网络高效、可靠地运转。由于网络通信具有流动性,所以缓存中记录的NetFlow统计数据通常包含转发的IP信息。 输出的NetFlow可用于网络监控。
日志处理方面,ELK是一整套解决方案,能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。是目前主流的一种日志系统。[7]
本文的目的是要开发一个操作简单的Netflow数据管理平台,通过处理和分析Netflow日志,网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转,实现网络运维的现代化管理[5]。
1.2论文工作的主要内容
本文详细介绍了此数据管理平台的实现过程。首先要做的是系统的需求分析。然后根据需求分析进行系统分析,完成总体设计和模块设计。最后对系统进行设计,完成代码的编写,并对系统进行测试。该系统的主要模块有以下几个:日志采集模块、日志检索模块和日志展示模块。
1.3论文的组织结构
本文的主要分为六个章节对课题进行论述,每个章节的内容如下所示:
(1)第一章 绪论,本章介绍论文工作的背景和意义和论文工作的主要内容。
(2)第二章 相关技术简介,介绍了开发过程中使用的相关技术。
(3)第三章 需求分析,本章对系统进行了可行性分析,并介绍了系统的功能需求分析和非功能需求[9]。
(4)第四章 系统设计,本章从系统概要设计、平台详细设计进行介绍。
(5)第五章 系统实现,本章对系统功能模块进行实现。
(6)第六章 系统测试,本章主要对系统的性能进行测试,并对部分功能进行测试,保证系统功能完善。
第二章 相关技术简介
2.1 NetFlow简介
NetFlow是一种数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。
NetFlow 目前广泛应用于高端路由器和交换机中,NetFlow 的数据输出要求先在路由器或交换机上配制NetFlow流输出这样路由器或交换机即可以UDP 的方式向外发送信息,在NetFlow收集器端,需要配置好接收端口号、过滤策略等,收集器 就可以接收到发送过来的NetFlow数据[3]。一个Flow 定义了一条在源和目的之间的单向流,这里 的源和目的既包括了IP层的源IP和目的 IP也包括TCP层的源端口和目的端口。
利用NetFlow采集器将网络流量信息进行采集,采集生成NetFlow日志。Netflow日志包含了用户账号、访问时间、源IP、源端口、源MAC地址、目标IP、目标端口、请求类型等用户网络访问信息。通过大数据处理用户的访问信息,可以及时的了解目前网络访问情况。
2.2 ELK简介
ELK是ElasticSearch、Logstash和Kibana的简称,是一种能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。
(1)ElasticSearch介绍
ElasticSearch:简称ES,ElasticSearch是一个基于Lucene的开源分布式搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:集群,索引自动分片,索引副本机制等。
Cluster代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。ES的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看ES集群,在逻辑上是个整体,你与任何一个节点的通信和与整个ES集群通信是等价的。
索引:相当于数据库,用于定义文档类型的存储,在同一个索引中,同一个字段只能定义一个数据类型。
Key words:NetFlow;ELK;Data management;目 录
第一章 绪论 1
1.1论文工作的背景和意义 1
1.2论文工作的主要内容 1
1.3论文的组织结构 1
第二章 相关技术简介 3
2.1 NetFlow简介 3
2.2 ELK简介 3
第三章 系统需求分析 5
3.1 可行性分析 5
3.1.1技术可行性 5
3.1.2环境可行性 5
3.1.3经济可行性 5
3.2 功能需求分析 5
3.3 非功能需求分析 6
第四章 系统设计 7
4.1 系统概要设计 7
4.2 系统详细设计 7
4.2.1日志采集模块设计 7
4.2.2日志检索模块设计 8
4.2.3日志展示模块设计 9
第五章 系统实现 10
5.1日志采集模块实现 10
5.2 日志检索模块实现 11
5.3 日志展示模块实现 11
第六章系统测试 14
结束语 16
致 谢 17
*好棒文|www.hbsrm.com +Q: *351916072*
第一章 绪论
1.1论文工作的背景和意义
随着网络技术的不断发展,系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击中所占比例逐渐减少,这些攻击转而改为恶意的消耗网络有限的资源或占用系统,进而破坏系统对外提供服务的能力,但传统的系统升级无法检测并预防此类攻击。
针对以上问题,业界提出了以检测网络数据流的方法来判断网络异常和攻击,借助实时的检测网络数据流信息,通过与历史记录模式匹配、或者与异常模式匹配,让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈[2],并进行自动处理或告警显示,以保证网络高效、可靠地运转。由于网络通信具有流动性,所以缓存中记录的NetFlow统计数据通常包含转发的IP信息。 输出的NetFlow可用于网络监控。
日志处理方面,ELK是一整套解决方案,能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。是目前主流的一种日志系统。[7]
本文的目的是要开发一个操作简单的Netflow数据管理平台,通过处理和分析Netflow日志,网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转,实现网络运维的现代化管理[5]。
1.2论文工作的主要内容
本文详细介绍了此数据管理平台的实现过程。首先要做的是系统的需求分析。然后根据需求分析进行系统分析,完成总体设计和模块设计。最后对系统进行设计,完成代码的编写,并对系统进行测试。该系统的主要模块有以下几个:日志采集模块、日志检索模块和日志展示模块。
1.3论文的组织结构
本文的主要分为六个章节对课题进行论述,每个章节的内容如下所示:
(1)第一章 绪论,本章介绍论文工作的背景和意义和论文工作的主要内容。
(2)第二章 相关技术简介,介绍了开发过程中使用的相关技术。
(3)第三章 需求分析,本章对系统进行了可行性分析,并介绍了系统的功能需求分析和非功能需求[9]。
(4)第四章 系统设计,本章从系统概要设计、平台详细设计进行介绍。
(5)第五章 系统实现,本章对系统功能模块进行实现。
(6)第六章 系统测试,本章主要对系统的性能进行测试,并对部分功能进行测试,保证系统功能完善。
第二章 相关技术简介
2.1 NetFlow简介
NetFlow是一种数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。
NetFlow 目前广泛应用于高端路由器和交换机中,NetFlow 的数据输出要求先在路由器或交换机上配制NetFlow流输出这样路由器或交换机即可以UDP 的方式向外发送信息,在NetFlow收集器端,需要配置好接收端口号、过滤策略等,收集器 就可以接收到发送过来的NetFlow数据[3]。一个Flow 定义了一条在源和目的之间的单向流,这里 的源和目的既包括了IP层的源IP和目的 IP也包括TCP层的源端口和目的端口。
利用NetFlow采集器将网络流量信息进行采集,采集生成NetFlow日志。Netflow日志包含了用户账号、访问时间、源IP、源端口、源MAC地址、目标IP、目标端口、请求类型等用户网络访问信息。通过大数据处理用户的访问信息,可以及时的了解目前网络访问情况。
2.2 ELK简介
ELK是ElasticSearch、Logstash和Kibana的简称,是一种能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。
(1)ElasticSearch介绍
ElasticSearch:简称ES,ElasticSearch是一个基于Lucene的开源分布式搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:集群,索引自动分片,索引副本机制等。
Cluster代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。ES的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看ES集群,在逻辑上是个整体,你与任何一个节点的通信和与整个ES集群通信是等价的。
索引:相当于数据库,用于定义文档类型的存储,在同一个索引中,同一个字段只能定义一个数据类型。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/63.html