基于Spark的大数据网络日志采集分析和预警的方法、系统技术方案

技术编号:23101808 阅读:30 留言:0更新日期:2020-01-14 21:08
本发明专利技术提供了一种基于Spark的大数据网络日志采集分析和预警的方法、系统,包括:日志原始文件获取模块(101):采集日志原始文件;日志采集模块(102):根据所述日志原始文件获得日志数据;日志存储模块(103):存储日志数据;数据逻辑处理模块(104):进行日志数据分析和并行计算,得到日志分析结果;分析结果存储模块(105):存储日志分析结果;可视化展示和预警模块(106):读取所述日志分析结果,展示所述日志分析结果或/和发出运维预警提示。本发明专利技术将实时处理和离线处理相结合,能够方便的对本网站相关信息快速分析和预警,避免花大量时间去寻找故障点,提高了运营效率,保障了网站的稳定和安全。

Method and system of big data network log collection, analysis and early warning based on spark

【技术实现步骤摘要】
基于Spark的大数据网络日志采集分析和预警的方法、系统
本专利技术涉及计算机
,具体地,涉及基于Spark的大数据网络日志采集分析和预警的方法、系统。
技术介绍
目前,现有专利保护的方案中只提出了基于Hadopp/Hive技术进行离线数据的分析,而并未给出在线数据怎么采集和分析,以及怎么预警的方法。实际工作中,互联网企业在网络日志采集和分析中,会碰到实时数据流实时处理和离线数据批量处理两种方式,两种模式混合出现,所以要求我们的日志系统具备面对海量的网络日志能够进行实时处理和离线处理,具备高吞吐能力和高容错性。碰到紧急情况马上预警,让人工进行维护和干预。例如,专利文献CN104298771A(申请号201410596395.6)公开了一种海量web日志数据查询与分析方法,其利用Hadoop/Hive分布式计算平台的高可靠性、高扩展性、高效性以及高容错性,包括以下步骤:对各个数据源的数据进行解析;将数据装载进数据仓库中;接收HiveQL语句;对接受语句进行优化,得到初步map结果;将接受语句转换成MapReduce任务执行并存储查询结果;数据分割;对数据进行分析挖掘;将数据装载进Mysql数据库中。该专利文献针对海量的web日志数据,实现精确地查询和数据分析,既能实现海量数据存储查询分析的可扩展性和高效性,也避免数据倾斜带来的job分布不均整体性能下降的问题。该专利文献为利用Hadoop/Hive进行日志数据的采集和查询分析,只能进行离线数据的处理,未涉及大批量实时数据的处理,以及后续的预警展现和通知。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于Spark的大数据网络日志采集分析和预警的方法、系统。根据本专利技术提供的一种基于Spark的大数据网络日志采集分析和预警的系统,包括:日志原始文件获取模块:采集日志原始文件;日志采集模块:根据所述日志原始文件获得日志数据;日志存储模块:存储日志数据;数据逻辑处理模块:进行日志数据分析,得到日志分析结果;分析结果存储模块:存储日志分析结果;可视化展示和预警模块:读取所述日志分析结果,展示所述日志分析结果或/和发出运维预警提示。优选地,日志原始文件包括Tomcat应用日志、系统日志、外部接口日志,所述日志原始文件记录了原始信息;原始信息包括网站原始的访问信息,还包括操作系统信息、CPU信息、内存信息、硬盘信息,以及外部接口调用时间响应信息。优选地,日志采集模块采用ApacheFlume技术采集日志数据,在Flume集群中,以代理Agent作为一个独立运行的最小单位,所述代理Agent包括:传输数据源Source、传输通道Channel、数据汇聚点Sink,所述数据汇聚点Sink包括Kafka消息集群数据汇聚点KafkaSink和HDFS分布式文件系统数据汇聚点HDFSSink;将实时数据通过第一传输通道ChannelA传输给KafkaSink,将离线数据通过第二传输通道ChannelB传输给HDFSSink;在日志存储模块将KafkaSink的实时数据发送到Kafka消息集群;将HDFSSink的离线数据发送到HDFS分布式文件系统。优选地,数据逻辑处理模块采用实时流式计算框架SparkStreaming接收Kafka消息集群中的实时数据,将实时数据划分成批次后转给Spark计算引擎处理,按批次生成结果流,判断所述实时分析数据是否达到第一预设阈值或/和第二预设阈值:--若达到第一预设阈值且未达到第二预设阈值,则判定记为一般预警数据;--若达到第二预设阈值,则判断记为重大预警数据;--否则,则判断记为正常数据;输出实时分析数据;采用Spark进行离线数据分析处理,读取HDFS分布式文件系统中存储的离线数据,在Spark计算引擎中进行SQL统计分析,判断所述离线分析数据是否达到第一预设阈值或/和第二预设阈值:--若达到第一预设阈值且未达到第二预设阈值,则判定记为一般预警数据;--若达到第二预设阈值,则判断记为重大预警数据;--否则,则判断记为正常数据;输出离线分析数据;分析结果存储模块将所述实时分析数据和离线分析数据存储到Redis缓存和MySQL关系数据库中。优选地,可视化展示和预警模块读取Redis缓存和MySQL关系数据库中的实时分析数据和离线分析数据;对于实时分析数据、离线分析数据:--若为一般预警数据,调用web显示一般预警信息;所述运维预警提示包括一般预警信息;--若为重大预警数据,调用web发送重大预警信息;所述运维预警提示包括重大预警信息;--否则,不进行预警。根据本专利技术提供的一种基于Spark的大数据网络日志采集分析和预警的方法,包括:日志原始文件获取步骤:采集日志原始文件;日志采集模块步骤:根据所述日志原始文件获得日志数据;日志存储模块步骤:存储日志数据;数据逻辑处理步骤:进行日志数据分析,得到日志分析结果;分析结果存储步骤:存储日志分析结果;可视化展示和预警步骤:读取所述日志分析结果,展示所述日志分析结果或/和发出运维预警提示。优选地,日志原始文件包括Tomcat应用日志、系统日志、外部接口日志,所述日志原始文件记录了原始信息;原始信息包括网站原始的访问信息,还包括操作系统信息、CPU信息、内存信息、硬盘信息,以及外部接口调用时间响应信息。优选地,在日志采集步骤中,采用ApacheFlume技术采集日志数据,在Flume集群中,以代理Agent作为一个独立运行的最小单位,所述代理Agent包括:传输数据源Source、传输通道Channel、数据汇聚点Sink,所述数据汇聚点Sink包括Kafka消息集群数据汇聚点KafkaSink和HDFS分布式文件系统数据汇聚点HDFSSink;将实时数据通过第一传输通道ChannelA传输给KafkaSink,将离线数据通过第二传输通道ChannelB传输给HDFSSink;在日志存储步骤中,将KafkaSink的实时数据发送到Kafka消息集群;将HDFSSink的离线数据发送到HDFS分布式文件系统。优选地,在数据逻辑处理步骤中,采用实时流式计算框架SparkStreaming接收Kafka消息集群中的实时数据,将实时数据划分成批次后转给Spark计算引擎处理,按批次生成结果流,判断所述实时分析数据是否达到第一预设阈值或/和第二预设阈值:--若达到第一预设阈值且未达到第二预设阈值,则判定记为一般预警数据;--若达到第二预设阈值,则判断记为重大预警数据;--否则,则判断记为正常数据;输出实时分析数据;采用Spark进行离线数据分析处理,读取HDFS分布式文件系统中存储的离线数据,在Spark计算引擎中进行SQL统计分析,判断所述离线分析数据是否达到第一预本文档来自技高网
...

