System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及日志处理,尤其涉及一种基于spark的分布式日志检索系统以及方法。
技术介绍
1、大数据时代,随着移动通信网、互联网、物联网等信息技术的飞速发展,信息技术已经融入到人们的生活,遍布世界各地的各种通信终端、传感设备等产生了海量数据。海量的数据中蕴含大量信息,从信息中可以提取大量有用价值。其中,网站采集的日志包含了大量人们-特别是产品分析人员感兴趣的信息,其记录了服务器接收处理请求以及运行时错误等各种原始信息,通过对这些日志进行分析和统计,能够有效掌握系统运行情况以及网站内容的收访问情况、加强对网站及其内容的维护和管理。
2、这些海量的日志数据通常为小文件,目前普遍使用分布式文件系统来存储海量小文件数据,例如hdfs。hdfs是hadoop分布式文件系统,被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也很明显。hdfs是一个高度容错的系统,适合部署在廉价的机器上。hdfs能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
3、对于使用分布式文件系统存储的日志,在需要进行数据查询时普遍采用将文件导入数据仓库,然后在数据仓库中执行任务进行数据检索。这样虽然实现方式简单,但会载入过多的冗余数据,加载效率低、检索速度慢,同时对任务并行度、灵活性无法控制,效率较低。
4、另一种方式为使用分布式处理系统,例如spark。spark是一种用于大数据工作负载的分布式开源处理系统。
技术实现思路
1、为了解决相关的分布式日志检索效率较低以及用户友好性较低的问题,本专利技术提供一种基于spark的分布式日志检索系统以及方法,通过在分布式文件系统中检索,以及检索规则以及解析设置,提高了检索效率降且提升了用户友好性。
2、本申请实施例提供了一种基于spark的分布式日志检索系统,包括:
3、前端服务器;和,
4、后端服务器集群,所述后端服务器集群部署有spark系统和存储有日志的分布式文件系统,且所述spark系统和所述分布式文件系统的节点部署在一起,所述spark系统包括任务处理模块;其中,
5、所述前端服务器用于收集用户请求,并当所述用户请求为检索请求时,将所述检索请求发送至所述任务处理模块,所述检索请求包括检索规则;
6、所述任务处理模块用于解析所述检索规则并获得规则结果,以及根据所述规则结果在所述分布式文件系统中检索日志,并将获取的日志保存至所述分布式文件系统,
7、所述任务处理模块还用于响应于所述前端服务器的下载请求,发送所述获取的日志至所述下载请求中的指定地址。
8、采用上述技术方案,通过将spark计算节点和存储节点部署在一起,达到存储与计算的统一,无需对数据作迁移,从而降低数据迁移带来的时间与存储成本,提高检索效率;同时对计算任务拥有完全控制,增加计算灵活性;并且通过前端服务器做检索规则设置,后端服务器集群设置任务处理模块解析检索规则,对于研发人员来说实现一次编码适配所有日志检索任务,且扩展性强、操作简单,同时将检索规则与检索处理解耦,降低使用复杂度,减少重复编码出错概率,提高处理效率;对于用户来说,通过前端服务器点击与后端服务器集群交互获得检索数据,无需编码,提高了检索效率,且降低使用复杂度,提升了用户友好性。
9、在一些实施例中,所述检索规则包括日志的期限范围、域名和/或ip地址、字段下标、字段值、值的数据类型和比较类型;
10、所述任务处理模块包括规则载入单元和规则验证单元,所述规则载入单元用于根据所述字段下标解析所述检索规则并获得规则结果,所述规则验证单元用于根据所述规则结果在所述分布式文件系统中检索日志,并将获取的日志保存至所述分布式文件系统。
11、采用上述技术方案,通过以上检索规则实现满足大部分场景的检索需求,且通过字段下标扩展了检索类型,可根据实际情况进行实现以支持更多更复杂的场景。
12、在一些实施例中,解析所述检索规则并获得规则结果包括:
13、当所述字段下标为自然数时,所述规则结果为:所述字段下标为日志字段的位置信息,且
14、所述规则验证单元根据所述日志的期限范围、所述域名和/或ip地址获得日志集合,并逐行验证所述日志集合中的日志的合法性,且将验证通过的合法日志保存至所述分布式文件系统,其中,
15、日志的合法性验证为:所述规则验证单元根据所述字段下标、字段值、值的数据类型和比较类型与所述日志中的对应字段的值比较,比较结果与预设结果相同,则该字段的合法性验证通过;当所有所述字段下标对应的字段的合法性验证均通过时,对应所述日志的合法性验证通过。
16、采用上述技术方案,通过获取日志集合控制需要进行合法性验证的日志数量,提高了检索效率,且通过日志合法性验证提高了检索准确性。
17、在一些实施例中,若所述值的数据类型为数值型,则将与所述字段下标对应的日志字段转为整数型并进行日志的合法性验证。
18、在一些实施例中,当所述字段下标为第一预设负整数时,所述规则结果为:所述字段值为日志字段数量,且
19、所述规则验证单元根据所述字段值获取对应日志,且将获取的日志保存至所述分布式文件系统;和/或,
20、当所述字段下标为第二预设负整数时,所述规则结果为:所述字段值为日志类型,且
21、所述规则验证单元根据所述字段值获取对应日志,且将获取的日志保存至所述分布式文件系统。
22、在一些实施例中,当所述字段下标为第三预设负整数时,所述规则结果为:所述字段值为日志字段的位置信息,且
23、所述规则验证单元根据所述字段值获取对应日志字段的热门日志,且将获取的日志保存至所述分布式文件系统;其中,热门日志按对应日志字段的流量和请求流排序取前m个,m为正整数。
24、在一些实施例中,当所述值的数据类型不为数值型时,所述比较类型包括是否等于、不等于、包含、不包含,且当日志字段为互联网协议地址时,所述比较类型还包括是否归属、不归属;
25、当所述值的数据类型为数值型时,所述比较类型包括是否等于、不等于、大于、大于等于、小于、小于本文档来自技高网...
【技术保护点】
1.一种基于Spark的分布式日志检索系统,其特征在于,包括:
2.根据权利要求1所述的基于Spark的分布式日志检索系统,其特征在于,所述检索规则包括日志的期限范围、域名和/或ip地址、字段下标、字段值、值的数据类型和比较类型;
3.根据权利要求2所述的基于Spark的分布式日志检索系统,其特征在于,解析所述检索规则并获得规则结果包括:
4.根据权利要求3所述的基于Spark的分布式日志检索系统,其特征在于,若所述值的数据类型为数值型,则将与所述字段下标对应的日志字段转为整数型并进行日志的合法性验证。
5.根据权利要求2所述的基于Spark的分布式日志检索系统,其特征在于,
6.根据权利要求2所述的基于Spark的分布式日志检索系统,其特征在于,
7.根据权利要求3所述的基于Spark的分布式日志检索系统,其特征在于,
8.根据权利要求1所述的基于Spark的分布式日志检索系统,其特征在于,所述检索规则采用JSON格式。
9.根据权利要求1所述的基于Spark的分布式日志检索系统,其
10.一种基于Spark的分布式日志检索方法,其特征在于,包括通信连接的前端服务器和后端服务器集群,所述后端服务器集群部署有Spark系统和存储有日志的分布式文件系统,且所述Spark系统和所述分布式文件系统的节点部署在一起,所述方法包括:
...【技术特征摘要】
1.一种基于spark的分布式日志检索系统,其特征在于,包括:
2.根据权利要求1所述的基于spark的分布式日志检索系统,其特征在于,所述检索规则包括日志的期限范围、域名和/或ip地址、字段下标、字段值、值的数据类型和比较类型;
3.根据权利要求2所述的基于spark的分布式日志检索系统,其特征在于,解析所述检索规则并获得规则结果包括:
4.根据权利要求3所述的基于spark的分布式日志检索系统,其特征在于,若所述值的数据类型为数值型,则将与所述字段下标对应的日志字段转为整数型并进行日志的合法性验证。
5.根据权利要求2所述的基于spark的分布式日志检索系统,其特征在于,
6.根据权利...
【专利技术属性】
技术研发人员:黄凯旋,唐乾坤,刘朋朋,
申请(专利权)人:臻乐尔科技服务上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。