一种高效简洁的微服务监控告警方法及系统技术方案

技术编号:37974005 阅读:11 留言:0更新日期:2023-06-30 09:49
本发明专利技术公开了一种高效简洁的微服务监控告警方法及系统,属于信息技术领域,方法包括:通过Logstash将系统中各微服务的日志信息按照预设格式统一输出到ElasticSearch中并进行存储;根据业务场景确定相关联的目标微服务,并从ElasticSearch中检索出与目标微服务相对应的目标数据;根据监控规则、告警规则分别对目标数据进行汇总分析后生成监控内容、告警事件。本发明专利技术将ES作为数据源能够很好地解决数据库字段太多、查询速度慢、索引没有办法进行优化的问题;使得本发明专利技术不但能够有效监控到各个微服务的运行和接口调用情况,提高开发人员和运维人员的工作效率,另外还能够支持API的调用详情及异常分析、支持对微服务的性能分析。支持对微服务的性能分析。支持对微服务的性能分析。

【技术实现步骤摘要】
一种高效简洁的微服务监控告警方法及系统


[0001]本专利技术涉及信息
,特别涉及一种高效简洁的微服务监控告警方法及系统。

技术介绍

[0002]开发人员在开发的过程中或者运维人员在开展运维工作的时候,都需要监控到各个微服务的运行和接口调用情况,这就需要微服务监控告警体系来帮助开发人员和运维工作人员快速定位问题以提高工作效率。
[0003]目前,同行业已经有监控告警体系,但是大多数的监控告警体系还是基于传统的数据库进行增改查,这样就会造成微服务数量多且使用量大时,日志记录量就会随之大量产生,在日志数据较大的情况下,访问频率比较高时就会造成数据库压力过大且检索效率低,从而导致监控告警体系出现卡顿,进而影响开发人员及运维人员的工作效率。

技术实现思路

