本发明专利技术涉及一种日志实时展示和查询的方法与系统,包括:通过LOG收集服务器Logstash采集日志信息,并采用消息模式发送给消息系统服务器Kafka;Tornado服务器通过多线程并发读取模式从消息系统Kafka读取日志消息记录,并提供过滤服务;Tornado服务器采用高性能的Websocket长链接快速将日志消息发送到前台终端Livetail;前台终端Livetail通过特定方式实时显示日志消息,并提供过滤和搜索功能。本发明专利技术中,采集到的日志信息直接写入存储管理系统Kafka,然后由Tornado并发读出,采用高效WebSocket发送到具备数据过滤与查询功能的前端服务器Livetail,不仅降低了信息时延、大大提高日志信息的实时性,而且在服务器端提供过滤机制,有效推送信息并保证了日志信息安全性,极大的改善了现有系统的缺陷,提高了用户体验。
【技术实现步骤摘要】
本专利技术涉及一种日志实时展现和查询的方法与系统,尤其涉及一种大数据处理领域的日志实时展现和查询的方法与系统。
技术介绍
在大数据时代背景下,如何对实时日志数据进行快速分类和高效精准的查找渐渐成为影响实施日志管理生产力的重要因素。若能在管理海量实时日志数据的同时,按照客户的需求对数据进行细化分类进而精准推送,不仅可以减少用户等待时间,提高生产效率,同时还可以有效保证用户数据的安全性。实时日志ELK包括日志采集和日志实时展示与查询。传统的ELK采用Logstash完成日志采集并写入Elasticsearch中,然后再从Elasticsearch中获取数据并通过Kibana展现,而Kibana偏重于日志分析和统计,在日志实时展现与过滤查询等功能上一直是短板,不能很好满足实时日志所需的时效性的需求。
技术实现思路
针对目前ELK系统中存在的缺陷,本专利技术提出了一种新的低延时、可过滤与查找的实时日志展现与查询系统。该系统基于Logstash+Kafka+Tornado的构架模式,通过传统的Logstash采集到日志信息,并将该信息通过插件的方式写入Kafka,利用Tornado服务器采用多线程模式读取日志信息,根据用户设定的过滤规则对原数据进行过滤归并,然后采用高效的WebSocket将归整的数据精准推送到显示前端Livetail,该系统通过一个或者多个客户端采用backbone.js、CCS和HTML等方式将日志信息显示给用户。由于该方式中日志信息不在经过Elasticsearch而是直接进入Kafka,有效降低了信息时延;同时利用Tornado的异步非阻塞性,在保证高并发的同时可以获得良好性能;通过服务器端对信息进行过滤,从源头上保证了日志信息的安全性;前台服务器通过保存一段时间的日志数据,展现实时日志消息的同时还能提供根据日志过滤功能,用户可选择展现不同主机、应用名、日志类型的日志,除此,提供以正则表达式搜索日志、同时查看多种日志来源等功能,给用户提供了很大的查询灵活度,提供了丰富的操作选择,极大的提高了用户体验。本专利技术解决其技术问题所采用的技术方案是:日志信息采集步骤,通过LOG采集服务器Logstash对特定的日志信息进行收集。优选的,所述的日志采集步骤是指通过日志采集服务器Logstash对ssh_log、apache_access_log、nginx_access_log、mysql_log和other_log等log信息进行实时收集。日志信息存储步骤,通过消息存储服务器Kafka将采集到的日志信息归整形成记录数据供读取之用。优选的,所述的日志信息存储步骤是指所述日志采集服务器Logstash将采集到的日志信息通过插件的方式写进消息存储管理服务器Kafka。日志信息读取步骤,通过消息管理服务器Tornado从消息存储服务器Kafka中读出特定实时日志信息。优选的,所述的日志信息读取步骤指的是消息管理服务器Tornado采用多线程并发读取的方式从存储管理服务器Kafka读取所需日志信息。日志信息过滤步骤,消息管理服务器Tornado在读取到日志信息后,对信息按照特定要求进行过滤处理得到目标信息。优选的,所述的日志信息过滤步骤是指消息管理服务器Tornado根据用户配置,采用日志所属用户或者消息长度限制等过滤条件实现对原信息过滤,从而提供用户需求的日志信息,实现准确的信息推送,同时保证了日志信息的安全性。前端显示步骤,消息管理服务器Tornado通过高效的WebSocket将过滤后得到的信息发送给前端服务器Livetail,有前端服务器进行显示。优选的,所述的前端显示步骤是指前端服务器Livetail通过一台或者多台客户端将从消息管理服务器Tornado接收到的日志信息展示给用户。优选的,所述的客户端除具备显示功能外,还提供多窗口管理、过滤与查找、性能管理、可视化操作界面显示、记录显示停止与恢复、性能管理和Backbone.js等服务与功能,采用Backbone.js、CCS和HTML等方式展现日志信息。本专利技术还公开了一种日志实时展现和查询的系统,该系统包括以下子系统:日志采集系统,用于采集日志信息;日志信息存储系统,用于处理采集到的日志信息,形成记录并进行存储管理;日志管理系统,用于按照设定规则对输出日志信息进行过滤操作,并提供日志信息高效实时推送;前端系统,用于对读取到的日志信息进行显示,并提供过滤查找功能及其可视化操作界面。优选的,所述的日志管理服系统Tornado采用socket通道模式进行多线程日志信息读取,并同时对一个或者多个前端服务器提供日志数据输送服务。优选的,所述的前端系统是指包含一个或者多个客户端的前端显示客户端群,每个客户端为用户提供多窗口显示、日志信息过滤与查找、可视化操作界面显示、性能管理、日志显示停止与恢复和backbone.js等功能与服务。采用上述技术方案,本专利技术具有以下优点:本专利技术所述的日志实时展现与查询的方法与系统,基于Logstash+Kafka+Tornado的构架模式,通过传统的Logstash采集到日志信息,并将该信息通过插件的方式写入Kafka,利用Tornado服务器采用多线程模式读取日志信息,根据用户设定的过滤规则对原数据进行过滤归并,然后采用高效的WebSocket将归整的数据精准推送到显示前端Livetail,该系统通过一个或者多个客户端采用backbone.js、CCS和HTML等方式将日志信息显示给用户。由于该方式中日志信息不在经过Elasticsearch而是直接进入Kafka,有效降低了信息时延;同时利用Tornado的异步非阻塞性,在保证高并发的同时可以获得良好性能;通过服务器端对信息进行过滤,从源头上保证了日志信息的安全性;前台服务器通过保存一段时间的日志数据,展现实时日志消息的同时还能提供根据日志过滤功能,用户可选择展现不同主机、应用名、日志类型的日志,除此,提供以正则表达式搜索日志、同时查看多种日志来源等功能,给用户提供了很大的查询灵活度,提供了丰富的操作选择,极大的提高了用户体验。附图说明图1为本专利技术较佳实施方式的一种日志实时展现和查询方法与系统的流程图。图2为本专利技术较佳实施方式的一种日志实时展现和查询方法与系统的子系统图图3为本专利技术较佳实施方式的一种日志实时展现和查询方法与系统的方法与系统的流程图。图4位为本专利技术较佳实施方式的一种日志实时展现和查询方法与系统的方法与系统的前端客户端功能模块图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术的一个实施例,而不是全部实施例。基于本专利技术中的实施例,本领域的一般技术人员在没有做出创造性劳动的前提下所获得的其他实施例,都属于本专利技术保护的范围。本专利技术公开了一种日志实时展现和查询的方法,参见图1所示,该方法包含以下步骤:步骤S1:通过LOG采集服务器Logstash对特定的日志信息进行收集;步骤S2:Tornado服务器通过多线程并发读取模式从消息系统Kafka读取日志消息记录,并提供过滤服务;步骤S3:Tornado服务器采用高性能的Websocket长链接快速将日志消息发送到前台终端Livetail;日志本文档来自技高网...
【技术保护点】
一种日志实时展现和查询的方法,其特征在于,该方法包含以下步骤:日志信息采集步骤,通过LOG采集服务器Logstash对特定的日志信息进行收集;日志信息存储步骤,通过消息存储服务器Kafka将采集到的日志信息归整形成记录数据供读取之用;日志信息读取步骤,通过消息管理服务器Tornado从消息存储服务器Kafka中读出特定实时日志信息;日志信息过滤步骤,消息管理服务器Tornado在读取到日志信息后,对信息按照特定要求进行过滤处理得到目标信息;前端显示步骤,消息管理服务器Tornado通过高效的WebSocket将过滤后得到的信息发送给前端服务器Livetail,有前端服务器进行显示。
【技术特征摘要】
1.一种日志实时展现和查询的方法,其特征在于,该方法包含以下步骤:日志信息采集步骤,通过LOG采集服务器Logstash对特定的日志信息进行收集;日志信息存储步骤,通过消息存储服务器Kafka将采集到的日志信息归整形成记录数据供读取之用;日志信息读取步骤,通过消息管理服务器Tornado从消息存储服务器Kafka中读出特定实时日志信息;日志信息过滤步骤,消息管理服务器Tornado在读取到日志信息后,对信息按照特定要求进行过滤处理得到目标信息;前端显示步骤,消息管理服务器Tornado通过高效的WebSocket将过滤后得到的信息发送给前端服务器Livetail,有前端服务器进行显示。2.如权利要求1所述的一种日志实时展现和查询的方法,其特征在于,所述的日志采集步骤是指通过日志采集服务器Logstash对ssh_log、apache_access_log、nginx_access_log、mysql_log和other_log等log信息进行实时收集。3.如权利要求1所述的一种日志实时展现和查询的方法,其特征在于,所述的日志信息存储步骤是指所述日志采集服务器Logstash将采集到的日志信息通过插件的方式写进消息存储管理服务器Kafka。4.如权利要求1所述的一种日志实时展现和查询的方法,其特征在于,所述的日志信息读取步骤指的是消息管理服务器Tornado采用多线程并发读取的方式从存储管理服务器Kafka读取所需日志信息。5.如权利要求1所述的一种日志实时展现和查询的方法,其特征在于,所述的日志信息过滤步骤是指消息管理服务器Tornado根据用户配置,采用日志所属用户或...
【专利技术属性】
技术研发人员:唐云飞,宁海元,张新铭,杨思枢,阚海明,
申请(专利权)人:杭州玳数科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。