当前位置:亚洲城ca88 > ca88手机版登录 > 解密监控宝Docker监控实现原理,从网站监控到全

解密监控宝Docker监控实现原理,从网站监控到全

文章作者:ca88手机版登录 上传时间:2019-11-07

【干货】解密监控宝Docker监控实现原理

分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者。8 年研发管理经验,早期从事大规模企业信息化研发架构,09 年涉足互联网数字营销领域并深入研究架构与性能优化。2014 年加入云智慧,致力于 APM 产品的架构与研发。崇尚敏捷,高效,GettingReal。

图片 1

2015年9月,企业级应用性能监控和管理服务商云智慧正式上线了Docker监控功能,能够实时监控Docker容器的CPU、内存、网络流量及Swap状态,让开发者和运维人员在使用Docker时清晰掌握其资源消耗状况。

图片 2

作为国内首家实现Docker监控的SaaS厂商,监控宝Docker监控的技术原理是什么?相对国外的Docker监控产品有何优势?以下是此次分享的实录,请听Neeke细说端详:

1、Docker监控概况

在云时代,仍有大量物理机直接支持服务,相较于虚拟技术来讲,这种方式已经落伍很多,于是各种开源容器技术大大推进了虚拟化技术的发展。

Docker容器相较于其他容器技术来讲,是比较新的,而且发展最为迅速。原因不用多说,背后有老大哥谷歌撑腰。国内也已经兴起了几个以Docker为核心技术的创业公司,比如云智慧的合作伙伴数人、DaoCloud,都是前景非常赞的公司。

虽然这么火热,但关于Docker的运维一直是个痛点。

可以说,目前全球只有两家APM厂商提供了基于SaaS的Docker运维监控,其一是美国APM厂商New Relic,他们在6月下旬正式发布了Docker监控;另一家,则是中国APM厂商云智慧CloudWise,在继New Relic之后的9月7日,发布上线了Docker监控。从某种意义上讲,CloudWise填补了国内Docker监控的SaaS服务空白。

2、Docker监控的工作原理

大家都知道,CloudWise在APM领域率先提出了端到端的一体化监控模型,并且在此模型上,发布了技术领先、便于部署和管理的SmartAgent软件架构。此次Docker监控的实现,也是基于SmartAgent的架构来完成的。

SmartAgent以部署的快捷高效和智能化见长,整个部署过程中,用户在两分钟内便可完成。部署分为两部,首先下载、解压、启动数据发送代理SendProxy。SendProxy的作用是提供一个高效的本地数据接收队列与数据发送引擎,并且可以在局域网内进行分布式部署,使得不能上网的机器监控也可正常地通过SendProxy高效地传输到云智慧的SaaS平台。其次,下载、解压、启动DockerAgent。

DockerAgent使用Python进行开发并完成编译,目前支持Ubuntu和CentOS。DockerAgent遵循了SmartAgent的插件规范,所以,无论监控宝或透视宝用户,都可以直接使用。

DockerAgent有三个线程,分别是:DockerProcess DockerConfig DockerPing,以及一个对象Task。三个线程各司其职,同时受Task对象控制。Task中核心属性是任务惟一标识、任务状态以及任务频率。这些属性由DockerConfig与ClouwWise云平台定时同步。

当任务状态正常时,DockerProcess线程开始采集数据,并遵守频率规范。DockerPing负责心跳检测,定时产生心跳数据。这些数据,都由DockerAgent交由SendProxy,并由SendProxy存储进入队列,并异步地推送至CloudWise云平台。

前面聊到DockerAgent插件遵守了SmartAgent的插件规范,所以它像其他插件一样,包含了 bin 、conf、lib、log等目录,并存在一个启动脚本。该脚本提供了start 、stop、status等命令。

以上是DockerAgent的介绍,后续SmartAgent的架构与插件规范将会陆续开源发布,届时热衷开源与监控的同学,都可以直接参与进来。3、DockerAgent数据采集原理

下面我们聊一下DockerAgent采集数据的原理。DockerAgent首先会使用docker info命令来获取docker系统信息,这些信息包含了非常有用的数据,如: Containers, Images, Name, CPUs, Data Space Used, Data Space Total, Total Memory。

这些数据看似简单基础,但却可以解脱掉Docker运维同学每天重复N次的工作。其次会使用docker version来检测docker版本,目前我们的DockerAgent仅支持1.15以上的Docker版本。

图片 3

然后,使用dockerps命令来取得容器的运行信息和容器id,容器name,此时便可获知在此台机器上正在运行的docker容器都有哪些。

最后,依次取得这些docker容器的性能指标。取得性能指标的方式,有部分使用docker原生接口,有部分是运行云智慧自己的算法。其中包含容器与主机的系统时区/时间;容器的cpu使用率(通过cgroup/cpuacct内该容器的cpuacct.stat取得);容器的ip;容器内运行的进程数;容器的内存指标,rsscachememory_limittotal_cwop等(通过cgroup/memory内该容器的 memory.stat取得);容器的网络指标(通过ifconfig/ statistics取得)。DockerAgent发布上线以后,在当天就接到了非常多热心用户的反馈。很多反馈非常好,我们也在积极地吸收和改进。为大家解决真正头疼的Docker运维、监控、管理问题。相信在很短的时间内,将迭代出更优秀、更稳定、更符合用户预期的DockerAgent,以此不仅填补国内的Docker监控空白,更会真正成为众多Docker用户、企业的伙伴,为大家解决真正头疼的Docker运维、监控问题。

问:咱们和datadog之类docker监控有啥区别和优势?

答:DataDog的安装部署太过繁琐。当时尝试时用了一下午才跑出来数据。DataDog的图表定义比较自由,这点是比较好的;而我们的 Docker监控最大的优势,就是零基础部署。另外,DataDog太贵,好像一个Agent要接近100人民币吧。目前CloudWise的 DockerAgent完全免费。

