容器集群部署多进程应用的监管系统及方法技术方案

技术编号:15541483 阅读:76 留言:0更新日期:2017-06-05 10:52
本发明专利技术公开了一种容器集群部署多进程应用的监管系统及方法,该系统包括管理环境模块和业务环境模块,管理环境模块和业务环境模块分别部署在不同的业务环境中或同时部署在同一个业务环境中;业务环境包括物理机环境和虚拟机环境,业务环境模块包括监控服务器、服务发现组件、和监控代理组件,管理环境模块包括管理服务器。本发明专利技术对容器的监管对象和进程进行统一监管,提供容器的自动发现能力,新部署的容器可以自动纳入监管系统,已停止的容器可以自动解除监管,采集容器和容器内进程的监控信息的同时支持对容器和容器内进程的生命周期管理。

System and method for monitoring deployment of multi process applications in container cluster

The invention discloses a container cluster deployment process applications monitoring system and method, the system includes management module and business environment module, management module and business environment environment modules are deployed in different business environments or at the same time deployed in the same business environment; business environment including physical environment and virtual machine machine environment, business environment, service discovery module includes a monitoring server and monitoring component, the agent component management module includes a management server environment. The invention of the regulatory object container and process for unified supervision, the ability of automatic discovery provides a container, the container can be automatically incorporated into the new deployment of the monitoring system, the container has stopped can automatically release supervision, monitoring information collection container and process at the same time to support the life cycle management of container and process.

