一种基于springboot微服务的监控方法及系统技术方案

技术编号:36904374 阅读:22 留言:0更新日期:2023-03-18 09:23
本发明专利技术涉及微服务及监控技术领域,具体为一种基于springboot微服务的监控方法包括以下步骤:通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标,每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器;对采集的所有原始数据进行解析,并封装为object;从数据预处理模块获取数据,对预处理模块解析后的数据进行清洗;有益效果为:本发明专利技术提出的基于springboot微服务的监控方法及系统通过监控注册中心实时动态获取微服务的服务实例数量等指标信息,自动感知微服务实例;通过promethues实时动态获取微服务的请求量等指标信息,自动感知请求量,用户无需手动频繁查询微服务指标,提升力微服务监控的便利性,降低了人工成本。降低了人工成本。降低了人工成本。

【技术实现步骤摘要】
一种基于springboot微服务的监控方法及系统


[0001]本专利技术涉及微服务及监控
,具体为一种基于springboot微服务的监控方法及系统。

技术介绍

[0002]服务是一种软件开发技术

面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
[0003]现有技术中,每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。微服务的特点决定了功能模块的部署是分布式的,以往在单应用环境下,所有的业务都在同一个服务器上,如果服务器出现错误和异常,我们只要盯住一个点,就可以快速定位和处理问题。
[0004]但是,在微服务的架构下,大部分功能模块都是单独部署运行的,彼此通过总线交互,都是无状态的服务。在大量微服务的背景下,缺乏有效快速评估微服务实例数量以及精准定位微服务实例异常的方法。

技术实现思路

[0005]本专利技术的目的在于提供一种基于springboot微服务的监控方法及系统,实时监控微服务注册中心、微服务实例运行状态及微服务负载数据,并依据告警策略进行告警,以便对微服务伸缩做出决策和问题的精准定位。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种基于springboot微服务的监控方法,该监控方法包括以下步骤:
[0007]通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标,每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器;
[0008]对采集的所有原始数据进行解析,并封装为object;
[0009]从数据预处理模块获取数据,对预处理模块解析后的数据进行清洗,筛选过滤出监控指标需要的数据;
[0010]从数据清洗模块获取纯净的数据,对数据进行统计;
[0011]对统计后的数据进行持久化操作,处理后的数据存储在influxdb数据库中;
[0012]通过用户设置的告警策略对监控的指标数据进行告警;
[0013]将监控的数据以图表的方式展示给用户,提供给用户对监控指标直观的状态。
[0014]优选的,通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标时,具体操作步骤为:配置application.properties文件,将management.endpoints.web.exposure.include字段属性设置为*,暴漏监控数据;
[0015]在采集器中编写采集接口,使用http协议,启用定时任务,每隔一个时间段调用一
次nacos暴漏的metrics接口,获取所有监控数据;
[0016]过滤出需要的指标如:已注册实例的数量、已注册的微服务数量、nacos的cpu使用量、nacos的内存使用量。
[0017]优选的,每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器时,具体操作步骤为:基于springboot项目的微服务应用,引入prometheus依赖,groupid:io.micrometer,artifactId:micrometer

registry