【技术保护点】
1.一种基于Spark的大数据网络日志采集分析和预警系统,其特征在于,包括:/n日志原始文件获取模块(101):采集日志原始文件;/n日志采集模块(102):根据所述日志原始文件获得日志数据;/n日志存储模块(103):存储日志数据;/n数据逻辑处理模块(104):进行日志数据分析,得到日志分析结果;/n分析结果存储模块(105):存储日志分析结果;/n可视化展示和预警模块(106):读取所述日志分析结果,展示所述日志分析结果或/和发出运维预警提示。/n

【技术特征摘要】
1.一种基于Spark的大数据网络日志采集分析和预警系统,其特征在于,包括:
日志原始文件获取模块(101):采集日志原始文件;
日志采集模块(102):根据所述日志原始文件获得日志数据;
日志存储模块(103):存储日志数据;
数据逻辑处理模块(104):进行日志数据分析,得到日志分析结果;
分析结果存储模块(105):存储日志分析结果;
可视化展示和预警模块(106):读取所述日志分析结果,展示所述日志分析结果或/和发出运维预警提示。


2.根据权利要求1所述的基于Spark的大数据网络日志采集分析和预警系统,其特征在于,日志原始文件包括Tomcat应用日志、系统日志、外部接口日志,所述日志原始文件记录了原始信息;
原始信息包括网站原始的访问信息,还包括操作系统信息、CPU信息、内存信息、硬盘信息,以及外部接口调用时间响应信息。