【技术实现步骤摘要】
容器集群部署多进程应用的监管系统及方法
本专利技术涉及一种监管系统及方法,特别是涉及一种容器集群部署多进程应用的监管系统及方法。
技术介绍
容器技术是云计算的热点技术之一,当前容器技术已经在公有云、私有云、混合云场景广泛应用。容器本身是推崇单一容器跑单一进程,但是实际应用中,太多的多进程应用需要被部署到同一容器中运行。在拥有多个云应用的集群中,容器被大量创建到物理集群或者虚拟机集群中,而多数容器内应用又拥有多个进程。在现有的容器监管系统中,绝大多数监管系统只能监管容器本身的状态,而对部署在容器内进程不能做到有效监管。
技术实现思路
本专利技术所要解决的技术问题是提供一种容器集群部署多进程应用的监管系统及方法,其对容器的监管对象和进程进行统一监管,提供容器的自动发现能力,新部署的容器可以自动纳入监管系统,已停止的容器可以自动解除监管,采集容器和容器内进程的监控信息的同时支持对容器和容器内进程的生命周期管理。本专利技术是通过下述技术方案来解决上述技术问题的:一种容器集群部署多进程应用的监管系统,其包括管理环境模块和业务环境模块,管理环境模块和业务环境模块分别部署在不同的业务环境中或同时部署在同一个业务环境中;业务环境包括物理机环境和虚拟机环境,业务环境模块包括监控服务器、服务发现组件、和监控代理组件,管理环境模块包括管理服务器。优选地,所述监控服务器组件部署在一个容器中,其功能包括启动或重启后和服务发现组件进行通信,获取当前可用监控代理列表;接收服务发现组件的监控代理新注册通知,刷新监控代理列表;接收各容器的监控代理组件上报的进程信息,按进程和时间要素分类整理后,保存在监控服务器的缓存系统中(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群);周期性和各容器所在主机的容器守护进程进行通信,获取集群内各容器的信息,包括但不限于CPU信息、内存信息、网络信息、文件系统信息,按容器和时间要素分类整理后,保存在监控服务器的缓存系统中(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群);接收管理环境模块的管理服务器对某容器内特定进程下发的生命周期管理命令,转发命令给对应容器的监控代理;接收管理环境模块的管理服务器对某容器下发的生命周期管理命令,连接该容器所在主机的容器守护进程,通过容器守护进程管理该容器。优选地,所述服务发现组件部署在一个单独容器中或和监控服务器组件部署在同一容器中,其功能包括接收监控代理的新注册消息,保存在服务发现组件的缓存系统中(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群),刷新监控代理列表,并通知监控服务器;和已经注册的监控代理保持心跳连接,一旦心跳连接丢失,从监控代理列表删除该记录,并通知监控服务器;接收监控服务器查询请求,返回可用监控代理列表。优选地,所述监控代理组件作为容器的init(开始命令)进程部署在各自单独的容器中,其功能包括容器启动后,主动向服务发现组件发送注册信息;和服务发现组件保持心跳连接;周期性采集本容器内应用各进程的信息,包括但不限于进程名称、进程状态、运行时间、CPU占用率、内存占用率,并上报进程信息给监控服务器;接收监控服务器组件下发的生命周期管理命令,对本容器内其他进程进行生命周期管理。优选地,所述管理服务器部署在单独的管理关键中或业务容器同一集群内,其功能包括连接监控服务器,获取监控服务器采集的容器和进程信息;连接监控服务器,对集群内某容器内进程下发生命周期管理命令;连接监控服务器,对集群内某容器下发生命周期管理命令。优选地,所述管理环境模块和业务环境模块的各组件根据业务场景均支持高可用部署。本专利技术还提供一种容器集群部署多进程应用的监管方法,其包括下列步骤:步骤一,基于多主机(物理机或者虚拟机)创建业务环境模块的容器集群,开启容器守护进程的远程通信功能;步骤二,在容器集群中创建监控服务器和服务发现容器,监控服务器首次启动会通信接口(比如restful接口)向服务发现组件请求可用监控代理列表,服务发现容器中没有数据,则查询返回空数据;步骤三,创建业务容器,启动监控代理并作为容器的init进程,监控代理负责采集容器内其他进程的信息,并对外部组件提供通信接口(比如restful接口)对容器内进程进行生命周期管理;步骤四,监控代理首先通过通信接口(比如restful接口)向服务发现组件注册,包括访问地址和端口,然后通过通信接口(比如restful接口)周期性保持心跳连接,服务发现组件通过心跳连接刷新可用监控代理列表,并保存在服务发现组件的缓存系统中(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群);步骤五,服务发现组件通过通信接口(比如restful接口)向监控服务器通知监控代理注册信息,监控服务器获取到注册的监控代理访问地址和端口,通过通信接口(比如restful接口)访问监控代理,建立连接并刷新容器监控代理列表;步骤六,监控代理周期性获取容器内所有进程的信息,包括进程名称、进程状态、运行时间、CPU占用率、内存占用率,并把采集到的信息进行整理加工,通过通信接口(比如restful接口)发送给监控服务器;步骤七,监控服务器收到监控代理发送的进程信息,按进程和时间要素分类整理后,存入监控服务器的缓存系统中(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群);步骤八,监控服务器周期性通过通信接口(比如restful接口)连接集群内各容器所在主机的容器守护进程,调用容器管理命令采集集群内各容器的信息,包括但不限于容器id、CPU信息、内存信息、网络信息、文件系统信息,按容器和时间要素分类整理后,存入监控服务器的缓存系统中(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群);步骤九,管理环境模块中管理服务器通过通信接口(比如restful接口)连接业务环境模块中监控服务器,查询监控服务器的缓存系统中的容器和进程信息(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群);步骤十,监控服务器通过通信接口(比如restful接口)接收管理环境模块中管理服务器对业务环境模块内特定容器或容器内进程下发的生命周期管理命令(比如启动、停止、重启等);步骤十一,监控代理通过通信接口(比如restful接口)获取到对某进程的生命周期管理命令(比如启动、停止、重启等),执行命令并返回结果。优选地,所述步骤五包括下列步骤:步骤十二,监控服务器重启后,通过通信接口(比如restful接口)向服务发现组件请求可用监控代理列表,服务发现组件通过通信接口(比如restful接口)向监控服务器发送监控代理注册信息,监控服务器获取到注册的监控代理访问地址和端口,通过通信接口(比如restful接口)访问监控代理,建立连接并刷新容器监控代理列表;步骤十三,服务发现组件检测到监控代理的心跳消息丢失超过预设的时间周期(比如3个时间周期),触发代理丢失事件,刷新服务发现组件的缓存系统(缓存系统可以是本地缓存系统,也可以是分布式缓存集群系统,比如Redis集群),并发送通知消息到监控服务器;监控服务器接收到代理丢失事件,删除该代理并刷新容本文档来自技高网...
容器集群部署多进程应用的监管系统及方法