问:刚才说 docherconfig 是定时与云平台同步,同步的是docker process和docker ping采集到的数据吗?

答:不是同步采集到的数据,是同步配置。

问:我看讲的是通过sendproxy异步到云平台的啊,那么dockerconfing的作用是什么?

答:DockerConfig是定时从云平台取得配置信息,采集到的数据,是由DockerProcess与DockerPing自行交由SendProxy。同步的数据其实就是Task的属性,比如任务名、任务频率、任务状态。

问:采集数据原理是先ps命令机器上那些 docker容器,再去用docker info获得他们的指标吗?

答:dockerinfo是返回当前机器上整体的docker指标,然后ps取得活着的docker容器,依次取它们各自的指标。

问:那包括了ps命令出的docker吗?ps直接就取了吗?这么说ps不仅仅是获取那些活的docker容器,还包括他们指标?

答:ps取不到指标,取得的是活的容器并列举;然后用其他的方法取它们的指标。容器名字也是ps时列举时一起取得的。

以上是Neeke就监控宝Docker监控的实现原理进行的分享,大家可以注册监控宝进行免费试用,有任何问题或需求请与我们联系。

分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者。8 年研发管理...

“云智慧”孵化的“天机数据”,获红杉、戈壁联合投资1000万元

云智慧获千万级美元 B 轮融资,希望从技术端入手覆盖企业前后端管理

此前,云智慧还曾获得由宽带资本领投,海纳亚洲创投基金、红杉资本中国基金跟投的 2600 万美元 C 轮融资;红杉资本中国基金领投,戈壁创投跟投的B 轮 1200 万美元和B 轮 1500 万美元以及戈壁创投领投的 A 轮 300 万美元融资。

其次,云智慧目标客户向传统产业渗透,体量越来越大。销售工具型 SaaS 产品时,云智慧主要为互联网企业提供服务,偏中小企业,客单价不高,2016 年推出业务运维后,面向的领域也拓展到了金融、物流、航空、地产、快消、智能制造等面向 C 端消费者的传统行业。

————————————

独家 | 云智慧获2600万美元C轮融资,从APM做到业务运维

云智慧发布新产品透视宝,提供全栈拓扑架构自动监测和分析

他还表示,本轮融资后,公司将在几个方面发力。首先是继续加大产品研发的投入,进一步提高产品的智能化和通用化水平;在经营层面,云智慧销售团队主要位于北上广深等一线城市,未来将向二三线城市部署更多销售渠道;此外,公司营收比较健康,未来两三年将考虑上市,会提前做一些准备。

首先,从工具型产品发展到全栈运维产品。此前曾报道,云智慧以“监控宝”起家,为中小企业提供网站监控及运维 SaaS 服务,以主动拨测为主;2014年再推出APM管理平台“透视宝”,做程序代码的端到端应用性能管理;2016年推出“压测宝”,主要做云端压力测试,并孵化子公司“天机数据”,主要做实时大数据监测,此时覆盖了底层运维监控需求;再到 2016 年开始推出平台级业务解决方案,提供全栈运维运维和分析服务。

本轮融资过后,云智慧也将启动海外上市日程。

编辑:徐宁

从中小企业到大企业

相关阅读

而在获客层面,面对 IBM 等传统运维服务商的竞争,云智慧以客户的新增业务需求为切入点。以银行举例,一些创新业务部门如手机银行、数字零售等,这些部门的IT系统建设时间不长,从监控到运维管理都有较大的需求,云智慧可以进行错位竞争

2017 年开始,云智慧的服务对象从中小型企业转向大企业,殷晋表示,挑战在于沟通、服务、回款周期等,需要交付的并不是单一工具产品,而是以私有化部署为主的平台级解决方案,这十分考验公司的支持和交付能力。为此,云智慧成立了独立的解决方案部,并在郑州建立了交付中心,方便实施人员为全国客户提供快速响应和支持,提高公司的实施和交付效率。

营收层面,云智慧去年收入近 3 亿,大客户的服务收入占过半,客单在百万级别,公司连续三年增速在 100%。殷晋表示,公司新增长多来自 ITOA和 ITSM两块,大客户需求尤其强劲,预算比较充裕,达百万元级别非常正常。

APM赛道中,国内还有像听云、OneAPM等玩家,发展趋势都是从中小企业到大客户,从 APM 延伸到更加多元的方向。比如,云智慧从 APM 到全栈业务运维,其孵化的子项目“天机数据”所主攻的方向——实时大数据监测也是其中一个延伸方向。另外,也有 APM 公司拓展到安全行业,提供 IT 运行监测服务。

从 SaaS 型监控工具到APM,再到全栈运维

获悉,「云智慧」获得由华山资本(WestSummit Capital)领投,红杉资本中国基金、水木投资和浙民投/浙江丝路基金跟投的 2500 万美元 D 轮融资。

本文头图来自 东方IC正版图库

云智慧创始人兼 CEO 殷晋表示,C 轮融资后的两年间,公司业务进展主要在两方面:

服务大客户以私有化部署为主,而每个企业的内部系统架构也都不一样,那如何解决产品和服务标准化的问题?殷晋表示,尽管每个公司具体的架构不同,但从业务运维的角度来看,所涉及的指标其实都是通用的,因此提供的是行业化的解决方案,积累的用户数量足够多,提供的解决方案也越来越标准。目前云智慧在 2 - 4 周即可完成交付,工作量主要在数据对接,以及在客户系统中部署探针、监控软件等。

本文由亚洲城ca88发布于ca88手机版登录,转载请注明出处:解密监控宝Docker监控实现原理,从网站监控到全

关键词: 亚洲城ca88