一种容器云环境下的CI/CD监控方法和系统技术方案

技术编号:21246756 阅读:43 留言:0更新日期:2019-06-01 07:13
本发明专利技术公开了一种容器云环境下的CI/CD监控方法和系统,其中系统包括:监控组件Agent以及数据采集与处理中心。本发明专利技术提供的CI/CD监控系统是基于容器云平台环境的持续集成和持续交付全链路监控系统,对于每个监控源,拥有独立的一个监控组件Agent,与监控源进行数据交互;对于每一个监控信息block_message,拥有一个唯一的Id,不同组件生成的block_message共享一个跟踪链list。相较于传统的监控系统,本发明专利技术的监控系统一方面可以线性扩展监控组件,不受CI/CD平台拥有众多的开发组件的影响,提升系统的灵活性与扩展性;另一方面可以实时跟踪全链路过程,通过前端图形界面显示,可以清晰地展示给用户全链路监控信息,帮助用户去定位异常问题。

A CI/CD Monitoring Method and System in Container Cloud Environment

The invention discloses a CI/CD monitoring method and system in container cloud environment, in which the system comprises a monitoring component agent and a data acquisition and processing center. The CI/CD monitoring system provided by the invention is a continuous integration and continuous delivery full-link monitoring system based on container cloud platform environment. For each monitoring source, it has an independent monitoring component agent, which interacts with the monitoring source. For each monitoring information block_message, it has a unique Id, and the block_message generated by different components shares a tracking chain list. Compared with the traditional monitoring system, the monitoring system of the present invention can linearly expand the monitoring components, not affected by the numerous development components of the CI/CD platform, and improve the flexibility and expansibility of the system; on the other hand, it can track the whole link process in real time, and display the monitoring information clearly to the user through the front-end graphical interface to help the user determine the link. Bit anomaly problem.

