本技术涉及计算机,尤其涉及一种监控系统、方法、日志采集方法及相关设备。
背景技术:
1、当前企业会拥有多方面的应用,应用涉及到如应用程序(application,app)、全球广域网(world wide web,web)、java、结构化查询语言(structured query language,sql)等方面,同时部分企业对于应用的可用性要求非常高,企业面对多而杂的应用如果没有监控,应用出现问题的第一个发现者大概率是来自用户。但是,如果大批量用户都感知到应用的故障,对于用户体验感是非常差的。对于故障处理方面,没有监控无法快速定位问题点,快速解决问题。对于主动预防方面,监控也是必不可少的,如果依靠人工巡检来提前发现问题,不仅对人力资源要求非常高,而且人工巡检相对来说存在较高的错误率。所以应用监控对于企业来说是必不可少的。
2、企业针对应用不同层级的监控可能使用不同的监控工具,如果只是一个监控工具,可以监控的层面不够全面。但是,若使用大量监控工具,运维人员排查问题时还需要查找登录多个统一资源定位系统(uniform resource locator,url),从而增加运维时长。目前大多数企业使用的监控工具来自第三方购买,也有开源的监控工具,对于来自第三方的监控工具难以自定义开发,且监控不全面,而对于开源的监控工具通常存在维护困难的问题。
3、因此,如何实现对多应用的统一监控是目前亟需解决的问题。
技术实现思路
1、鉴于上述问题,本技术提供一种监控系统、方法、日志采集方法及相关设备,解决了如何实现对多应用的统一监控的问题。
2、为解决上述技术问题,本技术提出以下方案:
3、第一方面,本技术提供了一种监控系统,监控系统包括:多个第一服务器和第二服务器,第二服务器用于:从分布式发布订阅消息系统中拉取多个第一服务器中至少一个应用的业务日志信息;按照预设格式处理业务日志信息,得到全链路树形结构和监控数据,全链路树形结构用于指示至少一个应用之间的调用关系,监控数据包括应用性能指标和jvm监控指标;存储全链路树形结构和监控数据至分布式存储系统,显示全链路树形结构和监控数据。
4、通过获取全链路的树形结构和监控数据,可以实现从整体维度和局部维度同时展示各项监控指标,通过构建全链路树形结构将跨应用的所有调用链性能信息集中展现,便于运维人员度量应用程序服务器的整体和局部性能,并且便于运维人员找到应用程序服务器的故障产生的源头,从生产上可极大缩短故障排除时间。
5、结合第一方面,在一种可能的实现方式中,业务日志信息包括调用链上下文,调用链上下文包括跟踪标识和跨度标识,跟踪标识用于指示应用所在的调用链路,跨度标识用于指示应用的标识,第二服务器具体用于:根据跟踪标识和跨度标识构建至少一个应用的全链路树形结构。
6、根据跟踪标识和跨度标识构建全链路树形结构,可以实现多个应用系统的统一监控。
7、结合第一方面,在另一种可能的实现方式中,应用性能指标包括吞吐量、每秒查询率、响应时间和错误记录,jvm监控指标包括堆内存指标、非堆内存指标、直接缓冲区指标、内存映射缓冲区指标和jvm线程数。
8、应用性能指标可以表示服务器处理请求时的性能情况。jvm指标可以表示内存、cpu、线程等使用情况。
9、结合第一方面,在另一种可能的实现方式中,第二服务器还用于:通过map reduce并行分析监控数据的特征,得到特征数据库,存储特征数据库至分布式存储系统。
10、保存在分布式存储系统中的特征数据库可以为后续的特征比对做准备。
11、结合第一方面,在另一种可能的实现方式中,第二服务器还用于:为特征建立索引,并计算特征之间的相关性。
12、建立特征索引并计算特征之间的相关性可以实现向业务系统提供信息检索服务。
13、结合第一方面,在另一种可能的实现方式中,多个第一服务器用于:通过埋点的方式采集多个第一服务器中至少一个应用的业务日志信息;发送将业务日志信息至分布式发布订阅消息系统。
14、通过设置的agent获取业务日志信息,并主动的发送业务日志信息至分布式发布订阅消息系统。有效地保证了业务日志信息获取的准确可靠性,并且将业务日志信息存储在分布式发布订阅消息系统中,有效地保证了日志信息存储的稳定性,并且便于对日志信息的调用与计算处理,还可以便于业务日志信息的复用。
15、第二方面,本技术提供了一种监控方法,应用于第二服务器,第二服务器用于监控多个第一服务器,第一服务器用于运行至少一个应用,方法包括:从分布式发布订阅消息系统中拉取多个第一服务器中至少一个应用的业务日志信息;按照预设格式处理业务日志信息,得到全链路树形结构和监控数据,全链路树形结构用于指示至少一个应用之间的调用关系,监控数据包括应用性能指标和jvm监控指标;存储全链路树形结构和监控数据至分布式存储系统,显示全链路树形结构和监控数据。
16、通过获取全链路的树形结构和监控数据,可以实现从整体维度和局部维度同时展示各项监控指标,通过构建全链路树形结构将跨应用的所有调用链性能信息集中展现,便于运维人员度量应用程序服务器的整体和局部性能,并且便于运维人员找到应用程序服务器的故障产生的源头,从生产上可极大缩短故障排除时间。
17、结合第二方面,在一种可能的实现方式中,业务日志信息包括调用链上下文,调用链上下文包括跟踪标识和跨度标识,跟踪标识用于指示应用所在的调用链路,跨度标识用于指示应用的标识,根据跟踪标识和跨度标识构建至少一个应用的全链路树形结构。
18、根据跟踪标识和跨度标识构建全链路树形结构,可以实现多个应用系统的统一监控。
19、结合第二方面,在另一种可能的实现方式中,应用性能指标包括吞吐量、每秒查询率、响应时间和错误记录,jvm监控指标包括堆内存指标、非堆内存指标、直接缓冲区指标、内存映射缓冲区指标和jvm线程数。
20、应用性能指标可以表示服务器处理请求时的性能情况。jvm指标可以表示内存、cpu、线程等使用情况。
21、结合第二方面,在另一种可能的实现方式中,通过map reduce并行分析监控数据的特征,得到特征数据库,存储特征数据库至分布式存储系统。
22、保存在分布式存储系统中的特征数据库可以为后续的特征比对做准备。
23、结合第二方面,在另一种可能的实现方式中,为特征建立索引,并计算特征之间的相关性。
24、建立特征索引并计算特征之间的相关性可以实现向业务系统提供信息检索服务。
25、第三方面,本技术提供了一种日志采集方法,方法包括:通过埋点的方式采集多个第一服务器中至少一个应用的业务日志信息;发送将业务日志信息至分布式发布订阅消息系统。
26、通过设置的agent获取业务日志信息,并主动的发送业务日志信息至分布式发布订阅消息系统。有效地保证了业务日志信息获取的准确可靠性,并且将业务日志信息存储在分布式发布订阅消息系统中,有效地保证了日志信息存储的稳定性,并且便于对日志信息的调用与计算处理,还可以便于业务日志信息的复用。
27、第四方面,本技术提供了一种监控装置,监控装置包括:
28、获取模块,用于从分布式发布订阅消息系统中拉取多个第一服务器中至少一个应用的业务日志信息。
29、处理模块,用于按照预设格式处理业务日志信息,得到全链路树形结构和监控数据,全链路树形结构用于指示至少一个应用之间的调用关系,监控数据包括应用性能指标和jvm监控指标。
30、存储和显示模块,用于存储全链路树形结构和监控数据至分布式存储系统,显示全链路树形结构和监控数据。
31、具体的,应用性能指标包括吞吐量、每秒查询率、响应时间和错误记录,jvm监控指标包括堆内存指标、非堆内存指标、直接缓冲区指标、内存映射缓冲区指标和jvm线程数。
32、结合第四方面,在一种可能的实现方式中,处理模块具体用于:业务日志信息包括调用链上下文,调用链上下文包括跟踪标识和跨度标识,跟踪标识用于指示应用所在的调用链路,跨度标识用于指示应用的标识,根据跟踪标识和跨度标识构建至少一个应用的全链路树形结构。
33、结合第四方面,在另一种可能的实现方式中,处理模块还用于:通过map reduce并行分析监控数据的特征,得到特征数据库,存储特征数据库至分布式存储系统。
34、结合第四方面,在另一种可能的实现方式中,处理模块还用于:为特征建立索引,并计算特征之间的相关性。
35、第五方面,本技术提供了一种日志采集装置,日志采集装置包括:
36、采集模块,用于通过埋点的方式采集多个第一服务器中至少一个应用的业务日志信息。
37、存储模块,用于发送将业务日志信息至分布式发布订阅消息系统。
38、为了实现上述目的,根据本技术的第六方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第二方面的监控方法。
39、为了实现上述目的,根据本技术的第七方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第三方面的日志采集方法。
40、为了实现上述目的,根据本技术的第八方面,提供了一种电子设备,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述第二方面的监控方法。
41、为了实现上述目的,根据本技术的第九方面,提供了一种电子设备,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述第三方面的日志采集方法。
42、借由上述技术方案,本技术提供的技术方案至少具有下列优点:
43、本技术提供的一种监控系统、方法、日志采集方法及相关设备,本技术通过获取全链路的树形结构和监控数据,可以实现从整体维度和局部维度同时展示各项监控指标,通过构建全链路树形结构将跨应用的所有调用链性能信息集中展现,便于运维人员度量应用程序服务器的整体和局部性能,并且便于运维人员找到应用程序服务器的故障产生的源头,从生产上可极大缩短故障排除时间。
44、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
1.一种监控系统,其特征在于,所述监控系统包括:多个第一服务器和第二服务器,所述第二服务器用于:从分布式发布订阅消息系统中拉取所述多个第一服务器中至少一个应用的业务日志信息;
2.根据权利要求1所述的系统,其特征在于,所述业务日志信息包括调用链上下文,所述调用链上下文包括跟踪标识和跨度标识,所述跟踪标识用于指示所述应用所在的调用链路,所述跨度标识用于指示所述应用的标识,所述第二服务器具体用于:
3.根据权利要求1所述的系统,其特征在于,所述应用性能指标包括吞吐量、每秒查询率、响应时间和错误记录,所述jvm监控指标包括堆内存指标、非堆内存指标、直接缓冲区指标、内存映射缓冲区指标和jvm线程数。
4.根据权利要求1所述的系统,其特征在于,所述第二服务器还用于:
5.根据权利要求4所述的系统,其特征在于,所述第二服务器还用于:
6.根据权利要求1所述的系统,其特征在于,所述多个第一服务器用于:
7.一种监控方法,其特征在于,应用于第二服务器,所述第二服务器用于监控多个第一服务器,所述第一服务器用于运行至少一个应用,所述方法包括:
8.一种日志采集方法,其特征在于,所述方法包括:
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求7-8中任一项所述的方法。
10.一种电子设备,其特征在于,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求7-8中任一项所述的方法。
