优云Monitor:大规模Docker平台自动化监控之路

前言:

本文介绍了通过优云Monitor,如何实现大规模容器运维平台的自动化监控需求。

尽管Docker技术目前还处于不稳定的发展与标准制定阶段,但这门技术已经呈现了极其火热的增长状态,却已经是不争的实事。到底有多火热?让我们先来看一张来自国外监控公司DataDog 2016年最新调查报告:

从图中可以看出,自2015年5月后,采用容器技术的应用呈现了30%的大幅增长,放弃容器技术的的应用,则已经出现了平衡状态。

此消彼长,随着容器技术的推广,本文的主人公老葛,某互联网金融资深运维工程师,也开始受其波及。最近,老葛的公司开始也使用Docker来交付线上的应用了,一上来的第一个应用,就产生了50+的应用容器。老葛带领着运维与研发团队经过一趟艰难迈坑之旅,终于让线上的应用跑起来了。但成功的喜悦转瞬即逝,马上老葛的脸上又出现了囧字,如何优雅地监控容器平台,成了运维团队的大问号?

让我们跟随老葛的视角,来逐个审视团队面临的挑战,首先第一个问题是:

问题1:如何对容器的可用性与资源消耗进行监控?

经过一番选择后,老葛采用优云Monitor来作线上的容器监控,通过在Docker宿主机上部署Agent,实现了所有容器的动态监控,如下图所示:

监控代理通过获取Docker Daemon API(其本质在Docker的容器管理API与cgroup资源统计),其监控到的指标包含:运行容器数(个),停止容器数(个),容器CPU使用率(%),容器RAM使用率(%),容器磁盘读速率(B/S),容器磁盘写速率(B/S),容器文件系统大小(B)、容器文件变更大小(B)、容器网络发送速率(B/S),容器网络接收速率(B/S)。

同时Monitor Agent也针对操作系统本身进行监控,对OS、Docker的各类指标可以达到秒极的监测粒度,完全满足了团队的系统监控要求。

其次还面临:

问题2:如何对容器内的应用进行监控?

通过Monitor Agent,可以针对每一种容器应用,启用特定的采集插件,实现针对其特定应用的指标监控。如问题1中的图形所示,Agent可以通过Net端口,访问特定容器的应用,来实现应用的可用性监控与性能指标的监控。

优云Monitor支持大量的传统资源与互联网资源:

在解决上述两个问题后,工作很快走上了正轨。但应用是有生命的,它在不断发展,随着实例的增加、容器编排能力的使用,应用开始做弹性扩缩,马上新的问题又出现了:

问题3:如何对快速变更下的新增容器进行监控?

经过与优云的技术团队的沟通,老葛团队对Docker宿主机增加了容器变更触发脚本,利用Monitor Agent易于自动化配置的特性,通过脚本自动生成新容器的监控配置项,满足了对新增容器的应用自动监控。

最后,由于大量的应用使用了分布式微服务,相同的微服务在整个网络中运行了多个实例,过去再以单个应用为单位的监控已经无法满足要求,因为单个指标无法代表整个应用的性能水平,所以团队又碰到了一个监控可视化的问题:

问题4:如何可视化分布式应用的整体性能指标?

比如,目前上线的应用有6个Jetty微服务,同时还会不断增加,那么如何确认所有业务Jetty服务的负载是否均衡?

利用Agent监控时,可以为指标数据设置“来源标签”的特性,我们可以将这个应用的6个Jetty服务以及自动新增的Jetty服务,都设置上“app=shop.portal”。

然后,通过优云Monitor的多种仪表盘,通过标签可以提取到这些数据,结合奇妙的数据汇聚公式与丰富的图表,对这6个Jetty服务进行了流量访问趋势、流量访问合计、负载排名、资源消耗等可视化,如下图所示:

同时类似的问题还包括,“集群中的多个Nginx服务,总共有多少HTTP连接会话?”,“集群中所有节点当前成功处理的交易量是多少?”,“集群中所有节点的CPU利用率排名是怎样的?”等等。

从老葛团队容器监控运维历程,我们发现优云Monitor天然地支持对容器以及容器内应用的监控,并且可以敏捷的应对容器的弹性扩缩容,实现自动化容器监控。同时,Monitor还拥有非常棒的数据汇聚与可视化手段,摆脱了运维人员需要逐个面对监控指标的情况,实现监控整体应用,掌控全局。

作者简介:

蒋君伟

IT运维领域资深专家,优云软件产品总监,拥有10年运维实战经验;

先后研发了网络管理、系统管理、CMDB、ITSM等产品,并成功建设了多个全国性的网络运维管理项目;

其主导研发的产品广泛应用于海关、税务、公安、社保、银行、保险、能源等20多个行业。

“ 活动期:现到2016年12月31日前使用优云产品免费,欢迎详询:https://uyun.cn

更多运维技术文章请关注优云官方微信(broada_ops)

时间: 2024-09-16 15:25:30

优云Monitor:大规模Docker平台自动化监控之路的相关文章

优云蒋君伟:自动化运维成本仍然很高

9月10日-11日,上海光大国际会展中心隆重举办了"2017上海站CNUTCon全球运维技术大会".本次大会的主题是"智能时代的新运维",各个公司为观众带来了他们关于该主题的思考,并分享了他们的实践经历.InfoQ有幸邀请了杭州优云软件有限公司的产品副总裁蒋君伟老师接受我们的采访.谈到对自动化运维未来的展望,蒋老师表示自动化运维必然是大势所趋,但是因为相关技术债务的存在,自动化运维的成本还很高.那优云自己的技术与产品是如何去做高效运维的呢?本次采访带你了解一二. I