【技术实现步骤摘要】
一种容器云环境下的CI/CD监控方法和系统
本专利技术涉及软件开发及运维监控领域,特别涉及以容器为基础的云平台环境下,如何监控持续集成和持续交付(CI/CD)的工作流程。
技术介绍
近年来,DevOps(Development和Operations的组合词,即开发运维一体化)已经成为云中应用交付和维护最有效的方法,CI/CD(CI,ContinuousIntegration即持续集成;CD,ContinuousDelivery即持续交付)作为DevOps的关键实践之一,它让团队能够在开发实践上紧密协作,力图让每一个发布过程都变得可靠,并确保有一种全面的、一致的、自动化的方式将软件交付到多个运行环境中。在RightScale发表的云状态调查报告中指出,在最常见的云优化的方式中,有一半的企业关注的是如何监控。因此,对CI/CD如何进行高效地监控已经成为现代企业关心的一大问题。目前,在Docker容器中运行CI/CD已成为主流趋势,相较于传统的方式,Docker环境下的CI/CD不仅拥有传统监控遇到的问题,也带来一些更大的挑战。1.监控源的多样化挑战CI/CD涉及到众多的开发工具,有开源的,也有商业的。在代码管理阶段,比较常用的开具包括SVN,Git等;在持续集成阶段,有Jenkins等;在测试阶段,有Fortify等;在部署阶段,有Ansible等。在一些阶段可能还集成邮件、短信等第三方功能。监控源越来越多,要监控的数据自然也就越来越多,对这么多数据的采集、存储和实时分析就成为了监控系统的一大难题。另外,由于监控源不断变化,传统的架构难以灵活地扩展。2.大量数据的关联体现挑战数据是采集到了,采集全了,由于不同监控源的数据结构,访问方式都不尽相同,如何正确体现各个监控源数据的关联呢?如何有效处理链路跟踪、问题定位及快速处理这些问题呢?3.容器云环境带来了新的挑战随着以Docker为代表的容器技术的兴起,解决了诸多传统交付过程中的问题,容器云为持续集成和持续部署提供了便利的部署方式。不过,新事物也有两面性,也为运维监控带来了新的问题。在容器云环境中,不仅有更多的应用需要管理,而且它们相比以往任何时候都要变化更快,在系统出现异常时定位问题慢,另外经常受到多个模块的影响,难以快速正确处理。在整个测试和生产环境需要监控组件总量呈指数级增长,从而显著增加了基于容器的管理环境的复杂性。
技术实现思路
本专利技术旨在解决以上现有技术中至少一个方面的缺陷,为解决上述技术问题,本专利技术采用以下技术方案:在一个方面,本专利技术提供一种容器云环境下的CI/CD监控方法,包括以下步骤:预先根据每个监控源开发的监控组件Agent根据其收集到的监控源信息生成消息block_message并发送至数据采集与处理中心,所述消息block_message包括ID和父ID以及描述数据和时间戳数据;所有相关联的监控源作为一组监控源并且同组监控源的消息block_message中ID一样;所述父ID用来关联同组中顺序在自身前面的监控源的监控组件Agent;数据采集与处理中心预先为每组监控源生成树状结构的全链路跟踪信息list,解析接收到的消息block_message并确定监控组件Agent的ID和父ID;根据ID值和父ID查询监控组件Agent所在的全链路跟踪信息list以及监控组件Agent在其全链路跟踪信息list中的位置并更新叶节点信息。在以上技术方案中还包括以下步骤:数据采集与处理中心实时地将各组监控源的全链路跟踪信息list发送到数据显示与告警模块进行显示或告警或发送到数据存储模块进行存储。数据采集与处理中心根据全链路跟踪信息list中的ID进行检索得到其对应的消息block_message的链式数据。进一步地,数据采集与处理中心将检索得到的消息block_message的链式数据发送到数据显示与告警模块进行显示或告警。在以上技术方案中还包括:根据每个新加入的监控源的数据结构和访问接口开发具有统一访问接口的监控组件Agent。在另一个方面,本专利技术提供一种容器云环境下的CI/CD监控系统,包括:预先根据每个监控源开发的监控组件Agent以及数据采集与处理中心;所述监控组件Agent,用于根据其收集到的监控源信息生成消息block_message并发送至数据采集与处理中心,所述消息block_message包括ID和父ID以及描述数据和时间戳数据;所有相关联的监控源作为一组监控源并且同组监控源的消息block_message中ID一样;所述父ID用来关联同组中顺序在自身前面的监控源的监控组件Agent;所述数据采集与处理中心,用于预先为每组监控源生成树状结构的全链路跟踪信息list,解析接收到的消息block_message并确定监控组件Agent的ID和父ID;根据ID值和父ID查询监控组件Agent所在的全链路跟踪信息list以及监控组件Agent在其全链路跟踪信息list中的位置并更新叶节点信息。进一步地,所述系统还包括数据显示与告警模块和数据存储模块;所述数据显示与告警模块用于对数据进行显示或告警;所述数据存储模块用于对数据进行存储。所述数据采集与处理中心还包括第一数据发送模块;所述第一数据发送模块用于实时地将各组监控源的全链路跟踪信息list发送到数据显示与告警模块进行显示或告警或发送到数据存储模块进行存储。进一步地,所述数据采集与处理中心还包括数据处理模块,所述数据处理模块用于根据全链路跟踪信息list中的ID进行检索得到其对应的消息block_message的链式数据。进一步地,所述数据采集与处理中心还包括第二数据发送模块;所述第二数据发送模块用于将数据处理模块检索得到消息block_message的链式数据发送到显示与告警模块进行显示或告警。本专利技术所达到的有益效果:1、本专利技术监控系统可以通过全链路跟踪信息list实现线性扩展监控组件,不受CI/CD平台拥有众多的开发组件的影响,提升系统的灵活性与扩展性;2、专利技术提出为每个监控源建立独立的监控组件Agent,通过Agent代理无侵入式部署,将业务逻辑和信息采集完全分离;3、本专利技术根据每个新加入的监控源的数据结构和访问接口开发具有统一访问接口的监控组件Agent;采用定制化独立的监控组件就可以解决不同组件,不同版本以及在容器化云环境中的易变性的难题,可以提高监测效率,减少运维成本;4、本专利技术中的数据采集与处理中心通过第一数据发送模块实时地将各组监控源的全链路跟踪信息list发送到数据显示与告警模块进行显示或告警;可以实时跟踪全链路过程,通过前端图形界面显示,可以清晰地展示给用户全链路监控信息,帮助用户去定位异常问题;5、监控组件Agent采用容器化部署,容器化环境具有高可用的特点;6、本专利技术数据采集与处理中心中的数据处理模块可以根据全链路跟踪信息list中的ID进行检索得到满足要求的特定监控源的block_message的链式数据,进而实现根据用户提交的请求或其它预设条件检索特定的监控源或全链路跟踪信息list并通过设置显示与告警模块,可以方便展示检索结果,提高系统的交互性能。附图说明图1是基于容器云平台的CI/CD软件开发过程和工具;图2是本专利技术具体实施例的监控系统的架构图;图3本文档来自技高网
...

