可观测系统及基于可观测系统的服务观测方法与流程

未命名 07-19 阅读:113 评论:0


1.本发明涉及系统监控技术领域,尤其涉及一种可观测系统及基于可观测系统的服务观测方法。


背景技术:

2.可观测系统作为检测后端服务的工具之一,能够在故障排查、性能优化、安全监控和系统运营等方面帮助用户。当服务出现故障时,需要快速定位故障点,可观测系统可以查询指标实时监控系统状态,帮助用户快速发现故障并定位相关问题,同时还能提供各个服务的性能数据和日志功能,比如服务中接口的响应时间、每秒查询率(queries-per-second,qps)等,帮助用户发现系统的性能瓶颈,进行系统优化。此外,可观测系统还可以监听服务的各种行为,比如服务的流量等,用户可以使用此系统识别和防范安全风险,也可以对系统的整体情况进行监控和分析,了解系统的健康状况,进行合理的资源调度和运营决策。
3.现有的可观测系统实现方案通常包括以下三个部分:一、日志收集和分析通过在系统中嵌入日志记录代码,收集系统和应用程序输出的日志信息,包括系统日志、应用程序日志、安全日志等。将收集的日志信息存储到数据库、文件、云存储中,以便后续的查询和分析。通过对日志数据进行分析,可以获取关键信息,例如异常事件、性能问题等。
4.二、监控指标收集和分析通过在系统中部署监控代理或插件来采集系统各项指标的实时数据,如cpu、内存、磁盘、网络等,然后通过分析和挖掘这些数据,了解系统的负载情况、性能瓶颈等信息。其中,可以利用apm技术,通过在应用程序中嵌入代码或使用代理来收集应用程序的性能数据,包括响应时间、事务量、调用链路、数据库操作等信息,并通过可视化工具将这些信息呈现给用户,进行性能监控和故障诊断。
5.三、全链路追踪在企业级业务系统日趋复杂的背景下,微服务架构逐渐成为了许多中大型企业的标配,它将庞大的单体应用拆分成多个子系统和公共的组件单元。这一理念带来了许多好处:复杂系统的拆分简化与隔离、公共模块的重用性提升与更合理的资源分配、大大提升了系统变更迭代的速度、更灵活的可扩展性以及在云计算中的适用性等等。但是微服务架构也带来了新的问题:拆分后每个用户请求可能需要数十个子系统的相互调用才能最终返回结果,如果某个请求出错可能需要逐个子系统排查定位问题;或者某个请求耗时比较高,但是很难知道时间耗在了哪个子系统中。全链路追踪系统就是为了解决微服务场景下的这些问题而诞生的。一般地,该系统由几大部分组成:客户端埋点 sdk:集成在各业务应用系统中,完成链路追踪、数据采集、数据上报等功能;实时数据处理系统:对客户端采集上来的数据进行实时计算和相关处理,建立必要索引和存储等;用户交互系统:提供用户交互界面,
供开发、测试、运维等用户最终使用链路追踪系统提供的各项功能;离线分析系统:对链路追踪数据进行离线分析,提供诸多强大的链路统计分析和问题发现功能。
6.然而,现有的可观测系统的实现方案中,日志的分析目前仅能够查询收集到的日志数据,无法做到具体的日志聚焦分类,用户看不到主要的聚焦数据。观测的指标在多语言和分布式的情况下,无法做到统一的数据展示,收集上来的请求错误率指标无法与全链路追踪打通,即无法分析错误率的请求链路。各种服务使用的语言不同,每个服务中各种指标也各不相同,如何统一展示各个服务的指标数据,是一件复杂且重要的事情。


技术实现要素:

