一种基于服务发现的集群资源监控系统转让专利
申请号 : CN202110000525.5
文献号 : CN112328456B
文献日 : 2021-12-03
发明人 : 文彬 , 严凡
申请人 : 北京电信易通信息技术股份有限公司
摘要 :
权利要求 :
1.一种基于服务发现的集群资源监控系统,其特征在于,包括:指标采集组件、服务发现组件、监控组件和容器云平台;
容器集群的每个主机和非容器集群的每个主机上均运行对应的所述指标采集组件;所述指标采集组件根据用户的选择进行部署或者卸载,用于采集对应的指标数据,所述指标数据包括主机指标、集群指标和自定义指标;
所述服务发现组件用于同步所述容器集群和所述非容器集群中的主机;当所述容器集群或所述非容器集群中新增主机时,所述服务发现组件将对应的指标采集组件一键式部署至新增的主机,并通知所述监控组件;当所述容器集群或所述非容器集群中删除主机时,所述服务发现组件将对应的指标采集组件从删除的主机上卸载,并通知所述监控组件;
所述监控组件是指由Prometheus、PushGateway和Alertmanage构成的组件集合,用于接收每个所述指标采集组件采集的指标数据,并将接收的指标数据在所述容器云平台上进行展示;
所述的基于服务发现的集群资源监控系统还包括:告警组件;所述监控组件还用于存储告警规则,所述告警组件用于根据所述监控组件的告警规则生成告警信息,并将所述告警信息在所述容器云平台上进行展示;所述容器云平台还用于根据已生成的告警信息进行相应的操作;
所述容器云平台包括:告警展示模块、监控展示模块和告警操作模块;
所述告警展示模块用于对告警信息进行展示、对历史告警信息进行统计以及对历史告警信息进行分类查看;
所述监控展示模块用于对监控组件接收的指标数据进行展示;
所述告警操作模块用于对生成的告警信息进行相应的操作。
2.根据权利要求1所述的基于服务发现的集群资源监控系统,其特征在于,所述容器云平台根据已生成的告警信息进行的相应的操作具体包括:所述容器云平台用于将所述告警信息推送至工作人员;
所述容器云平台还用于确认推送的所述告警信息,避免重复推送;
所述容器云平台还用于恢复告警状态,当告警状态恢复后所述告警信息仍然存在时,继续推送所述告警信息。
3.根据权利要求2所述的基于服务发现的集群资源监控系统,其特征在于,所述容器云平台推送所述告警信息的方式包括:短信、邮件、企业微信和钉钉。
4.根据权利要求1所述的基于服务发现的集群资源监控系统,其特征在于,所述主机指标包括主机性能指标和主机运行指标;所述主机性能指标包括:CPU、内存、磁盘、网络、负载和TCP连接;所述主机运行指标包括:状态、进程使用的资源、关键服务使用的资源和主机系统日志。
5.根据权利要求1所述的基于服务发现的集群资源监控系统,其特征在于,所述集群指标包括集群性能指标、集群组件指标和系统日志指标;所述集群性能指标包括:集群的吞吐量、占用资源、IO瓶颈和网络压力;所述集群组件指标包括:集群核心组件的运行状态和运行日志;所述系统日志指标包括:主机的系统日志、集群日志以及应用和服务的日志。
6.根据权利要求1所述的基于服务发现的集群资源监控系统,其特征在于,所述自定义指标包括:用户应用的性能指标和运行状态。
7.根据权利要求1所述的基于服务发现的集群资源监控系统,其特征在于,所述服务发现组件还用于根据容器集群以及非容器集群中主机的变化,更新抓取目标的配置文件;所述配置文件用于更新主机的信息、更新用户自定义的抓取信息以及更新开源的exporter信息。
说明书 :
一种基于服务发现的集群资源监控系统
技术领域
背景技术
用,这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做
并不利于应用的升级、更新、回滚等操作,或者可以通过创建虚拟机的方式来实现某些功
能,但是虚拟机非常重,可移植性差;而在Kubernetes生态中通过容器方式部署,每个容器
之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资
源;相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能
在不同云、不同版本操作系统间进行迁移。
对于Kubernetes集群内的新增或者删除的主机,监控组件可以自动的实现服务发现以应对
主机的变化,监控组件可以无缝对接的对新增或者删除的主机,进行指标的采集和告警,但
是对于非Kubernetes集群中的新增或者删除主机,现有技术中监控组件无法发现这些变
化,需要运维人员手工参与,导致维护效率低。
发明内容
自定义指标;
部署至新增的主机,并通知所述监控组件;当所述容器集群或所述非容器集群中删除主机
时,所述服务发现组件将对应的指标采集组件从删除的主机上卸载,并通知所述监控组件;
行展示;所述容器云平台还用于根据已生成的告警信息进行相应的操作。
关键服务使用的资源和主机系统日志。
群核心组件的运行状态和运行日志;所述系统日志指标包括:主机的系统日志、集群日志以
及应用和服务的日志。
息以及更新开源的exporter信息。
组件得知集群的动态变化之后就可以从指标采集组件中拉取指标数据,并进行存储;容器
云平台进行监控指标的展示,查看告警历史,推送通知告警信息并可以进行告警的确认和
恢复,进而可以更大程度上缓解容器集群和非容器集群的运维压力,及时的了解集群的运
行状态,实现对容器集群和非容器集群进行监控,提高监控效率。
附图说明
例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图
获得其他的附图。
具体实施方式
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
和告警,但是对于非Kubernetes集群中的新增或者删除主机,如何让监控组件能动态的发
现这些变化,不需要运维人员手工参与,这是本发明要解决的问题。
容器云平台4。
器集群是指不是用Kubernetes管理的集群,比如大数据集群、中间件集群、消息集群等等。
指标采集组件1根据用户的选择进行部署或者卸载,包括:主机采集组件、各类集群性能采
集组件、自定义采集组件等,可以满足各类监控场景。所述指标采集组件1用于采集对应的
指标数据,包括主机指标、集群指标和自定义指标。主机指标包括主机性能指标和主机运行
指标;所述主机性能指标包括:CPU、内存、磁盘、网络、负载和TCP连接等;所述主机运行指标
包括:状态、进程使用的资源、关键服务使用的资源和主机系统日志等。集群指标包括集群
性能指标、集群组件指标和系统日志指标;所述集群性能指标包括:集群的吞吐量、占用资
源、IO瓶颈和网络压力;所述集群组件指标包括:集群核心组件的运行状态和运行日志等;
所述系统日志指标包括:主机的系统日志、集群日志以及应用和服务的日志等。自定义指标
包括:用户应用的性能指标和运行状态等。
中新增主机时,所述服务发现组件2将对应的指标采集组件1一键式部署至新增的主机,并
通知所述监控组件3;当所述容器集群或所述非容器集群中删除主机时,所述服务发现组件
2将对应的指标采集组件1从删除的主机上卸载以节省主机资源,并通知所述监控组件3。
的配置文件,配置文件不仅可以更新主机的信息,而且用户自定义的抓取信息以及一些开
源的exporter的信息都可以更新到配置文件中;(2)根据集群的需要,一键部署或者卸载指
标采集组件1,并通知监控组件3热启动。
指标数据,进行存储,并将接收的指标数据在所述容器云平台4上进行展示。
组件根据所述监控组件3的告警规则生成告警信息,并将所述告警信息存储至数据库8,同
时在所述容器云平台4上进行展示。生成告警信息后,所述容器云平台4还用于根据已生成
的告警信息进行相应的操作,具体包括以下操作:
位问题等。
息进行分类查看;所述监控展示模块用于对监控组件3接收的指标数据进行展示;所述告警
操作模块用于对生成的告警信息进行相应的操作。
器云平台中查看所有的告警历史信息,还可以针对告警信息进行操作,比如告警确认,告警
恢复等等;本发明可以让容器云平台动态的感知容器集群和非容器集群新增或者删除主机
的操作,不需要人工干预,可以自动安装或者卸载监控所必需的组件,减少系统运维人员的
手工参与,及时的了解集群的运行状态,及时让运维人员发现集群问题,避免出现重大事
故,进一步保障了集群的健康运行。
云平台门户进行展示,为集群的运维人员提供了极大的便利,减少运营成本。通过容器云平
台可以对Kubernetes集群中的主机、集群中容器化运行的应用和服务、Kubernetes中的资
源对象进行指标采集和监控;对非Kubernetes集群中的主机、集群的性能指标(比如大数据
集群的性能指标、关系型数据库的性能指标、消息集群的性能指标等等)、自定义的指标进
行采集和监控。
本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不
应理解为对本发明的限制。