【技术保护点】
一种容器集群部署多进程应用的监管系统,其特征在于,其包括管理环境模块和业务环境模块,管理环境模块和业务环境模块分别部署在不同的业务环境中或同时部署在同一个业务环境中;业务环境包括物理机环境和虚拟机环境,业务环境模块包括监控服务器、服务发现组件、和监控代理组件,管理环境模块包括管理服务器。

【技术特征摘要】
1.一种容器集群部署多进程应用的监管系统,其特征在于,其包括管理环境模块和业务环境模块,管理环境模块和业务环境模块分别部署在不同的业务环境中或同时部署在同一个业务环境中;业务环境包括物理机环境和虚拟机环境,业务环境模块包括监控服务器、服务发现组件、和监控代理组件,管理环境模块包括管理服务器。2.如权利要求1所述的容器集群部署多进程应用的监管系统,其特征在于,所述监控服务器组件部署在一个容器中,其功能包括启动或重启后和服务发现组件进行通信,获取当前可用监控代理列表;接收服务发现组件的监控代理新注册通知,刷新监控代理列表;接收各容器的监控代理组件上报的进程信息,按进程和时间要素分类整理后,保存在监控服务器的缓存系统中;周期性和各容器所在主机的容器守护进程进行通信,获取集群内各容器的信息,包括但不限于CPU信息、内存信息、网络信息、文件系统信息,按容器和时间要素分类整理后,保存在监控服务器的缓存系统中;接收管理环境模块的管理服务器对某容器内特定进程下发的生命周期管理命令,转发命令给对应容器的监控代理;接收管理环境模块的管理服务器对某容器下发的生命周期管理命令,连接该容器所在主机的容器守护进程,通过容器守护进程管理该容器。3.如权利要求1所述的容器集群部署多进程应用的监管系统,其特征在于,所述服务发现组件部署在一个单独容器中或和监控服务器组件部署在同一容器中,其功能包括接收监控代理的新注册消息,保存在服务发现组件的缓存系统中,刷新监控代理列表,并通知监控服务器;和已经注册的监控代理保持心跳连接,一旦心跳连接丢失,从监控代理列表删除该记录,并通知监控服务器;接收监控服务器查询请求,返回可用监控代理列表。4.如权利要求1所述的容器集群部署多进程应用的监管系统,其特征在于,所述监控代理组件作为容器的init进程部署在各自单独的容器中,其功能包括容器启动后,主动向服务发现组件发送注册信息;和服务发现组件保持心跳连接;周期性采集本容器内应用各进程的信息,包括但不限于进程名称、进程状态、运行时间、CPU占用率、内存占用率,并上报进程信息给监控服务器;接收监控服务器组件下发的生命周期管理命令,对本容器内其他进程进行生命周期管理。5.如权利要求1所述的容器集群部署多进程应用的监管系统,其特征在于,所述管理服务器部署在单独的管理关键中或业务容器同一集群内,其功能包括连接监控服务器,获取监控服务器采集的容器和进程信息;连接监控服务器,对集群内某容器内进程下发生命周期管理命令;连接监控服务器,对集群内某容器下发生命周期管理命令。6.如权利要求1所述的容器集群部署多进程应用的监管系统,其特征在于,所述管理环境模块和业务环境模块的各组件根据业务场景均支持高可用部署。7.一种容器集群部署多进程应用的监管方法,其特征在于,其包括以下步骤:步骤一,基于多主机创建业务环境模块的容器集群,开启...

【专利技术属性】
技术研发人员:柏银
申请(专利权)人:中电科华云信息技术有限公司
类型:发明
国别省市:上海,31

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

1