1.本发明涉及信息系统的故障监控和运营技术领域,特别地,涉及一种微服务/数据服务故障监控及运营方法。
背景技术:2.随着数字化新技术的高速发展,采用中台技术架构的信息系统日益增多,新技术架构给大家带来了信息系统敏捷迭代上的便利,然而中台技术架构的出现带来了大量的微服务和数据服务,如何保证这些微服务/数据服务的可用性和准确性成为了一个难点。目前,如何对多个不相干的信息系统的微服务/数据服务进行故障监控和运营分析缺少相关的解决方案。
技术实现要素:3.本发明提供了一种微服务/数据服务故障监控及运营方法,以对多个不相干信息系统的微服务/数据服务进行故障监控和运营分析,保障微服务/数据服务的可用性。
4.根据本发明的一个方面,提供一种微服务/数据服务故障监控及运营方法,包括以下内容:
5.实时采集多个信息系统的微服务/数据服务调用日志,并从中筛选出有效日志;
6.对筛选出的每条有效日志进行数据分析,将数据分析结果写入数据库,并实时更新数据库中每个微服务/数据服务的调用信息;
7.对容器集群管理系统上的每个微服务/数据服务的部署情况和版本信息进行监控,根据部署情况监控结果、版本信息监控结果和数据分析结果对微服务/数据服务的准确性和有效性进行自动监控。
8.进一步地,具体根据微服务/数据服务的唯一标识id将有效日志筛选出来。
9.进一步地,所述对筛选出的每条有效日志进行数据分析,将数据分析结果写入数据库,并实时更新数据库中每个微服务/数据服务的调用信息的过程具体为:
10.对每条有效日志,根据访问授权码分析出该条日志由哪个信息系统调用产生,并根据服务返回码判断是否调用成功,同时使用返回时间戳减去调用时间戳计算得到服务响应时间,从而分析得到每个微服务/数据服务的调用次数、调用成功率、服务响应时间、服务共享度和影响范围,并将其写入数据库中进行数据更新。
11.进一步地,所述对筛选出的每条有效日志进行数据分析,将数据分析结果写入数据库,并实时更新数据库中每个微服务/数据服务的调用信息的步骤之后还包括以下内容:
12.根据数据分析结果判断是否存在信息系统对微服务/数据服务进行违规调用,若存在违规调用,则回收该信息系统对该微服务/数据服务的访问授权码,并发出告警信息。
13.进一步地,所述根据数据分析结果判断是否存在信息系统对微服务/数据服务进行违规调用的过程具体为:
14.从数据库中计算得到每分钟内每个微服务/数据服务被每个信息系统调用的次
数,若某个信息系统对某个微服务/数据服务的调用次数超过预设阈值,则判定该信息系统对该微服务/数据服务存在违规调用情况。
15.进一步地,所述对容器集群管理系统上的每个微服务/数据服务的部署情况进行监控的过程具体为:
16.获取每个微服务/数据服务的容器节点总数,每隔预设时间检查一次每个微服务/数据服务的所有容器节点是否正常运行。
17.进一步地,所述对容器集群管理系统上的每个微服务/数据服务的版本信息进行监控的过程具体为:
18.每隔预设时间发布每个微服务/数据服务的镜像版本和部署时间,将其与容器集群管理系统上实际部署的镜像版本和部署时间比对是否一致,若比对一致,则版本信息正确,若比对不一致,则版本信息有误。
19.进一步地,所述根据部署情况监控结果、版本信息监控结果和数据分析结果对微服务/数据服务的准确性和有效性进行自动监控的过程具体为:
20.若在预设时间内某个微服务/数据服务的调用失败次数超过预设阈值,或者某个微服务/数据服务存在故障容器节点,或者某个微服务/数据服务的版本信息有误,则发出故障告警提醒。
21.进一步地,所述对筛选出的每条有效日志进行数据分析,将数据分析结果写入数据库,并实时更新数据库中每个微服务/数据服务的调用信息的步骤之后还包括以下内容:
22.从数据分析结果中实时获取分析数据,并根据获取的分析数据对每个微服务/数据服务生成运营报告。
23.进一步地,在生成运营报告之后还包括以下内容:
24.对每个微服务/数据服务的运营报告和监控结果进行可视化展示。
25.本发明具有以下效果:
26.本发明的微服务/数据服务故障监控及运营方法,通过实时采集多个不相关信息系统的微服务/数据服务调用日志,然后从中筛选出有效日志,以减少后续数据处理量,再对每条有效日志进行数据分析,将数据分析结果写入数据库以实时更新数据库中每个微服务/数据服务的调用信息,再对每个微服务/数据服务的部署情况和版本信息进行监控,最后根据部署情况监控结果、版本信息监控结果和数据分析结果对微服务/数据服务的准确性和有效性进行自动监控,能够实现对众多不相干的信息系统的微服务/数据服务进行统一的故障监控和运营分析,在对微服务/数据服务零代码侵入的情况下从多个方面对微服务/数据服务实现故障监控级运营,帮助微服务/数据服务开发运维团队开展微服务/数据服务故障处理和迭代完善,保证微服务/数据服务的可用性以及准确性。
27.除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
28.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
29.图1是本发明优选实施例的微服务/数据服务故障监控及运营方法的流程示意图。
30.图2是本发明另一实施例的微服务/数据服务故障监控及运营方法的流程示意图。
31.图3是本发明又一实施例的微服务/数据服务故障监控及运营方法的流程示意图。
具体实施方式
32.以下结合附图对本发明的实施例进行详细说明,但是本发明可以由下述所限定和覆盖的多种不同方式实施。
33.如图1所示,本发明的优选实施例提供一种微服务/数据服务故障监控及运营方法,包括以下内容:
34.步骤s1:实时采集多个信息系统的微服务/数据服务调用日志,并从中筛选出有效日志;
35.步骤s2:对筛选出的每条有效日志进行数据分析,将数据分析结果写入数据库,并实时更新数据库中每个微服务/数据服务的调用信息;
36.步骤s3:对容器集群管理系统上的每个微服务/数据服务的部署情况和版本信息进行监控,根据部署情况监控结果、版本信息监控结果和数据分析结果对微服务/数据服务的准确性和有效性进行自动监控。
37.可以理解,本实施例的微服务/数据服务故障监控及运营方法,通过实时采集多个不相关信息系统的微服务/数据服务调用日志,然后从中筛选出有效日志,以减少后续数据处理量,再对每条有效日志进行数据分析,将数据分析结果写入数据库以实时更新数据库中每个微服务/数据服务的调用信息,再对每个微服务/数据服务的部署情况和版本信息进行监控,最后根据部署情况监控结果、版本信息监控结果和数据分析结果对微服务/数据服务的准确性和有效性进行自动监控,能够实现对众多不相干的信息系统的微服务/数据服务进行统一的故障监控和运营分析,在对微服务/数据服务零代码侵入的情况下从多个方面对微服务/数据服务实现故障监控级运营,帮助微服务/数据服务开发运维团队开展微服务/数据服务故障处理和迭代完善,保证微服务/数据服务的可用性以及准确性。
38.可以理解,在所述步骤s1中,通过统一网关实时采集多个不相干信息系统的微服务/数据服务调用日志,并根据微服务/数据服务的唯一标识id将有效日志筛选出来,剔除掉一些无效的调用日志,进行了数据的初步筛选,减少了后续数据处理量,提高了处理效率。
39.可以理解,所述步骤s2具体为:
40.对筛选出来的每条有效日志,根据访问授权码分析出该条日志由哪个信息系统调用产生,并根据服务返回码判断是否调用成功,同时使用返回时间戳减去调用时间戳计算得到服务响应时间,从而分析得到每个微服务/数据服务的调用次数、调用成功率、服务响应时间、服务共享度和影响范围,并将其写入数据库中进行数据更新。
41.可以理解,如图2所示,在本发明另一实施例中,所述微服务/数据服务故障监控及运营方法在步骤s2之后还包括以下内容:
42.步骤s21:根据数据分析结果判断是否存在信息系统对微服务/数据服务进行违规调用,若存在违规调用,则回收该信息系统对该微服务/数据服务的访问授权码,阻值该信息系统继续调用该微服务/数据服务,并发出告警信息以通知该信息系统的运维人员进行处理,防止微服务/数据服务继续被恶意调用或被恶意攻击。
43.其中,所述根据数据分析结果判断是否存在信息系统对微服务/数据服务进行违规调用的过程具体为:
44.从数据库中计算得到每分钟内每个微服务/数据服务被每个信息系统调用的次数,若某个信息系统对某个微服务/数据服务的调用次数超过预设阈值,有可能该信息系统的代码有死循环调用bug或者该信息系统对该微服务/数据服务进行了恶意攻击,则判定该信息系统对该微服务/数据服务存在违规调用情况。
45.可以理解,所述步骤s3中对容器集群管理系统上的每个微服务/数据服务的部署情况进行监控的过程具体为:
46.获取每个微服务/数据服务的容器节点总数,每隔预设时间检查一次每个微服务/数据服务的所有容器节点是否正常运行。
47.具体地,对k8s集群上部署的每个微服务/数据服务的部署情况进行监控,首先获取每个微服务/数据服务的容器节点总数,然后每隔5分钟检查一次每个微服务/数据服务的所有容器节点是否正常运行,若存在至少一个容器节点出现故障,则判定该微服务/数据服务存在故障节点。
48.另外,所述步骤s3中对容器集群管理系统上的每个微服务/数据服务的版本信息进行监控的过程具体为:
49.每隔预设时间发布每个微服务/数据服务的镜像版本和部署时间,将其与容器集群管理系统上实际部署的镜像版本和部署时间比对是否一致,若比对一致,则版本信息正确,若比对不一致,则版本信息有误。
50.具体地,每5分钟发布一次微服务/数据服务的镜像版本和部署时间,将发布的镜像版本和部署时间与k8s集群上实际部署的服务镜像版本和部署时间进行对比分析,若比对结果一致,则判定该微服务/数据服务的版本信息正确,若比对结果不一致,则判定版本信息有误。
51.可以理解,所述步骤s3中根据部署情况监控结果、版本信息监控结果和数据分析结果对微服务/数据服务的准确性和有效性进行自动监控的过程具体为:
52.若在预设时间内某个微服务/数据服务的调用失败次数超过预设阈值,或者某个微服务/数据服务存在故障容器节点,或者某个微服务/数据服务的版本信息有误,则发出故障告警提醒。
53.具体地,当出现以下几种情况时:1)、5分钟内调用失败次数超过10次的服务;2)、存在故障节点的服务;3)、版本信息不一致的服务,则发出故障告警提醒信息以通知运维人员及时处理故障,提高微服务/数据服务的可用性。
54.可以理解,如图3所示,在本发明的另一实施例中,所述微服务/数据服务故障监控及运营方法在步骤s2之后还包括以下内容:
55.步骤s22:从数据分析结果中实时获取分析数据,并根据获取的分析数据对每个微服务/数据服务生成运营报告。
56.具体地,从日志分析的数据分析结果中实时获取分析数据,对每一个微服务/数据服务生成可读性较高的运营报告,以支撑微服务/数据服务主人对微服务/数据服务进行迭代优化。
57.另外,在步骤s22之后还包括以下内容:
58.步骤s4:对每个微服务/数据服务的运营报告和监控结果进行可视化展示。
59.其中,在所述步骤s4中,可以将每个微服务/数据服务的运营报告和各个信息系统微服务/数据服务的运行情况进行展示,支持数字和图标的展示形式,还可按时间、服务名称等多个维度进行内容展示,方便开发运维人员实时了解微服务/数据服务的整体运行情况。
60.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。