[0004]针对现有技术存在的微服务监控告警体系在日志记录量较多的情况下回出现卡顿的问题,本专利技术的目的在于提供一种高效简洁的微服务监控告警方法及系统。
[0005]为实现上述目的,本专利技术的技术方案为:
[0006]第一方面,本专利技术提供一种高效简洁的微服务监控告警方法,包括以下步骤:
[0007]通过Logstash将系统中各微服务的日志信息按照预设格式统一输出到ElasticSearch中并进行存储;
[0008]根据业务场景确定相关联的目标微服务,并从ElasticSearch中检索出与所述目标微服务相对应的目标数据;
[0009]根据监控规则、告警规则分别对所述目标数据进行汇总分析后生成监控内容、告警事件。
[0010]在一优选实施例中,所述日志信息包括应用日志信息和访问日志信息,所述应用日志信息和所述访问日志信息分别以不同的索引标志存储在ElasticSearch中。
[0011]在一优选实施例中,通过Kibana展示平台对所述监控内容以及所述告警事件进行展示。
[0012]在一优选实施例中,所述日志信息包括链路ID、应用名称、接口名称、调用方应用名称、调用方接口名称、时间戳、远程调用花费时长、本地调用时长、接口调用异常情况。
[0013]在一优选实施例中,所述监控内容包括下述的一种或多种:
[0014]监控目标微服务在指定时间范围内的总请求数、失败请求数、成功率、平均响应时间、最大响应时间;
[0015]监控目标微服务在指定时间范围内的相互调用情况;
[0016]监控关键API在指定时间范围内的访问次数、失败次数、失败率、最大响应时间、平均响应时间;
[0017]监控指定时间范围内,响应时间最大的M个API,M≥1;
[0018]监控指定时间范围内,失败次数最多的N个API,N≥1。
[0019]在一优选实施例中,所述告警事件包括告警对象、告警内容和告警级别;所述告警对象为微服务或接口;所述告警内容包括关键API访问次数、关键API失败次数、关键API失败率、关键API响应时间、关键API平均响应时间、微服务失败次数、微服务失败率、微服务平均响应时间;所述告警级别包括预警、告警、严重。
[0020]在一优选实施例中,所述关键API为指定时间范围内,访问次数最多的n个API。
[0021]第二方面,本专利技术还提供一种高效简洁的微服务监控告警系统,包括:
[0022]信息存储模块,用于将系统中各微服务的日志信息按照预设格式统一输出到ElasticSearch中并进行存储;
[0023]查询模块,用于根据业务场景确定相关联的目标微服务,并从ElasticSearch中检索出与所述目标微服务相对应的目标数据;
[0024]监控模块,用于根据监控规则对所述目标数据进行汇总分析后生成监控内容;
[0025]以及告警模块,用于根据告警规则对所述目标数据进行汇总分析后生成告警事件。
[0026]第三方面,本专利技术还提供一种电子设备,包括存储有可执行程序代码的存储器以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的可执行程序代码,执行如上所述的方法。
[0027]第四方面,本专利技术还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的方法。
[0028]采用上述技术方案,本专利技术的有益效果在于:通过Logstash采集应用服务中的访问日志信息,并按照指定的格式输出存储到ES中,监控和告警最终以ES作为数据源,采用ES的查询检索模式查询出所有符合业务场景的目标数据,经过汇总分析后生成监控内容和告警事件,相比于应用传统数据库作为数据源的方式,本专利技术将ES作为数据源的一个优点是能够很好的解决数据库字段太多、查询速度慢、索引没有办法进行优化的问题;使得本专利技术不但能够有效监控到各个微服务的运行和接口调用情况,提高开发人员和运维人员的工作效率,另外还能够支持API的调用详情及异常分析、支持对微服务的性能分析。
附图说明
[0029]图1为本专利技术实施例一的方法流程图;
[0030]图2为本专利技术实施例一中日志查询技术架构图;
[0031]图3为本专利技术实施例一中API监控技术架构图;
[0032]图4为本专利技术实施例二的结构示意图;
[0033]图5为本专利技术实施例三的结构示意图。
具体实施方式
[0034]下面结合附图对本专利技术的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本专利技术,但并不构成对本专利技术的限定。此外,下面所描述的本专利技术各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0035]实施例一
[0036]一种高效简洁的微服务监控告警方法,如图1所示,包括以下步骤:
[0037]S1、通过Logstash将系统中各微服务的日志信息按照预设格式统一输出到ElasticSearch中并进行存储。
[0038]微服务是以可伸缩容器方式部署的Java应用,是某个业务领域的功能实现。在金融系统中,用于支持业务顺利展开的各个微服务通常会运行在各个服务器中,各微服务运行过程中会产生相应的日志信息,例如应用日志信息和访问日志信息。
[0039]本实施例中,通过Logstash将系统中各微服务的日志信息按照预设格式统一输出到ElasticSearch中并进行存储。其中,Elastic Search简称ES,是实时数据收集检索平台,将ES作为数据源的一个优点是能够很好的解决数据库字段太多、查询速度慢、且索引没有办法进行优化的问题。Logstash则是一款强大的数据处理工具,它可以实现数据传输、格式处理、格式化输出,还有强大的插件功能,常用于日志处理。
[0040]链路日志信息通常包括链路ID、用户名称、应用名称、接口名称、调用方应用名称、调用方接口名称、时间戳、远程调用花费时长、本地调用时长、接口调用异常情况。如表1所示,链路日志信息在ES中存储结构为:
[0041]表1

日志信息在ES中存储结构明细本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高效简洁的微服务监控告警方法,其特征在于:包括以下步骤:通过Logstash将系统中各微服务的日志信息按照预设格式统一输出到ElasticSearch中并进行存储;根据业务场景确定相关联的目标微服务,并从ElasticSearch中检索出与所述目标微服务相对应的目标数据;根据监控规则、告警规则分别对所述目标数据进行汇总分析后生成监控内容、告警事件。2.根据权利要求1所述的方法,其特征在于:所述日志信息包括应用日志信息和访问日志信息,所述应用日志信息和所述访问日志信息分别以不同的索引标志存储在ElasticSearch中。3.根据权利要求1所述的方法,其特征在于:通过Kibana展示平台对所述监控内容以及所述告警事件进行展示。4.根据权利要求1所述的方法,其特征在于:所述日志信息包括链路ID、应用名称、接口名称、调用方应用名称、调用方接口名称、时间戳、远程调用花费时长、本地调用时长、接口调用异常情况。5.根据权利要求1所述的方法,其特征在于:所述监控内容包括下述的一种或多种:监控目标微服务在指定时间范围内的总请求数、失败请求数、成功率、平均响应时间、最大响应时间;监控目标微服务在指定时间范围内的相互调用情况;监控关键API在指定时间范围内的访问次数、失败次数、失败率、最大响应时间、平均响应时间;监控指定时间范围内,响应时间最大的M个API,M≥1;监控指定时间范围内,失败次数最多的N个API,N≥1。6.根...

【专利技术属性】
技术研发人员:彭莉婷沈力程为
申请(专利权)人:上海金仕达软件科技股份有限公司
类型:发明
国别省市:

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

1