优云automation实践技巧:简单4步完成自动化构建与发布

前言:本文介绍了优云是如何将运维自动化产品应用到日常工作实践中,并通过内部用户的大量使用来不断改进产品的用户体验. 各位看官,这不是一个揭发单身有为青年因同事们天天秀恩爱而受到一万点暴击伤害的故事.这里指的狗粮,不是真正的"狗粮"--当然,也不是你们认为的狗粮. 事实上,现在很多涉足产品开发的互联网公司,都会提到"吃狗粮"这一概念(出自"Eating yourown dog food -- 吃你自家的狗粮"),它的意思是公司内部员工使用自己生产的

优云Automation:实现IT服务弹性伸缩的利器

随着互联网业务快速持续增长,IT资源使用量按需变化成为常态,这就要求信息部门能快速响应资源使用的变化要求,对运维提出不小挑战.比如电商.在线教育等企业经常推出一些秒杀.抢红包活动,在特定时间段对资源的利用处于高峰期,之后基本处于空闲. 几年前,我们从申请采购到应用部署上线都只能人工操作,需要提前几个月开始规划.如今通过云平台能很好实现资源按需动态管理,运维人员可在云平台上根据实际业务需求申请或释放资源.但申请到虚拟机之后,还是需要按照传统方式从人工部署应用系统,根据工作规范一步步操作,这种方式还

优云蒋君伟:运维监控大数据的提取与分析

本文内容整理来自[敏捷运维大讲堂]蒋君伟老师的线上直播分享.分别从以下3个维度来分享:1.云时代监控分析的窘境:2.使用标签标记监控数据的维度:3.监控数据应用场景. 云时代监控分析的窘境 在虚拟化与容器技术广泛应用的情况下,运维对象大规模地增长,监控平台每天存储的指标都以亿计,所以监控数据如今已经成了大数据.传统的监控工具在这种场景下,对于数据的提取分析,已经力不从心,反而成为了运维的负担. 我们用一个典型的互联网档案分析应用举例说明: 这个应用支持容灾与负载均衡,它部署在三个数据中心,并同时

优云实践:持续交付的Mesos与Docker导入篇

变革这个词在当今的数字化时代司空见惯,IT技术每过一段时间就会有一起革新,从WEB2.0.虚拟化.云计算.大数据.微架构.DevOps再到今天的容器Docker与Mesos. Docker的出现方便了应用的测试.部署.与升级,其将各种应用程序和它们所依赖的运行环境打包成标准的Container/Image,进而发布到不同的平台上运行.Docker的轻量级.快速部署.迁移方便的特性促进了DevOps的落地,借用容器,开发人员可以很方便的融入到产品的交付流程当中. Mesos是软件定义数据中心的最佳

优云经验谈:交付自动化的探索与展望

正如Kurt Bittner说的那样,如果敏捷仅仅是个开始的话,那持续交付则是头条!(我则更喜欢理解成高潮). "If Agile Was the Opening Act,Continuous Delivery is the Headliner!"--Kurt Bittner 现代企业要求软件开发过程保持最大的工作效率,传统的瀑布式开发早已跌入历史洪流,甚至敏捷宣言也已超过10年的历史,软件开发在经历了敏捷开发.持续集成后,正逐步迈入到持续交付的时代. 持续交付是持续集成的延伸,强调以

优云CMDB专家实践谈:自动化运维的基石CMDB

CMDB是什么? 运维百花齐放繁荣景象的同时,也让碎片化问题产生:每个人都想整合运维平台,但是往往事与愿违. CMDB就像一个人的大脑核心,是一个信息协调库,其存储的资料是协调身体完成各种复杂运动的信息来源.  我心中的CMDB . 碎片整合 面向运维工具的碎片化场景,是盘活整个运维管理的数据核心 . 元数据库 提供运维活动的基础元数据,是唯一可信的运维配置数据服务 . 场景驱动 为运维联动提供数据驱动,可协调工具来完成各类自动化场景    ​自动扩容+自动监控 CMDB如何建设? 痛点现象与对

阿里大规模计算平台的自动化、精细化运维之路

本文转载于:高效运维公众号 作者:范伦挺 作者简介: 范伦挺,阿里巴巴 基础架构事业群-技术专家.花名萧一,2010年加入阿里巴巴,现任阿里巴巴集团大数据计算平台运维负责人.团队主要负责阿里巴巴各类离在线大数据计算平台(如MaxCompute.AnalyticDB.StreamCompute等)的运维.架构优化及容量管理等 1.前言 本文主要会从以下四个方面来写,分别是: 阿里大规模计算平台运维面临的一些挑战: 阿里自动化平台建设: 数据精细化运维: 我对运维转型的思考和理解: 2.在阿里我们面

优云:交付自动化的探索与展望

正如Kurt Bittner说的那样,如果敏捷仅仅是个开始的话,那持续交付则是头条!(我则更喜欢理解成高潮). "If Agile Was the Opening Act,Continuous Delivery is the Headliner!"--Kurt Bittner 现代企业要求软件开发过程保持最大的工作效率,传统的瀑布式开发早已跌入历史洪流,甚至敏捷宣言也已超过10年的历史,软件开发在经历了敏捷开发.持续集成后,正逐步迈入到持续交付的时代. 持续交付是持续集成的延伸,强调以