7.本发明提供一种可观测系统及基于可观测系统的服务观测方法,用以解决现有技术中无法做到具体的日志聚焦分类,观测的指标在多语言和分布式的情况下,无法做到统一的数据展示的缺陷。
8.本发明提供一种可观测系统,包括:数据获取单元,用于获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;用户查询响应单元,用于接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;服务状态展示单元,用于在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。
9.根据本发明提供的一种可观测系统,所述服务指标数据是基于如下步骤生成的:对各个服务的服务日志数据进行解析,得到各个服务的服务日志数据的日志模板;基于各个服务的服务日志数据的日志模板对各个服务的服务日志数据进行分类,聚合同一日志模板对应的服务日志数据;将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据。
10.根据本发明提供的一种可观测系统,所述将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据,具体包括:将同一日志模板对应的服务日志数据转换为graphite类型的指标,得到各个服务对应相应日志模板指示的指标的服务指标数据;其中,各个服务对应不同graphite类型指标的服务指标数据之间以指标名称的命名方式进行区分。
11.5、根据本发明提供的一种可观测系统,所述服务指标数据包括客户端维度的服务指标数据和服务端维度的服务指标数据;其中,所述客户端维度的服务指标数据是对通过客户端锚点上报的各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后
得到的;所述服务端维度的服务指标数据是对通过服务端锚点上报的各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的。
12.根据本发明提供的一种可观测系统,所述数据获取单元还用于获取prometheus类型指标的基础设施指标数据;所述prometheus类型指标的基础设施指标数据是基于prometheus系统的node_exporter和kube-state-metrics组件从基础设施处主动拉取得到的;其中,不同prometheus类型指标的基础设施指标数据之间以指标名称和标签进行区分。
13.根据本发明提供的一种可观测系统,所述服务状态展示单元具体用于对以下至少一类数据进行可视化展示:对应服务接口类型指标的服务指标数据,包括接口的每秒查询率、响应时间和错误率;对应网关类型指标的服务指标数据,包括网关的请求量、错误数据和网关的后端数量;对应服务容器指标的服务指标数据,包括容器的cpu、内容、容器本身的活跃个数;服务依赖数据,包括不同服务之间的上下游依赖关系;prometheus类型指标的基础设施指标数据。
14.根据本发明提供的一种可观测系统,所述用户查询响应单元具体用于:接收用户在界面上触发的查询操作,并确定所述查询操作对应的查询类型;若所述查询类型为日志查询,则基于用户输入的查询条件拼接数据库查询语句,并基于所述数据库查询语句对各个服务的服务日志数据进行查询,并返回查询结果;若所述查询类型为聚类查询,则基于用户选择的服务或基础设施构建指标查询请求,并基于指标查询请求查询各个服务对应各个指标的服务指标数据或prometheus类型指标的基础设施指标数据进行查询,并返回查询结果。
15.本发明还提供一种可观测系统的服务观测方法,包括:基于可观测系统的数据获取单元,获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;基于可观测系统的用户查询响应单元,接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。
16.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述可观测系统的
服务观测方法。
17.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述可观测系统的服务观测方法。
18.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述可观测系统的服务观测方法。
19.本发明提供的可观测系统及基于可观测系统的服务观测方法,通过数据获取单元获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据,其中,服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的,服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的,利用用户查询响应单元,接收用户在界面上触发的查询操作,并基于查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果,并利用服务状态展示单元在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对用户查询响应单元返回的查询结果进行可视化展示,提供了服务维度的展示、基础设施相关功能和日志模块等功能,其中日志信息的展示不仅可以展示收集到的日志数据,还能做到具体的日志聚焦分类,使得用户可以看到主要的聚焦数据,且聚焦得到的指标在多语言和分布式的情况下,也能做到统一的数据展示。
附图说明
20.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本发明提供的可观测系统的结构示意图;图2是本发明提供的服务指标数据生成方法的流程示意图;图3是本发明提供的可观测系统的服务观测方法的流程示意图;图4是本发明提供的电子设备的结构示意图。
具体实施方式
22.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.图1是本发明提供的可观测系统的结构示意图,如图1所示,该系统包括:数据获取单元110、用户查询响应单元120和服务状态展示单元130。
24.其中,数据获取单元110用于从日志系统中获取各个服务的服务日志数据,以及,从指标系统中获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于所述日志系统中各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日
志数据进行指标转换后得到的;用户查询响应单元120用于接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;服务状态展示单元130用于在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。
25.具体而言,数据获取单元110可以获取各个服务的服务日志数据,包括系统和应用程序输出的日志信息,例如系统日志、应用程序日志、安全日志等。其中,日志系统可以对收集到的日志数据进行清洗和过滤,去除无用信息和冗余信息后将得到的服务日志数据进行存储,例如可以将其写入到 kafka消息队列中,数据获取单元110可以从kafka消息队列中获取上述服务日志数据。此外,数据获取单元110还可以获取各个服务对应各个指标的服务指标数据。其中,服务指标数据包括服务类相关的数据,例如服务间的相互调用关系、服务端的每秒查询率以及响应时间等。此处,指标系统可以读取kafka消息队列中各个服务的服务日志数据,并对其进行日志解析和分类,随后对各个服务对应各个类别的服务日志数据进行指标转换,得到各个服务对应各个指标的服务指标数据,然后将其写入至指标系统中,因此数据获取单元110可以从指标系统中读取上述服务指标数据。
26.在一些实施例中,数据获取单元110还用于获取prometheus类型指标的基础设施指标数据。其中,prometheus类型指标的基础设施指标数据是基于prometheus系统的node_exporter和kube-state-metrics组件从基础设施处主动拉取得到的,不同prometheus类型指标的基础设施指标数据之间以指标名称和标签进行区分。
27.在一些实施例中,如图2所示,所述服务指标数据是基于如下步骤生成的:步骤210,对各个服务的服务日志数据进行解析,得到各个服务的服务日志数据的日志模板;步骤220,基于各个服务的服务日志数据的日志模板对各个服务的服务日志数据进行分类,聚合同一日志模板对应的服务日志数据;步骤230,将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据。
28.具体而言,可以基于drain3算法对各个服务的服务日志数据进行解析,得到各个服务的服务日志数据的日志模板,然后基于各个服务的服务日志数据的日志模板对各个服务的服务日志数据进行分类,聚合同一日志模板对应的服务日志数据,将同一日志模板对应的服务日志数据归为一类。其中,一个类别的服务日志数据对应同一日志模板,而一个日志模板指示一种指标。因此,可以将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应该日志模板指示的指标的服务指标数据。此处,可以将同一日志模板对应的服务日志数据转换为graphite类型的指标,得到各个服务对应相应日志模板指示的指标的服务指标数据。在 graphite 中,指标通常是由一个指标名称(称为“metric name”)来描述的,例如 prod.web-01.cpu.usage。虽然指标类型在graphite 中没有作为特殊的数据类型进行定义,但是不同的graphite类型指标的服务指标数据可以通过不同的 metric name 命名方式来区分。
29.其中,可以采用victoriametrics作为上述graphite类型指标的服务指标数据和
prometheus类型指标的基础设施指标数据的远端存储。victoriametrics有以下几种优点:1)低内存:更低的内存占用,对比prometheus,可以释放7倍左右内存空间(线上对比大概4倍);2)高压缩比:提供存储数据高压缩,可以比prometheus减少7倍的存储空间(线上对比大概是4~5倍);3)高性能:查询性能比prometheus更快。
30.在另一些实施例中,服务指标数据包括客户端维度的服务指标数据和服务端维度的服务指标数据。其中,客户端维度的服务指标数据是在接收到客户端锚点通过服务之间的 rpc(remote procedure call,远程过程调用)上报的各个服务的服务日志数据后,对其进行解析和分类,并对各个服务对应各个类别的服务日志数据进行指标转换后得到的;而服务端维度的服务指标数据是在接收到服务端锚点基于服务之间的 rpc和http请求上报的各个服务的服务日志数据后,对其进行解析和分类,并对各个服务对应各个类别的服务日志数据进行指标转换后得到的。
31.服务状态展示单元130在界面上对各个服务对应各个指标的服务指标数据进行可视化展示时,具体可以展示以下类型的数据中的一种或多种:对应服务接口类型指标的服务指标数据,包括接口的每秒查询率、响应时间和错误率;对应网关类型指标的服务指标数据,包括网关的请求量、错误数据和网关的后端数量;对应服务容器指标的服务指标数据,包括容器的cpu、内容、容器本身的活跃个数。此外,服务状态展示单元130还可以展示服务依赖数据(包括不同服务之间的上下游依赖关系),另外还可以展示prometheus类型指标的基础设施指标数据。
32.其中,服务相关的上下游维度以及拓扑图展示会使用客户端维度的服务指标数据指标。服务接口的数据展示中既包含客户端维度的服务指标数据也包含服务端维度的服务指标数据。其中,针对对应服务接口类型指标的服务指标数据中的错误率,可观测系统也能支持跳转到全链路追踪的系统和日志查询,更好的支持用户排查请求错误相关信息,也可以根据返回的服务端接口设置报警,帮助用户排查问题。
33.用户查询响应单元120还支持用户针对日志列表的查询和聚类查询。通常用户在收到服务或者应用报警后,可以在可观测系统上面查看指标或者具体应用服务的日志。可观测系统为用户提供两种查询方式,分别为日志查询和聚类查询。这两种查询方式都是根据在系统页面上选择相应的搜索条件,比如应用、服务、时间、关键词等,选中查询条件后点击查询会获取日志的列表数据,同时在页面中切换聚类 tab 可以切换到聚类查询。
34.其中,针对日志查询,可以基于用户输入的查询条件拼接数据库查询语句,并基于该数据库查询语句对各个服务的服务日志数据进行查询,并返回查询结果。服务状态展示单元130在显示查询结果时,可以显示的数据包括日志时间、日志内容,日志级别、应用服务和容器等相关数据。
35.针对聚类查询,可以基于用户选择的服务或基础设施构建指标查询请求,并基于指标查询请求查询各个服务对应各个指标的服务指标数据或prometheus类型指标的基础设施指标数据进行查询,并返回查询结果。其中,在查询服务指标数据时,可以利用graphite类型指标的指标名称中的各个节点(node)进行查询,在查询prometheus类型指标的基础设施指标数据时,可以根据指标的标签(即label)进行查询。服务状态展示单元130在显示查询结果时,可以展示的数据包括命中个数、指标数据的趋势图和具体的指标数据。通过展示命中个数、指标数据的趋势图和具体的指标数据,可以使用户可以更加直观的看
到日志的相关分类数据,更加快速而有效的分析问题,从而解决问题。
36.本发明实施例提供的可观测系统,通过数据获取单元获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据,其中,服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的,服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的,利用用户查询响应单元,接收用户在界面上触发的查询操作,并基于查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果,并利用服务状态展示单元在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对用户查询响应单元返回的查询结果进行可视化展示,提供了服务维度的展示、基础设施相关功能和日志模块等功能,其中日志信息的展示不仅可以展示收集到的日志数据,还能做到具体的日志聚焦分类,使得用户可以看到主要的聚焦数据,且聚焦得到的指标在多语言和分布式的情况下,也能做到统一的数据展示。
37.下面对本发明提供的可观测系统的服务观测方法进行描述,下文描述的可观测系统的服务观测方法与上文描述的可观测系统可相互对应参照。
38.基于上述任一实施例,图3是本发明提供的可观测系统的服务观测方法的流程示意图,如图3所示,该方法包括:步骤310,基于可观测系统的数据获取单元,获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;步骤320,基于可观测系统的用户查询响应单元,接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;步骤330,基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。
39.基于上述任一实施例,所述服务指标数据是基于如下步骤生成的:对各个服务的服务日志数据进行解析,得到各个服务的服务日志数据的日志模板;基于各个服务的服务日志数据的日志模板对各个服务的服务日志数据进行分类,聚合同一日志模板对应的服务日志数据;将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据。
40.基于上述任一实施例,所述将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据,具体包括:将同一日志模板对应的服务日志数据转换为graphite类型的指标,得到各个服务对应相应日志模板指示的指标的服务指标数据;其中,各个服务对应不同graphite类型指标的服务指标数据之间以指标名称的命
名方式进行区分。
41.基于上述任一实施例,所述服务指标数据包括客户端维度的服务指标数据和服务端维度的服务指标数据;其中,所述客户端维度的服务指标数据是对通过客户端锚点上报的各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;所述服务端维度的服务指标数据是对通过服务端锚点上报的各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的。
42.基于上述任一实施例,所述方法还包括:基于可观测系统的数据获取单元,获取prometheus类型指标的基础设施指标数据;所述prometheus类型指标的基础设施指标数据是基于prometheus系统的node_exporter和kube-state-metrics组件从基础设施处主动拉取得到的;其中,不同prometheus类型指标的基础设施指标数据之间以指标名称和标签进行区分。
43.基于上述任一实施例,所述基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,具体包括:对以下至少一类数据进行可视化展示:对应服务接口类型指标的服务指标数据,包括接口的每秒查询率、响应时间和错误率;对应网关类型指标的服务指标数据,包括网关的请求量、错误数据和网关的后端数量;对应服务容器指标的服务指标数据,包括容器的cpu、内容、容器本身的活跃个数;服务依赖数据,包括不同服务之间的上下游依赖关系;prometheus类型指标的基础设施指标数据。
44.基于上述任一实施例,所述接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果,具体包括:接收用户在界面上触发的查询操作,并确定所述查询操作对应的查询类型;若所述查询类型为日志查询,则基于用户输入的查询条件拼接数据库查询语句,并基于所述数据库查询语句对各个服务的服务日志数据进行查询,并返回查询结果;若所述查询类型为聚类查询,则基于用户选择的服务或基础设施构建指标查询请求,并基于指标查询请求查询各个服务对应各个指标的服务指标数据或prometheus类型指标的基础设施指标数据进行查询,并返回查询结果。
45.图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、存储器(memory)420、通信接口(communications interface)430和通信总线440,其中,处理器410,存储器420,通信接口430通过通信总线440完成相互间的通信。处理器410可以调用存储器420中的逻辑指令,以执行可观测系统的服务观测方法,该方
法包括:基于可观测系统的数据获取单元,获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;基于可观测系统的用户查询响应单元,接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。
46.此外,上述的存储器420中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
47.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的可观测系统的服务观测方法,该方法包括:基于可观测系统的数据获取单元,获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;基于可观测系统的用户查询响应单元,接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。
48.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的可观测系统的服务观测方法,该方法包括:基于可观测系统的数据获取单元,获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;基于可观测系统的用户查询响应单元,接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询
结果进行可视化展示。
49.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
50.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
51.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种可观测系统,其特征在于,包括:数据获取单元,用于获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;用户查询响应单元,用于接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;服务状态展示单元,用于在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。2.根据权利要求1所述的可观测系统,其特征在于,所述服务指标数据是基于如下步骤生成的:对各个服务的服务日志数据进行解析,得到各个服务的服务日志数据的日志模板;基于各个服务的服务日志数据的日志模板对各个服务的服务日志数据进行分类,聚合同一日志模板对应的服务日志数据;将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据。3.根据权利要求2所述的可观测系统,其特征在于,所述将同一日志模板对应的服务日志数据进行指标转换,得到各个服务对应相应日志模板指示的指标的服务指标数据,具体包括:将同一日志模板对应的服务日志数据转换为graphite类型的指标,得到各个服务对应相应日志模板指示的指标的服务指标数据;其中,各个服务对应不同graphite类型指标的服务指标数据之间以指标名称的命名方式进行区分。4.根据权利要求3所述的可观测系统,其特征在于,所述服务指标数据包括客户端维度的服务指标数据和服务端维度的服务指标数据;其中,所述客户端维度的服务指标数据是对通过客户端锚点上报的各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;所述服务端维度的服务指标数据是对通过服务端锚点上报的各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的。5.根据权利要求1所述的可观测系统,其特征在于,所述数据获取单元还用于获取prometheus类型指标的基础设施指标数据;所述prometheus类型指标的基础设施指标数据是基于prometheus系统的node_exporter和kube-state-metrics组件从基础设施处主动拉取得到的;其中,不同prometheus类型指标的基础设施指标数据之间以指标名称和标签进行区分。6.根据权利要求5所述的可观测系统,其特征在于,所述服务状态展示单元具体用于对以下至少一类数据进行可视化展示:
对应服务接口类型指标的服务指标数据,包括接口的每秒查询率、响应时间和错误率;对应网关类型指标的服务指标数据,包括网关的请求量、错误数据和网关的后端数量;对应服务容器指标的服务指标数据,包括容器的cpu、内容、容器本身的活跃个数;服务依赖数据,包括不同服务之间的上下游依赖关系;prometheus类型指标的基础设施指标数据。7.根据权利要求5所述的可观测系统,其特征在于,所述用户查询响应单元具体用于:接收用户在界面上触发的查询操作,并确定所述查询操作对应的查询类型;若所述查询类型为日志查询,则基于用户输入的查询条件拼接数据库查询语句,并基于所述数据库查询语句对各个服务的服务日志数据进行查询,并返回查询结果;若所述查询类型为聚类查询,则基于用户选择的服务或基础设施构建指标查询请求,并基于指标查询请求查询各个服务对应各个指标的服务指标数据或prometheus类型指标的基础设施指标数据进行查询,并返回查询结果。8.一种可观测系统的服务观测方法,其特征在于,包括:基于可观测系统的数据获取单元,获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据;其中,所述服务日志数据是对系统和应用程序输出的日志信息进行清洗和过滤得到的;所述服务指标数据是基于各个服务的服务日志数据进行解析和分类后,对各个服务对应各个类别的服务日志数据进行指标转换后得到的;基于可观测系统的用户查询响应单元,接收用户在界面上触发的查询操作,并基于所述查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并返回查询结果;基于可观测系统的服务状态展示单元,在界面上对各个服务对应各个指标的服务指标数据进行可视化展示,或是对所述用户查询响应单元返回的查询结果进行可视化展示。9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求8所述服务观测方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8所述服务观测方法。

技术总结
本发明提供一种可观测系统及基于可观测系统的服务观测方法,通过数据获取单元获取各个服务的服务日志数据,以及,获取各个服务对应各个指标的服务指标数据,利用用户查询响应单元,接收用户在界面上触发的查询操作,并基于查询操作对应的查询类型对各个服务的服务日志数据或各个服务对应各个指标的服务指标数据进行查询,并利用服务状态展示单元在界面上对各个服务对应各个指标的服务指标数据或用户查询响应单元返回的查询结果进行可视化展示,其中日志信息的展示不仅可以展示收集到的日志数据,还能做到具体的日志聚焦分类,使得用户可以看到主要的聚焦数据,且聚焦得到的指标在多语言和分布式的情况下,也能做到统一的数据展示。的数据展示。的数据展示。


技术研发人员:邱天罡 王凯悦 陈康 李大海
受保护的技术使用者:智者四海(北京)技术有限公司
技术研发日:2023.06.09
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