prometheus,scope:runtime;
[0018]暴漏监控接口给采集器,在配置文件application.yaml中增加以下配置,management.endpoint.metrics.enabled=true ,management.endpoints.web.exposure.include=* ,management.endpoint.prometheus.enabled=true,management.metrics.export.prometheus.enabled=true。
[0019]优选的,对采集的所有原始数据进行解析,并封装为object时,作为采集模块下游流程,数据预处理模块从采集模块获取文本形式数据,用正则表达式匹配解析接口url、接口状态码、接口请求量、接口响应时间等信息,封装为代码对象。
[0020]优选的,从数据清洗模块获取纯净的数据,对数据进行统计时,对于计数类指标promethues组件接口获取的数据为微服务启动到请求当前时间的累计量,采集器将每次请求promethues接口采集的数据缓存在内存中,当前时间采集的数据与上次请求的数据之差即为本次周期内的数据,周期即为定时任务时间间隔。
[0021]一种基于springboot微服务的监控系统,该系统由采集模块、数据预处理模块、数据清洗模块、统计模块、存储模块、告警模块以及显示模块构成;
[0022]采集模块,通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标,每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器;
[0023]数据预处理模块,对采集的所有原始数据进行解析,并封装为object;
[0024]数据清洗模块,从数据预处理模块获取数据,对预处理模块解析后的数据进行清洗,筛选过滤出监控指标需要的数据;
[0025]统计模块,从数据清洗模块获取纯净的数据,对数据进行统计;
[0026]存储模块,对统计后的数据进行持久化操作,处理后的数据存储在influxdb数据库中;
[0027]告警模块,通过用户设置的告警策略对监控的指标数据进行告警;
[0028]显示模块,将监控的数据以图表的方式展示给用户,提供给用户对监控指标直观的状态。
[0029]优选的,所述采集模块中,通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标时,具体操作步骤为:配置application.properties文件,将management.endpoints.web.exposure.include字段属性设置为*,暴漏监控数据;
[0030]在采集器中编写采集接口,使用http协议,启用定时任务,每隔一个时间段调用一次nacos暴漏的metrics接口,获取所有监控数据;
[0031]过滤出需要的指标如:已注册实例的数量、已注册的微服务数量、nacos的cpu使用量、nacos的内存使用量。
[0032]优选的,所述采集模块中,每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器时,具体操作步骤为:基于springboot项目的微服务应用,引入prometheus依赖,groupid:io.micrometer,artifactId:micrometer

registry

prometheus,scope:runtime;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于springboot微服务的监控方法,其特征在于:该监控方法包括以下步骤:通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标,每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器;对采集的所有原始数据进行解析,并封装为object;从数据预处理模块获取数据,对预处理模块解析后的数据进行清洗,筛选过滤出监控指标需要的数据;从数据清洗模块获取纯净的数据,对数据进行统计;对统计后的数据进行持久化操作,处理后的数据存储在influxdb数据库中;通过用户设置的告警策略对监控的指标数据进行告警;将监控的数据以图表的方式展示给用户,提供给用户对监控指标直观的状态。2.根据权利要求1所述的一种基于springboot微服务的监控方法,其特征在于:通过调用nacos的接口,获取注册在注册中心的微服务实例数量及注册中心的性能指标时,具体操作步骤为:配置application.properties文件,将management.endpoints.web.exposure.include字段属性设置为*,暴漏监控数据;在采集器中编写采集接口,使用http协议,启用定时任务,每隔一个时间段调用一次nacos暴漏的metrics接口,获取所有监控数据;过滤出需要的指标如:已注册实例的数量、已注册的微服务数量、nacos的cpu使用量、nacos的内存使用量。3.根据权利要求2所述的一种基于springboot微服务的监控方法,其特征在于:每个微服务实例基于sidecar的形式安装一个微服务实例监控数据采集器时,具体操作步骤为:基于springboot项目的微服务应用,引入prometheus依赖,groupid:io.micrometer,artifactId:micrometer

registry

prometheus,scope:runtime;暴漏监控接口给采集器,在配置文件application.yaml中增加以下配置,management.endpoint.metrics.enabled=true,management.endpoints.web.exposure.include=*,management.endpoint.prometheus.enabled=true,management.metrics.export.prometheus.enabled=true。4.根据权利要求1所述的一种基于springboot微服务的监控方法,其特征在于:对采集的所有原始数据进行解析,并封装为object时,作为采集模块下游流程,数据预处理模块从采集模块获取文本形式数据,用正则表达式匹配解析接口url、接口状态码、接口请求量、接口响应时间等信息,封装为代码对象。5.根据权利要求1所述的一种基于springboot微服务的监控方法,其特征在于:从数据清洗模块获取纯净的数据,对数据进行统计时,对于计数类指标promethues组件接口获取的数据为微服务启动到请求当前时间的累计量,采集器将每次请求promethues接口采集的数据缓存在内存中,当前时间采集的数据与上次请求的数据之差即为本次周期内的数据,周期即为定时任务时间间隔。6.一种如上述权利要求1

5任意一项所述的基于springboot微服务的监控系统,其特征在于:该系统由采集模块、数据预处理模块...

【专利技术属性】
技术研发人员:康泽民杨桂龙张建伟赵山
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1