CN116627778A - 业务***性能监控方法、装置、计算机设备及存储介质 - Google Patents

业务***性能监控方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116627778A
CN116627778A CN202310369294.4A CN202310369294A CN116627778A CN 116627778 A CN116627778 A CN 116627778A CN 202310369294 A CN202310369294 A CN 202310369294A CN 116627778 A CN116627778 A CN 116627778A
Authority
CN
China
Prior art keywords
interface
time sequence
preset
information
preset time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310369294.4A
Other languages
English (en)
Inventor
王宠善
张玉成
李雅堂
孙帅
黎广鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fulin Technology Co Ltd
Original Assignee
Shenzhen Fulin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Fulin Technology Co Ltd filed Critical Shenzhen Fulin Technology Co Ltd
Priority to CN202310369294.4A priority Critical patent/CN116627778A/zh
Publication of CN116627778A publication Critical patent/CN116627778A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请属于计算机技术领域,涉及一种业务***性能监控方法、装置、计算机设备及存储介质。该监控方法请通过采集业务***中各个接口的接口信息,接口信息包括接口名称、接口标识以及对应的性能指标,并将各个接口的接口标识与预设接口标识进行匹配,得到匹配信息,然后将匹配信息配置在预设的时序数据库中,并运行预设的时序数据库,在确定时序数据库连通时,从预设的时序数据库中获取需要展示的目标接口标识。本申请在通过时序数据库监控业务***的性能指标时,内存存储更小且指标获取速度更快。

Description