3.根据权利要求2所述的基于Spark的大数据网络日志采集分析和预警系统,其特征在于,日志采集模块(102)采用ApacheFlume技术采集日志数据,在Flume集群中,以代理Agent作为一个独立运行的最小单位,所述代理Agent包括:传输数据源Source、传输通道Channel、数据汇聚点Sink,所述数据汇聚点Sink包括Kafka消息集群数据汇聚点KafkaSink和HDFS分布式文件系统数据汇聚点HDFSSink;
将实时数据通过第一传输通道ChannelA传输给KafkaSink,将离线数据通过第二传输通道ChannelB传输给HDFSSink;
在日志存储模块(103)将KafkaSink的实时数据发送到Kafka消息集群;将HDFSSink的离线数据发送到HDFS分布式文件系统。


4.根据权利要求3所述的基于Spark的大数据网络日志采集分析和预警系统,其特征在于,数据逻辑处理模块(104)采用实时流式计算框架SparkStreaming接收Kafka消息集群中的实时数据,将实时数据划分成批次后转给Spark计算引擎处理,按批次生成结果流,判断所述实时分析数据是否达到第一预设阈值或/和第二预设阈值:
--若达到第一预设阈值且未达到第二预设阈值,则判定记为一般预警数据;
--若达到第二预设阈值,则判断记为重大预警数据;
--否则,则判断记为正常数据;
输出实时分析数据;
采用Spark进行离线数据分析处理,读取HDFS分布式文件系统中存储的离线数据,在Spark计算引擎中进行SQL统计分析,判断所述离线分析数据是否达到第一预设阈值或/和第二预设阈值:
--若达到第一预设阈值且未达到第二预设阈值,则判定记为一般预警数据;
--若达到第二预设阈值,则判断记为重大预警数据;
--否则,则判断记为正常数据;
输出离线分析数据;
分析结果存储模块(105)将所述实时分析数据和离线分析数据存储到Redis缓存和MySQL关系数据库中。


5.根据权利要求4所述的基于Spark的大数据网络日志采集分析和预警系统,其特征在于,可视化展示和预警模块(106)读取Redis缓存和MySQL关系数据库中的实时分析数据和离线分析数据;
对于实时分析数据、离线分析数据:
--若为一般预警数据,调用web显示一般预警信息;所述运维预警提示包括一般预警信息;
--若为重大预警数据,调用web发送重大预警信息;所述运维预警提示包括重大预警信息;
...

【专利技术属性】
技术研发人员:易可可汪潮王威
申请(专利权)人:上海宝信软件股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1