【技术保护点】
1.一种容器云环境下的CI/CD监控方法,其特征是,包括以下步骤:预先根据每个监控源开发的监控组件Agent根据其收集到的监控源信息生成消息block_message并发送至数据采集与处理中心;所述消息block_message包括ID和父ID以及描述数据和时间戳数据;所有相关联的监控源作为一组监控源并且同组监控源的消息block_message中ID一样;所述父ID用来关联同组中顺序在自身前面的监控源的监控组件Agent;数据采集与处理中心预先为每组监控源生成树状结构的全链路跟踪信息list,解析接收到的消息block_message并确定监控组件Agent的ID和父ID;根据ID值和父ID查询监控组件Agent所在的全链路跟踪信息list以及监控组件Agent在其全链路跟踪信息list中的位置并更新叶节点信息;所述全链路跟踪信息list用于记录同组内各个监控组件Agent的信息,每个全链路跟踪信息list包括ID值,所述ID值与对应组监控源内所有监控组件Agent生成的消息block_message中的ID一样,消息block_message作为全链路跟踪信息list的叶节点。

【技术特征摘要】
1.一种容器云环境下的CI/CD监控方法,其特征是,包括以下步骤:预先根据每个监控源开发的监控组件Agent根据其收集到的监控源信息生成消息block_message并发送至数据采集与处理中心;所述消息block_message包括ID和父ID以及描述数据和时间戳数据;所有相关联的监控源作为一组监控源并且同组监控源的消息block_message中ID一样;所述父ID用来关联同组中顺序在自身前面的监控源的监控组件Agent;数据采集与处理中心预先为每组监控源生成树状结构的全链路跟踪信息list,解析接收到的消息block_message并确定监控组件Agent的ID和父ID;根据ID值和父ID查询监控组件Agent所在的全链路跟踪信息list以及监控组件Agent在其全链路跟踪信息list中的位置并更新叶节点信息;所述全链路跟踪信息list用于记录同组内各个监控组件Agent的信息,每个全链路跟踪信息list包括ID值,所述ID值与对应组监控源内所有监控组件Agent生成的消息block_message中的ID一样,消息block_message作为全链路跟踪信息list的叶节点。2.根据权利要求1所述的一种容器云环境下的CI/CD监控方法,其特征是,还包括以下步骤:数据采集与处理中心实时地将各组监控源的全链路跟踪信息list发送到数据显示与告警模块进行显示或告警或发送到数据存储模块进行存储。3.根据权利要求1所述的一种容器云环境下的CI/CD监控方法,其特征是,还包括以下步骤:数据采集与处理中心根据全链路跟踪信息list中的ID进行检索得到其对应的消息block_message的链式数据。4.根据权利要求3所述的一种容器云环境下的CI/CD监控方法,其特征是,数据采集与处理中心将检索得到的消息block_message的链式数据发送到数据显示与告警模块进行显示或告警。5.根据权利要求1所述的一种容器云环境下的CI/CD监控方法,其特征是,根据每个新加入的监控源的数据结构和访问接口开发具有统一访问接口的监控组件Agent。6.根据权利要求1所述的一种容器云环境下的CI/CD监控方法,其特征是,所述监控组件Agent采用容器化部署。7.根据权利要求1所述的一种容器云环境下的CI/CD监控方法,其特征是,每个监控组件Agent实时或固定时间地收集监控源信息。8.一种容器云环境下的CI/CD监控系统,其特征在于,包括:预先根据每...

【专利技术属性】
技术研发人员:刘嘉华徐顺旺康睿周忠冉万明周晨曦王靓盛红雷杨会涛王琪师惠忠李马峰陈望旭杨兴翔王朝兴张文鹏谷金颖
申请(专利权)人:南京南瑞信息通信科技有限公司
类型:发明
国别省市:江苏,32

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

1