业务***性能监控方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务***性能监控方法、装置、计算机设备及存储介质。
背景技术
随着SaaS(Software as a Service软件运营服务)的快速发展,客户群体除了在SaaS环境中使用服务,也存在要求搭建私有部署环节的需求。然而在这样的需求背景下,如何快速高效地监控服务的性能指标逐渐成为迫切解决的命题,业界通常使用Prometheus来实现监控,Prometheus是一个数据监控的解决方案,其特点是能够随时掌握***运行的状态,快速定位问题和排除故障,但是,Prometheus在采集数据量大的情况,会存在内存增长过快的问题。
发明内容
本申请实施例的目的在于提出一种业务***性能监控方法、装置、计算机设备及存储介质,以解决Prometheus在采集数据量大的情况,会存在内存增长过快的问题。
为了解决上述技术问题,本申请实施例提供一种业务***性能监控方法,采用了如下所述的技术方案:
采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标;
将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息;
将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库;以及
验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。
进一步的,所述将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息的步骤,包括:
基于预设的正则表达式,对各个接口的所述接口标识与所述预设接口标识进行匹配,所述预设接口标识包括至少两个;
若存在一个或多个所述接口标识与其中一个所述预设接口标识匹配成功,则将所述一个或多个接口标识对应的所述接口名称和所述性能指标存储在目标存储区域,所述目标存储区域为所述预设接口标识在分类存储库中所对应的存储区域,其中,每一所述预设接口标识对应的存储区域各不相同;以及
以所述目标存储区域内存储的所有接口的接口信息作为所述匹配信息。
进一步的,所述以所述目标存储区域内存储的所有接口的接口信息作为所述匹配信息的步骤之后,还包括:
校验所述匹配信息是否符合预期;
若校验符合预期,则执行所述验证所述预设的时序数据库是否连通的步骤;以及
若校验不符合预期,则返回执行所述根据预设的匹配规则对所述匹配信息进行匹配,得到目标性能指标信息的步骤。
进一步的,所述校验所述匹配信息是否符合预期的步骤,包括:
获取所述匹配信息对应的所述目标存储区域中任意一个接口作为校验接口,并获取所述校验接口对应的校验接口标识;
若所述校验接口标识与所述目标存储区域所对应的预设接口标识一致,则所述匹配信息符合预期;以及
若所述校验接口标识与所述目标存储区域所对应的预设接口标识不一致,则所述匹配信息不符合预期。
进一步的,所述采集业务***中各个接口的接口信息的步骤,包括:
将Nginx Lua exporter性能库放入Lua库中,并在Nginx组件中嵌入所述Lua库;
接收并响应采集信息指令,并利用所述Nginx组件的日志访问控件将所述采集信息指令输出生成Nginx日志;以及
根据所述Nginx日志,获取所述业务***中各个接口的接口信息。
进一步的,所述将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库的步骤,还包括:
获取所述预设的时序数据库的镜像安装包或者二进制安装包,并进行解压安装后生成Prometheus.yaml文件;以及
将所述Nginx Lua exporter性能库的端口信息和所述匹配信息配置在所述Prometheus.yaml文件以及将所述预设的时序数据库的本地端口信息写入所述Prometheus.yaml文件,并运行所述Prometheus.yaml文件。
进一步的,所述在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示的步骤,包括:
根据Prometheus数据库以及所述预设的时序数据库的本地端口信息对预设指标展示工具的端口进行配置;
使用所述预设指标展示工具连接所述预设的时序数据库,并验证预设指标展示工具的连接端口是否生效;
若生效,则从所述预设的时序数据库中,获取需要展示的目标接口标识;以及
在所述预设指标展示工具的页面中展示所述目标接口标识对应的各个接口的接口名称和性能指标。
为了解决上述技术问题,本申请实施例还提供一种业务***性能监控装置,包括:
采集模块,用于采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标;
匹配模块,用于将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息;
配置模块,用于将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库;以及
展示模块,用于验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的业务***性能监控方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的业务***性能监控方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请通过采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标,并将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息,然后将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库,最后验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。如此,本申请在通过时序数据库监控业务***的性能指标时,内存存储更小且指标获取速度更快。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2根据本申请的业务***性能监控方法的一个实施例的流程图;
图3是根据本申请的业务***性能监控装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的业务***性能监控方法一般由服务器执行,相应地,业务***性能监控装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的业务***性能监控方法的一个实施例的流程图。所述的业务***性能监控方法,包括以下步骤:
步骤S201,采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标。
在本实施例中,业务***性能监控方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式连接。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。
在本实施例中,业务***性能监控方法运行于其上的服务器为例,服务器采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标,而上述的性能指标包括请求量信息、耗时信息、状态码信息以及连接数信息等。示例性地,业务***中具有接口a、接口b、接口c以及接口d等,则接口a的接口信息包括接口名称(即a接口)、接口标识(若a接口为页面A中的接口,则接口标识可定义为workplace_A)以及性能指标(即获取到a接口的耗时信息、a接口的请求量信息、状态码信息以及连接数信息等);同理,接口b、接口c以及接口d的接口名称分别为b接口、c接口以及d接口,接口b、接口c以及接口d的接口标识分别为workplace_B、workplace_C、workplace_D(即b接口在页面B内,c接口在页面C内、d接口在页面D内)。
如此,服务器采集业务***中所有页面中的所有接口的接口信息。具体的步骤如下:
将Nginx Lua exporter性能库放入Lua库中,并在Nginx组件中嵌入所述Lua库,其中,Nginx Lua Exporter性能库是开源的lua性能采集库,支持Counter、Gauge、histogram、Summay等通用统计能力;
接收并响应采集信息指令,并利用所述Nginx组件的日志访问控件将所述采集信息指令输出生成Nginx日志;
根据所述Nginx日志,获取所述业务***中各个接口的接口信息。
本实施例中,先将Nginx Lua exporter性能库放入Lua库中,并在Nginx组件中嵌入所述Lua库,其中,Nginx组件是一个负责把请求代理到服务器上的组件,Nginx组件一般采用lua语言实现的,即,Nginx组件中部分内容存储于Lua库。这样,若将把Nginx Luaexporter性能库放入Lua库,并在Nginx组件的目录中嵌入lua库,Nginx组件就可以直接使用这个Nginx Lua Exporter性能库的接口,以能够直接通过Nginx Lua Exporter性能库的接口采集数据。具体地,通过Nginx组件接收请求采集信息指令,并利用Nginx组件的日志访问控件access_log将采集信息指令输出生成所述Nginx日志,最后在Nginx组件的Nginx.conf(Nginx的配置文件)中写入支持syslog(Syslog常被称为***日志或***记录,是一种用来在互联网协议(TCP/IP)的网上中传递记录档消息的标准)的配置,再将Nginx日志输出到syslog服务器;在获取各个接口地接口信息时,可以通过nginx-access-log开头的索引或者配置kibana(Kibana是一个开源的分析与可视化平台)查找Nginx日志,从而浏览响应于采集信息指令而生成的业务***中各个接口的接口信息。
步骤S202,将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息。
在本实施例中,服务器获取到各个接口的接口信息后,将各个接口的接口信息中的接口标识与预设接口标识进行匹配,得到匹配信息。其中,预设接口标识可为多个,比如,workplace_A、workplace_B、workplace_C、workplace_D等,且该各个接口的接口标识包含于预设接口标识内,即每一接口标识均能够与一个预设接口标识进行匹配,从而得到匹配信息。
步骤S203,将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库。
在本实施例中,服务器在得到匹配信息后,将匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库。即本实施例中,上述预设的时序数据库为Victoria-Metrics,Victoria-Metrics作为性能指标的存储组件,Victoria-Metrics是一个支持高可用、经济高效且可扩展的监控解决方案和时间序列数据库,对比Prometheus数据库的指标摄取查询速度高出20倍、内存大小则少7倍,同时兼容了Prometheus数据库的API,对于已经基于Prometheus数据库的环境,只需要部署Victoria-Metrics,将端口替换即可快速替换,具体如下:
获取所述预设的时序数据库的镜像安装包或者二进制安装包,并通过docker(docker是服务运行的环境组件名称,可以理解为一个容器)对预设的时序数据库的镜像安装包或者二进制安装包进行解压安装后生成Prometheus.yaml文件(Prometheus.yaml是配置文件,运行时的参数都放在Prometheus.yaml文件内),将所述Nginx Lua exporter性能库的端口信息(比如:默认的9145端口)和所述匹配信息配置在所述Prometheus.yaml文件以及将所述预设的时序数据库的本地端口信息(比如:默认的8428端口)写入所述Prometheus.yaml文件,并通过nohup(nohup是后台运行的一个命令,通过这个命令就可以把服务以后台挂起的形式运行)后台运行所述Prometheus.yaml文件,从而实现以Prometheus的配置运行时序数据库,使得时序数据库可以兼容Prometheus的监控配置。
步骤S204,验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的上述接口名称和性能指标进行可视化页面展示。
在本实施例中,验证预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从预设的时序数据库中,获取需要展示的目标接口标识,并将目标接口标识对应的各个接口的接口名称和性能指标进行可视化页面展示。具体如下:
根据Prometheus数据库以及所述预设的时序数据库的本地端口信息对预设指标展示工具的端口进行配置;
使用所述预设指标展示工具连接预设的时序数据库,并验证所述预设指标展示工具的连接端口是否生效;
若生效,则从所述预设的时序数据库中,获取需要展示的目标接口标识;以及
在所述预设指标展示工具的页面中展示所述目标接口标识对应的各个接口的接口名称和性能指标。
上述的预设指标展示工具为Grafana,Grafana是展示指标的工具。其中,对Grafana的端口进行配置可分为首次配置和非配置。
若Grafana为首次使用,即Grafana的端口为首次配置时,Grafana以Prometheus(Prometheus是采集指标的工具)作为数据源,并以所述预设的时序数据库的本地端口信息(比如:默认的8428端口)为连接端口对Grafana的端口进行配置;并使用Grafana连接预设的时序数据库,然后点击testing(testing是Prometheus校验是否采集到数据一个功能)验证Grafana的连接端口是否生效,若生效,则从所述预设的时序数据库中,获取需要展示的目标接口标识;在所述Grafana的dashboard(dashboard是grafana里可自定义的一个面板)页面中展示所述目标接口标识对应的各个接口的接口名称和性能指标;若Grafana的连接端口不生效,说明Grafana与预设的时序数据库之间数据源不连通,此时,返回执行步骤203,直到Grafana的连接端口生效。
若Grafana为非首次使用,即Grafana的端口为非首次配置时,删除上次使用Grafana内的端口,并以Prometheus作为数据源,并以所述预设的时序数据库的本地端口信息为连接端口对Grafana的端口进行配置,并返回执行使用Grafana(Grafana是展示指标的工具)连接预设的时序数据库的步骤。
本实施例中,使用Grafana连接预设的时序数据库,需要配置预设的时序数据库的本地端口信息,若Grafana的连接端口首次配置,则Grafana的连接端口必须设置为时序数据库的默认端口(如8428端口),这样才能保证来连接端口的正确性,并采集到时序数据库存储的指标数据。若Grafana的连接端口非首次配置,数据源用的也非Prometheus时,则需要把Grafana的连接端口删除,并填写时序数据库的默认端口(如8428端口)。如此,使得业务***的性能指标展示更清晰,基于页面级维度的监控,可以更快地聚焦和定位长尾耗时的接口,避免了同一个接口在不同页面耗时不同,汇总在一起会出现无法判断的情况。
本申请通过采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标,并将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息,然后将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库,最后验证所述预设的时序数据库是否连通,在确定预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。如此,本申请在通过时序数据库监控业务***的性能指标时,内存存储更小且指标获取速度更快。此外,相比于业界通用方案Prometheus的监控方案,基于预设的时序数据库的监控方案其内存存储小7倍且指标获取速度至少提高20倍,对机器资源占用也更少。
在本实施例的一些可选的实现方式中,所述将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息的步骤,包括:
基于预设的正则表达式,对各个接口的所述接口标识与所述预设接口标识进行匹配,所述预设接口标识包括至少两个;
若存在一个或多个所述接口标识与其中一个所述预设接口标识匹配成功,则将所述一个或多个接口标识对应的所述接口名称和所述性能指标存储在目标存储区域,所述目标存储区域为所述预设接口标识在分类存储库中所对应的存储区域,其中,每一所述预设接口标识对应的存储区域各不相同;
以所述目标存储区域内存储的所有接口的接口信息作为所述匹配信息。
具体地,通过预设的正则表达式reg.re.find(reg.re.find是正则表达式,用于匹配某种规则的字符串)对各个接口的接口标识与预设接口标识进行匹配,预设接口标识包括至少两个,若存在一个或多个所述接口标识与其中一个所述预设接口标识匹配成功,则将所述一个或多个接口标识对应的所述接口名称和所述性能指标存储在目标存储区域,所述目标存储区域为所述预设接口标识在分类存储库中所对应的存储区域,其中,每一所述预设接口标识对应的存储区域各不相同。
示例性地,如页面A、页面B、页面C、页面D分别带有标识workplace_A、workplace_B、workplace_C、workplace_D,那么,页面A中的接口1、接口2、接口4、接口8都会带有workplace_A,这个workplace_A则为接口1、接口2、接口4、接口8的接口标识,同理,页面B、页面C、页面D内的各个接口也分别带有workplace_B、workplace_C、workplace_D,在此并不一一列举。通过reg.re.find对header(header是接口请求里的一个预设接口标识,预设接口标识以“workplace_A”为例,)进行正则匹配,即,基于reg.re.find正则匹配“workplace_A”,找到与其匹配的接口标识workplace_A,以及与该接口标识workplace_A对应的接口1、接口2、接口4、接口8,将接口1、接口2、接口4、接口8都放入与“workplace_A”对应的bucket_A(bucket是指标分类的名称)中(其中,每一接口对应的性能指标也会对应存储至该预设接口标识对应的存储区域内)。需要说明的是,若预设接口标识为“workplace_B”,那么,匹配到workplace_A以及与其对应的接口名称存储至与“workplace_B”对应的bucket_B,即每一预设接口标识对应的存储区域各不相同,从而可以避免所有页面的接口的指标性能都放在一个bucket中,导致bucket数量过大,出现数据存取慢的问题,影响该业务***的性能。而且,通过页面区分指标bucket可以展示更长时间维度的数据,以解决耗时分位图类型对于时间维度超过2周的数据量,会出现无法展示的问题。
在所述以所述目标存储区域内存储的所有接口的接口信息作为所述匹配信息的步骤之后,还包括:
校验所述匹配信息是否符合预期;
若校验符合预期,则执行所述验证所述预设的时序数据库是否连通的步骤;
若校验不符合预期,则返回执行所述根据预设的匹配规则对所述匹配信息进行匹配,得到目标性能指标信息的步骤。
具体地,获取所述匹配信息对应的所述目标存储区域中任意一个接口作为校验接口,并获取所述校验接口对应的校验接口标识;若所述校验接口标识与所述目标存储区域所对应的预设接口标识一致,则所述匹配信息符合预期,并继续执行所述验证所述预设的时序数据库是否连通的步骤。若所述校验接口标识与所述目标存储区域所对应的预设接口标识不一致,则所述匹配信息不符合预期,则返回执行所述根据预设的匹配规则对所述匹配信息进行匹配,得到目标性能指标信息的步骤。
示例性地,以接口1且接口1的接口标识为workplace_A为例,理论上应该归类到bucket_A中,ocalhost:port/metrics(localhost:port/metrics是查看指标分类的地址)下载的文件里,可以搜索到接口1,且其对应的分类为bucket_A,则确认为匹配信息符合预期;若可以搜索到接口1,且其对应的分类为bucket_B,则确认为匹配信息不符合预期。
本申请可以避免所有页面的接口的指标性能都放在一个bucket中,导致bucket数量过大,出现数据存取慢的问题,影响该业务***的性能。而且,通过页面区分指标bucket可以展示更长时间维度的数据,以解决耗时分位图类型对于时间维度超过2周的数据量,会出现无法展示的问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种业务***性能监控装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的业务***性能监控装置300包括:采集模块301、匹配模块302、配置模块303以及展示模块304,其中:
获取模块301,用于采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标;
匹配模块302,用于将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息;
配置模块303,用于将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库;以及
展示模块304,用于验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,则从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。
本实施例中,通过采集模块301采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标,并通过匹配模块302将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息,然后通过配置模块303将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库,最后验证所述预设的时序数据库是否连通,在确定预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并通过展示模块304将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。如此,本申请在通过时序数据库监控业务***的性能指标时,内存存储更小且指标获取速度更快。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过***总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作***和各类应用软件,例如业务***性能监控方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述业务***性能监控方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中提供的计算机设备可以执行上述业务***性能监控方法。此处业务***性能监控方法可以是上述各个实施例的业务***性能监控方法。
本实施例中,通过采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标,并将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息,然后将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库,最后验证所述预设的时序数据库是否连通,在确定预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的接口名称和性能指标进行可视化页面展示。如此,本申请在通过时序数据库监控业务***的性能指标时,内存存储更小且指标获取速度更快。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的业务***性能监控方法的步骤。
本实施例中,本申请通过采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标,并将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息,然后将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库,最后验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,则从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的接口名称和性能指标进行可视化页面展示。如此,本申请在通过时序数据库监控业务***的性能指标时,内存存储更小且指标获取速度更快。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(所述存储介质可以是非易失性存储介质,也可以是易失性存储介质,例如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种业务***性能监控方法,其特征在于,包括下述步骤:
采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标;
将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息;
将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库;以及
验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。
2.根据权利要求1所述的业务***性能监控方法,其特征在于,所述将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息的步骤,包括:
基于预设的正则表达式,对各个接口的所述接口标识与所述预设接口标识进行匹配,所述预设接口标识包括至少两个;
若存在一个或多个所述接口标识与其中一个所述预设接口标识匹配成功,则将所述一个或多个接口标识对应的所述接口名称和所述性能指标存储在目标存储区域,所述目标存储区域为所述预设接口标识在分类存储库中所对应的存储区域,其中,每一所述预设接口标识对应的存储区域各不相同;以及
以所述目标存储区域内存储的所有接口的接口信息作为所述匹配信息。
3.根据权利要求2所述的业务***性能监控方法,其特征在于,所述以所述目标存储区域内存储的所有接口的接口信息作为所述匹配信息的步骤之后,还包括:
校验所述匹配信息是否符合预期;
若校验符合预期,则执行所述验证所述预设的时序数据库是否连通的步骤;以及
若校验不符合预期,则返回执行所述根据预设的匹配规则对所述匹配信息进行匹配,得到目标性能指标信息的步骤。
4.根据权利要求3所述的业务***性能监控方法,其特征在于,所述校验所述匹配信息是否符合预期的步骤,包括:
获取所述匹配信息对应的所述目标存储区域中任意一个接口作为校验接口,并获取所述校验接口对应的校验接口标识;
若所述校验接口标识与所述目标存储区域所对应的预设接口标识一致,则所述匹配信息符合预期;以及
若所述校验接口标识与所述目标存储区域所对应的预设接口标识不一致,则所述匹配信息不符合预期。
5.根据权利要求1至4任意一项所述的业务***性能监控方法,其特征在于,所述采集业务***中各个接口的接口信息的步骤,包括:
将Nginx Lua exporte r性能库放入Lua库中,并在Nginx组件中嵌入所述Lua库;
接收并响应采集信息指令,并利用所述Ngi nx组件的日志访问控件将所述采集信息指令输出生成Nginx日志;以及
根据所述Ngi nx日志,获取所述业务***中各个接口的接口信息。
6.根据权利要求5所述的业务***性能监控方法,其特征在于,所述将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库的步骤,包括:
获取所述预设的时序数据库的镜像安装包或者二进制安装包,并进行解压安装后生成Pr ometheus.yaml文件;以及
将所述Nginx Lua exporter性能库的端口信息和所述匹配信息配置在所述Prometheus.yam l文件以及将所述预设的时序数据库的本地端口信息写入所述Prometheus.yaml文件,并运行所述Prometheus.yam l文件。
7.根据权利要求1至4任意一项所述的业务***性能监控方法,其特征在于,所述在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示的步骤,包括:
根据Prometheus数据库以及所述预设的时序数据库的本地端口信息对预设指标展示工具的端口进行配置;
使用所述预设指标展示工具连接所述预设的时序数据库,并验证所述预设指标展示工具的连接端口是否生效;
若生效,则从所述预设的时序数据库中,获取需要展示的目标接口标识;以及
在所述预设指标展示工具的页面中展示所述目标接口标识对应的各个接口的接口名称和性能指标。
8.一种业务***性能监控装置,其特征在于,包括:
采集模块,用于采集业务***中各个接口的接口信息,所述接口信息包括接口名称、接口标识以及对应的性能指标;
匹配模块,用于将各个接口的所述接口标识与预设接口标识进行匹配,得到匹配信息;
配置模块,用于将所述匹配信息配置在预设的时序数据库中,并运行所述预设的时序数据库;以及
展示模块,用于验证所述预设的时序数据库是否连通,在确定所述预设的时序数据库连通时,从所述预设的时序数据库中,获取需要展示的目标接口标识,并将所述目标接口标识对应的各个接口的所述接口名称和性能指标进行可视化页面展示。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的业务***性能监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的业务***性能监控方法的步骤。
CN202310369294.4A 2023-04-03 2023-04-03 业务***性能监控方法、装置、计算机设备及存储介质 Pending CN116627778A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310369294.4A CN116627778A (zh) 2023-04-03 2023-04-03 业务***性能监控方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310369294.4A CN116627778A (zh) 2023-04-03 2023-04-03 业务***性能监控方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116627778A true CN116627778A (zh) 2023-08-22

Family

ID=87615973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310369294.4A Pending CN116627778A (zh) 2023-04-03 2023-04-03 业务***性能监控方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116627778A (zh)

Similar Documents

Publication Publication Date Title
CN108427705B (zh) 电子装置、分布式***日志查询方法及存储介质
CN112491602B (zh) 行为数据的监控方法、装置、计算机设备及介质
CN113987074A (zh) 分布式服务全链路监控方法、装置、电子设备及存储介质
US8660833B2 (en) Method, computer program product and apparatus for providing an interactive network simulator
CN112416458A (zh) 基于ReactNative的预加载方法、装置、计算机设备及存储介质
CN112631924A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN112631911A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN115712422A (zh) 表单页面的生成方法、装置、计算机设备及存储介质
CN111813418A (zh) 分布式链路跟踪方法、装置、计算机设备及存储介质
CN113010542B (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN116644250B (zh) 页面检测方法、装置、计算机设备和存储介质
CN111797297B (zh) 页面数据处理方法、装置、计算机设备及存储介质
CN116661936A (zh) 页面数据的处理方法、装置、计算机设备及存储介质
CN113656044B (zh) 安卓安装包压缩方法、装置、计算机设备及存储介质
CN116627778A (zh) 业务***性能监控方法、装置、计算机设备及存储介质
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN112559131A (zh) 更新容器镜像的方法、装置、设备及计算机可读存储介质
CN113806372B (zh) 新数据信息构建方法、装置、计算机设备及存储介质
CN116302847B (zh) 异常信息的动态采集方法、装置、计算机设备及介质
CN117591190A (zh) 一种应用数据加载优化方法、装置、设备及其存储介质
CN115731057A (zh) 信息生成方法、装置、计算机设备及存储介质
CN116737437A (zh) 数据分析方法、装置、计算机设备及存储介质
CN113553519A (zh) 接口地址的展示方法、装置、计算机设备及存储介质
CN117992110A (zh) 工程基线版本处理方法、装置、计算机设备及存储介质
CN117851252A (zh) 一种接口异常处理方法、装置、设备及其存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination