探索网络安全新技术
攀登黑客技术最高峰

Logvision:基于大数据分布式实时日志分析与入侵检测系统

软件简介

LogVision是一个整合了web日志聚合、分发、实时分析、入侵检测、数据存储与可视化的日志分析解决方案。聚合采用Apache Flume,分发采用Apache Kafka,实时处理采用Spark Streaming,入侵检测采用Spark MLlib,数据存储使用HDFS与Redis,可视化采用Flask、SocketIO、Echarts、Bootstrap。

系统架构

Logvision:基于大数据分布式实时日志分析与入侵检测系统-威武网安

数据流向

Logvision:基于大数据分布式实时日志分析与入侵检测系统-威武网安

入侵检测

Logvision:基于大数据分布式实时日志分析与入侵检测系统-威武网安

项目结构

flask:Flask Web后端
spark:日志分析与入侵检测的实现
flume:Flume配置文件
log_gen:模拟日志生成器
datasets:测试日志数据集
images:README的图片

依赖与版本

编译与Web端需要用到的:

Java 8, Scala 2.11.12, Python 3.8 (包依赖见requirements), sbt 1.3.8

计算环境中需要用到的:

Java 8, Apache Flume 1.9.0, Kafka 2.4, Spark 2.4.5, ZooKeeper 3.5.7, Hadoop 2.9.2, Redis 5.0.8

使用说明

在开始之前,你需要修改源码或配置文件中的IP为你自己的地址。具体涉及到flume配置文件、Spark主程序、Flask Web后端。

编译Spark应用

在安装好Java8与Scala11的前提下,在spark目录下,初始化sbt:

sbt

退出sbt shell并使用sbt-assembly对Spark项目进行编译打包:

sbt assembly

然后将生成的jar包重命名为logvision.jar。

环境准备

你需要一个伪分布式环境(测试环境为CentOS 7),并完成了所有对应版本组件依赖的配置与运行。
使用flume目录下的standalone.conf启动一个Flume Agent。将datasets文件夹中的learning-datasets提交如下路径:

/home/logv/learning-datasets

将datasets文件夹中的access_log提交如下路径:

/home/logv/access_log

入侵检测模型训练与测试

提交jar包至Spark集群并执行入侵检测模型的生成与测试:

spark-submit --class learning logvision.jar

Logvision:基于大数据分布式实时日志分析与入侵检测系统-威武网安

两个表格分别代表正常与异常数据集的入侵检测结果,下面四个表格可用于判断识别准确率。如图中所示250条正常测试数据被检测为250条正常,识别率100%;250条异常测试数据被检测为240条异常,10条正常,准确率96%。

启动可视化后端

在flask目录下执行如下命令,下载依赖包:

pip3 install -r requirements.txt

启动Flask Web:

python3 app.py

启动实时日志生成器

log_gen中的实时日志生成器可根据传入参数(每次写入行数、写入间隔时间)将样本日志中的特定行块追加至目标日志中,以模拟实时日志的生成过程,供后续实时处理。

java log_gen [日志源] [目标文件] [每次追加的行数] [时间间隔(秒)]

提交至环境,编译并运行,每2秒将/home/logv/access_log文件中的5行追加至/home/logSrc中:

javac log_gen.java
java log_gen /home/logv/access_log /home/logSrc 5 2

启动分析任务

提交jar包至Spark集群并执行实时分析任务:

spark-submit --class streaming logvision.jar

查看可视化结果

至此你已经完成了后端组件的配置,通过浏览器访问Web端主机的5000端口可以查看到实时日志分析的可视化结果:
欢迎界面:

Logvision:基于大数据分布式实时日志分析与入侵检测系统-威武网安

软件下载

Logvision

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Logvision:基于大数据分布式实时日志分析与入侵检测系统》
文章链接:https://www.wevul.com/646.html
本站所有内容均来自互联网,只限个人技术研究,禁止商业用途,请下载后24小时内删除。

评论 抢沙发

如果文章对你有帮助 可以打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册