CN112702437A - 一种链路数据采样率实时自动调整方法 - Google Patents
一种链路数据采样率实时自动调整方法 Download PDFInfo
- Publication number
- CN112702437A CN112702437A CN202011616692.4A CN202011616692A CN112702437A CN 112702437 A CN112702437 A CN 112702437A CN 202011616692 A CN202011616692 A CN 202011616692A CN 112702437 A CN112702437 A CN 112702437A
- Authority
- CN
- China
- Prior art keywords
- service
- sampling
- sampling rate
- monitoring
- real
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Abstract
本发明涉及一种链路数据采样率实时自动调整方法,包括以下步骤:监控调整端启动,并将所有服务对应的采样规则加载至缓存;监控调整端开启实时监控任务,以分别获取已接入服务的实例名称以及性能指标数据;监控调整端将获取的服务的实例名称及性能指标数据与采样规则进行匹配,若匹配成功,则得到对应的匹配采样率,之后监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给用户,之后返回继续进行实时监控;若匹配不成功,则直接继续进行实时监控。与现有技术相比,本发明能够基于实时生效的采样规则,对链路数据采样率进行实时自动调整,且不会影响服务的性能。
Description
技术领域
本发明涉及分布式追踪技术领域,尤其是涉及一种链路数据采样率实时自动调整方法。
背景技术
随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,面对以上情况,目前通常借助一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题,这些工具统称为APM(ApplicationPerformance Management,应用性能管理)工具,当前主要的APM工具有:Cat、Zipkin、Pinpoint、SkyWalking。
Skywalking是一款针对分布式系统的APM(应用性能监控)系统,特别是针对微服务、cloud native和容器化(Docker,Kubernetes,Mesos)架构,提供了分布式追踪、性能指标分析、应用和服务依赖分析、应用拓扑分析、告警等功能。基于Java Agent字节码注入无侵入式的收集应用系统的微服务调用信息,对服务的性能会产生一定的影响,在服务自身压力较大的情况下,需通过调低链路数据采样率,甚至关闭链路数据的收集。然而现有收集链路数据的采样率是配置在Agent代理的配置文件中;上述方式存在以下不易用之处:在服务运行期间无法实时修改采样率,且需要人工监控性能状态再判断是否需要修改采样率。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种链路数据采样率实时自动调整方法,以实现链路数据采样率实时自动调整的目的。
本发明的目的可以通过以下技术方案来实现:一种链路数据采样率实时自动调整方法,包括以下步骤:
S1、监控调整端启动,并将所有服务对应的采样规则加载至缓存;
S2、监控调整端开启实时监控任务,以分别获取已接入服务的实例名称以及性能指标数据;
S3、监控调整端将获取的服务的实例名称及性能指标数据与采样规则进行匹配,若匹配成功,则得到对应的匹配采样率,之后执行步骤S4,否则返回步骤S2继续进行实时监控;
S4、监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给用户,之后返回步骤S2继续进行实时监控。
进一步地,所述采样规则包括服务实例标识、服务性能指标以及对应采样率的配置信息。
进一步地,所述步骤S1中采样规则包括初始采样规则以及当前采样规则,所述步骤S1具体包括以下步骤:
S11、监控调整端加载所有服务对应的初始采样规则至缓存;
S12、监控调整端实时从web页面端获取当前采样规则,并将当前采样规则加载至缓存。
进一步地,所述当前采样规则具体是由用户在web页面端进行采样规则更新、新增或删除操作而生成的。
进一步地,所述web页面端连接有数据库,用于将当前采样规则对应的数据存储于数据库中。
进一步地,所述数据库具体为ES数据库。
进一步地,所述步骤S2中服务的性能指标数据包括但不限于内存使用率和CPU使用率。
进一步地,所述步骤S3的具体过程为:监控调整端将获取的服务的实例名称及性能指标数据与加载至缓存的各采样规则分别进行匹配,若获取的服务的实例名称及性能指标数据均与某个采样规则中服务实例标识及服务性能指标配置信息相匹配,则表明匹配成功,获取该采样规则中对应的采样率配置信息,以作为匹配采样率,之后执行步骤S4,否则表明匹配不成功,结束当前任务。
进一步地,所述步骤S3中监控调整端将获取的服务的实例名称及性能指标数据与采样规则进行匹配的具体过程为:
S31、监控调整端将获取的服务的实例名称与加载至缓存的各采样规则中的服务实例标识配置信息进行匹配,并将匹配成功的采样规则放入列表list中,之后执行步骤S32,若列表list为空,则返回步骤S2继续进行实时监控;
S32、监控调整端将获取的服务的性能指标数据与步骤S31中匹配成功的采样规则列表list中各采样规则的服务性能指标配置信息进行匹配,若获取的服务的性能指标数据大于或等于采样规则中服务性能指标配置信息,则表明匹配成功,从匹配成功的采样规则中获取最小采样率配置信息作为匹配采样率,否则返回步骤S2继续进行实时监控。
进一步地,所述步骤S4具体包括以下步骤:
S41、监控调整端获取服务的当前采样率,若服务的当前采样率与匹配采样率相同,则返回步骤S2继续进行实时监控,否则执行步骤S42;
S42、监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给服务相关用户,之后返回步骤S2继续进行实时监控。
进一步地,所述步骤S4具体是通过邮件或微信推送方式发送对应修改消息给服务相关用户。
与现有技术相比,本发明具有以下优点:
一、本发明通过设置监控调整端,利用监控调整端将采样规则加载至缓存,并利用监控调整端对服务的性能指标数据进行实时监控,以快速得到与采样规则相匹配的采样率,以此作为链路数据采样率,最后通过监控调整端将服务的当前采样率修改为匹配采样率,即服务实例的性能指标数据达到一定程度后能够自动修改调整采样率,实现实时自动监控、实时自动调整的目的,相比于传统方式,能够在服务运行期间实时修改采样率,不需要人工监控性能即可主动修改采样率,且能有效降低Agent收集对服务性能产生的不良影响。
二、本发明采用web页面端对服务实例采样规则进行配置,并通过监控服务端从web页面端实时获取当前采样规则,以将当前采样规则加载至服务端缓存,使得修改后的采样规则能够实时生效,使得缓存的采样规则时刻保持最新的状态,有利于后续监控调整端进行准确可靠的匹配处理,从而保证后续采样率修改调整的准确性。
附图说明
图1为本发明方法流程示意图;
图2为实施例的应用过程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
一种链路数据采样率实时自动调整方法,如图1所示,包括以下步骤:
S1、监控调整端启动,并将所有服务对应的采样规则加载至缓存,其中,采样规则包括服务实例标识、服务性能指标以及对应采样率的配置信息,具体的:
监控调整端首先会加载所有服务对应的初始采样规则至缓存;
之后监控调整端实时从web页面端获取当前采样规则,并将当前采样规则加载至缓存,当前采样规则具体是由用户在web页面端进行采样规则更新、新增或删除操作而生成的,且web页面端连接有数据库,用于将当前采样规则对应的数据存储于数据库中,本实施例中,数据库选用ES数据库;
S2、监控调整端开启实时监控任务,以分别获取已接入服务的实例名称以及性能指标数据,其中,服务的性能指标数据包括但不限于内存使用率和CPU使用率;
S3、监控调整端将获取的服务的实例名称及性能指标数据与采样规则进行匹配,若匹配成功,则得到对应的匹配采样率,之后执行步骤S4,否则返回步骤S2继续进行实时监控,具体的:
监控调整端首先将获取的服务的实例名称与加载至缓存的各采样规则中的服务实例标识配置信息进行匹配,并将匹配成功的采样规则放入列表list中,之后将获取的服务的性能指标数据与列表list中各采样规则的服务性能指标配置信息进行匹配,若获取的服务的性能指标数据大于或等于采样规则中服务性能指标配置信息,则表明匹配成功,从匹配成功的采样规则中获取最小采样率配置信息作为匹配采样率,否则返回步骤S2继续进行实时监控;
若列表list为空,则直接返回步骤S2继续进行实时监控;
S4、监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给服务相关用户,之后返回步骤S2继续进行实时监控,具体的:
监控调整端获取服务的当前采样率,若服务的当前采样率与匹配采样率相同,则返回步骤S2继续进行实时监控,否则监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给服务相关用户,之后返回步骤S2继续进行实时监控。
在实际应用中,监控调整端具体是通过邮件或微信推送方式发送对应修改消息给用户(服务的项目经理、运维人员)。
将上述方法应用于本实施例,针对服务实例a进行链路数据采样率实时自动调整,如图2所示,监控调整端启动时会初始化所有服务对应的采样规则到缓存,本实施例中,服务实例a的初始采样率为100%,服务实例a的初始采样规则为采样规则1:服务实例a持续一分钟内存使用率达80%,采样率变更为50%;
若在web页面端修改了采样规则(更新、新增或删除),则会实时同步数据库和缓存的采样规则,本实施例中,新增采样规则2:服务实例a,连续2分钟CPU使用率超过85%,则关闭数据收集,即采样率降至0;
之后监控调整端会实时监控接入的应用服务的性能指标数据,并将该服务的性能指标数据与缓存的采样规则进行匹配,若匹配成功就会修改该应用服务的采样率,本实施例中,监控调整端监控到服务实例a在过去一分钟内的内存使用率持续超过80%,因此能够与采样规则1匹配上,即触发了采样规则1,因此,监控调整端会即时将服务实例a的采样率由100%降低至50%,同时发送邮件或微信消息给用户,以告知用户链路数据采样率发生的调整。
综上所述,本发明在Skywalking的基础上,通过web页面端配置服务实例的采样规则,通过对服务实例进行实时监控,在服务实例的系统性能(例如CPU使用率、内存使用率等)到达一定程度时能够自动调整采样率,修改后实时生效,在服务运行期间能够实时自动修改采样率,且不需要人工监控性能状态、也不会影响服务的性能。
Claims (10)
1.一种链路数据采样率实时自动调整方法,其特征在于,包括以下步骤:
S1、监控调整端启动,并将所有服务对应的采样规则加载至缓存;
S2、监控调整端开启实时监控任务,以分别获取已接入服务的实例名称以及性能指标数据;
S3、监控调整端将获取的服务的实例名称及性能指标数据与采样规则进行匹配,若匹配成功,则得到对应的匹配采样率,之后执行步骤S4,否则返回步骤S2继续进行实时监控;
S4、监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给用户,之后返回步骤S2继续进行实时监控。
2.根据权利要求1所述的一种链路数据采样率实时自动调整方法,其特征在于,所述采样规则包括服务实例标识、服务性能指标以及对应采样率的配置信息。
3.根据权利要求1所述的一种链路数据采样率实时自动调整方法,其特征在于,所述步骤S1中采样规则包括初始采样规则以及当前采样规则,所述步骤S1具体包括以下步骤:
S11、监控调整端加载所有服务对应的初始采样规则至缓存;
S12、监控调整端实时从web页面端获取当前采样规则,并将当前采样规则加载至缓存。
4.根据权利要求3所述的一种链路数据采样率实时自动调整方法,其特征在于,所述当前采样规则具体是由用户在web页面端进行采样规则更新、新增或删除操作而生成的。
5.根据权利要求3所述的一种链路数据采样率实时自动调整方法,其特征在于,所述web页面端连接有数据库,用于将当前采样规则对应的数据存储于数据库中。
6.根据权利要求5所述的一种链路数据采样率实时自动调整方法,其特征在于,所述数据库具体为ES数据库。
7.根据权利要求2所述的一种链路数据采样率实时自动调整方法,其特征在于,所述步骤S2中服务的性能指标数据包括但不限于内存使用率和CPU使用率。
8.根据权利要求7所述的一种链路数据采样率实时自动调整方法,其特征在于,所述步骤S3中监控调整端将获取的服务的实例名称及性能指标数据与采样规则进行匹配的具体过程为:
S31、监控调整端将获取的服务的实例名称与加载至缓存的各采样规则中的服务实例标识配置信息进行匹配,并将匹配成功的采样规则放入列表list中,之后执行步骤S32,若列表list为空,则返回步骤S2继续进行实时监控;
S32、监控调整端将获取的服务的性能指标数据与步骤S31中匹配成功的采样规则列表list中各采样规则的服务性能指标配置信息进行匹配,若获取的服务的性能指标数据大于或等于采样规则中服务性能指标配置信息,则表明匹配成功,从匹配成功的采样规则中获取最小采样率配置信息作为匹配采样率,否则返回步骤S2继续进行实时监控。
9.根据权利要求1所述的一种链路数据采样率实时自动调整方法,其特征在于,所述步骤S4具体包括以下步骤:
S41、监控调整端获取服务的当前采样率,若服务的当前采样率与匹配采样率相同,则返回步骤S2继续进行实时监控,否则执行步骤S42;
S42、监控调整端将服务的当前采样率修改为匹配采样率,同时发送对应修改消息给服务相关用户,之后返回步骤S2继续进行实时监控。
10.根据权利要求1所述的一种链路数据采样率实时自动调整方法,其特征在于,所述步骤S4具体是通过邮件或微信推送方式发送对应修改消息给服务相关用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011616692.4A CN112702437B (zh) | 2020-12-30 | 2020-12-30 | 一种链路数据采样率实时自动调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011616692.4A CN112702437B (zh) | 2020-12-30 | 2020-12-30 | 一种链路数据采样率实时自动调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702437A true CN112702437A (zh) | 2021-04-23 |
CN112702437B CN112702437B (zh) | 2023-02-10 |
Family
ID=75512780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011616692.4A Active CN112702437B (zh) | 2020-12-30 | 2020-12-30 | 一种链路数据采样率实时自动调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702437B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726755A (zh) * | 2022-02-25 | 2022-07-08 | 中盈优创资讯科技有限公司 | 一种业务切片性能指标采集监控方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474812A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 采样率自适应调整方法及装置 |
CN111124819A (zh) * | 2019-12-10 | 2020-05-08 | 中国建设银行股份有限公司 | 全链路监控的方法和装置 |
CN111679950A (zh) * | 2020-05-25 | 2020-09-18 | 中国工商银行股份有限公司 | 接口级动态数据采样方法及装置 |
CN111782486A (zh) * | 2020-07-03 | 2020-10-16 | 上海浦东发展银行股份有限公司 | 一种基于动态配置的告警实现方法及其系统 |
-
2020
- 2020-12-30 CN CN202011616692.4A patent/CN112702437B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474812A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 采样率自适应调整方法及装置 |
CN111124819A (zh) * | 2019-12-10 | 2020-05-08 | 中国建设银行股份有限公司 | 全链路监控的方法和装置 |
CN111679950A (zh) * | 2020-05-25 | 2020-09-18 | 中国工商银行股份有限公司 | 接口级动态数据采样方法及装置 |
CN111782486A (zh) * | 2020-07-03 | 2020-10-16 | 上海浦东发展银行股份有限公司 | 一种基于动态配置的告警实现方法及其系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726755A (zh) * | 2022-02-25 | 2022-07-08 | 中盈优创资讯科技有限公司 | 一种业务切片性能指标采集监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112702437B (zh) | 2023-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6330600B1 (en) | System for synchronizing configuration information of a network element if received trap sequence number is out-of-sequence | |
KR101292979B1 (ko) | 디바이스 관리 서버를 통한 단말 내부 소프트웨어 관리방법 | |
CN108965381A (zh) | 基于Nginx的负载均衡实现方法、装置、计算机设备和介质 | |
US20070207800A1 (en) | Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device | |
EP3873066A1 (en) | Method for managing resource state information, and resource downloading system | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
US20210211493A1 (en) | Method for managing resource state information and system for downloading resource | |
CN107241242A (zh) | 一种数据处理方法和装置 | |
CN109800131A (zh) | Linux服务器的监控处理方法、装置、计算机设备和存储介质 | |
CN112416708B (zh) | 异步调用链路监控方法及系统 | |
CN111367760A (zh) | 日志采集方法及装置、计算机设备、存储介质 | |
CN112702437B (zh) | 一种链路数据采样率实时自动调整方法 | |
CN111061498A (zh) | 一种配置信息管理系统 | |
CN114629883B (zh) | 服务请求的处理方法、装置、电子设备及存储介质 | |
CN115499447A (zh) | 一种集群主节点确认方法、装置、电子设备及存储介质 | |
CN113472858A (zh) | 埋点数据处理方法、装置及电子设备 | |
WO2007059667A1 (fr) | Procede d'obtention de donnees d'alarme des elements de reseau | |
CN114745275A (zh) | 云服务环境中的节点更新方法、装置和计算机设备 | |
CN114860782B (zh) | 数据查询方法、装置、设备及介质 | |
CN111625427B (zh) | 用于配置中心客户端连接健康状况的实时监控系统和方法 | |
CN113242245A (zh) | 一种tcp消息限流方法、装置、服务器及存储介质 | |
CN111427708A (zh) | 消息消费方法、装置、计算机设备和存储介质 | |
CN111552612A (zh) | Mssql监控管理方法、管理装置、系统和计算机设备 | |
CN111124542A (zh) | 一种配置信息管理系统 | |
CN113157522B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |