澳门金莎娱乐网站释放云的无限潜能,从网站监

日期:2019-11-02编辑作者:服务器

【干货】解密监控宝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 年研发管理...

编辑:徐宁

2016年灵雀云首场线下活动,释放云的无限潜能——应用性能管理大讲堂于3月19日在启迪之星举行,本场线下沙龙将围绕『Docker应用的性能与监控』这个主题展开。

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

‌‌‌‌

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

『快』,『敏捷』,『灵活』,『轻量』都是Docker的代名词。如果说云计算是计算资源的重新整合,那么虚拟机就是最初级的整合,Docker则让我们看到了云计算还未被挖掘的潜能。但想要『云尽其用』,就需要重视Docker应用的性能与监控。

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

PPT下载地址:

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

Docker应用的监控与实践

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

听云研发总监杨金全首先带来了主题为『Docker应用的监控与实践』的演讲,杨金全首先分享了通过对比虚拟机和Docker分析了Docker容器技术带来的改变:原来的一个虚拟机变成现在的多个Docker,每个Docker里面所运行的服务会更少,原来一个IP变成多个IP,多个IP承载多个服务,整个应用中每个服务之间的关系变得更加复杂;Docker扩容的机制很方便,服务节点会呈现一个明显上升的趋势;Docker的生命周期也变得更短,一个容器出了问题,可以马上用一个新的容器来替代。

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

那么应该如何获取Docker的状态呢?Docker本身提供了一些方法来获取Docker的基础状态,比如:

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

docker ps

从中小企业到大企业

/sys/fs/cgroup/docker/cpuacct.stat

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

/sys/fs/cgroup/docker/memory.stat

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

Ifconfig eth0

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

而涉及Docker应用的状态,可以从以下几个方面进行监控:

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

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

具体的监控可以利用传统的应用性能管理(APM,Application Performance Management)工具来实现。杨金全通过一个具体的实例对这个过程进行了说明。

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

Docker的云端实战

相关阅读

AWS首席云计算技术顾问费良宏带来了演讲『Docker的云端实战』。ECS是AWS推出的容器服务平台,费良宏首先介绍了ECS的架构以及ECS的典型客户Coursera。

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

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

Coursera的后台中有很多批处理作业,比如批量邮件发送,课堂测验批改,成绩单导出,数据核对等。Iguazú是AmazonECS的批处理调度器,2015年4月开始,Coursera开始使用ECS来处理后台的批处理作业。

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

费良宏还介绍了Coursera的一个特殊场景与Docker的结合。在Coursera学习编程语言的学生,在课程结束时需要提交代码,系统后台的评分系统会自动实现评分。但这些代码是有风险的,甚至可能是恶意的。

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

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

Coursera在AmazonECS和Iguazú项目上实现了一个评分的服务和架构GrID。

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

学生提交到GrID中的代码,都是保存在每一个文件,然后它会创建一个新的容器资源,然后将这个代码在容器资源里面运行。为了保护这个环境还使用了AWS下面的防火墙VPC。最大程度得将风险限制在容器里面。同时还启用了用了审核日志、第三方监控等安全措施。

微服务架构下的Docker实践,以及Docker在测试环境中的应用

接下来是灵雀云客户,e袋洗架构师邸跃带来的演讲『微服务架构下的Docker实践,以及Docker在测试环境中的应用』。

e袋洗为什么要使用微服务的架构呢?因为e袋洗后端支持的业务很多,有销售、订单、商品、物流等。如果采用单一系统架构会产生很多问题。

邸跃介绍了拆分成微服务架构需要实现的几个前提:

首先业务层要做成模型化、抽象化,功能要单一起来,避免代码耦合;

业务需要同步,需要有一个通讯架构和消息架构

服务发现的机制,因为你拆分成微服务之后,可能要在2-3台服务器上部署同一个服务,如何找到这个资源,然后利用起来;

然后需要内部统一的通信规范,可以降低开发成本和维护成本。

将系统拆分为微服务后,e袋洗做服务间接口调用的时候发现,由于共享的单位是模型,多数接口调用是直接下穿到模型的方法调用,多数方法返回结果即为接口返回结果。为了避免接口调用产生的开发成本和维护成本,e袋洗开发了服务共享的框架Zombie。以下为e袋洗当前的架构和Zombie的框架:

微服务架构的复杂度比以前高了很多,Docker是一个很好的解决方案。比如在开发环境中:

e袋洗架构中的Docker容器分为三种:外部访问型Docker,内部服务Docker,基础服务型Docker。邸跃详细介绍了这些Docker的制作策略,配置管理,打包机制,以及Jekins持续集成。

在测试环境中:

Technologies for Docker Container Monitoring

最后,灵雀云首席架构师Saurabh Wagh带来了演讲『Technologies for Docker Container Monitoring』。云监控的目的是:减少服务宕机,规模&性能管理,扩容计划,恶意事件监测,故障排查和修复。监控的范围包括:资源利用率(CPU/内存/硬盘/网络),网络情况,错误,应用详细度量,端点连通情况。

监控也是Docker中很重要的一块,在Docker的生态系统中,除了Docker本身提供的监控之外,还有很多CaaS平台内集成的监控,开源软件和SaaS第三方提供的监控:

那么这些监控工具中应该如何选择呢?开源工具适合于大企业自建监控系统,SaaS适合于中小型企业。

灵雀云平台中也提供了基本的应用监控工具:

PPT下载地址:

最后,感谢合作伙伴对本次活动的支持!

本文由澳门金莎娱乐网站发布于服务器,转载请注明出处:澳门金莎娱乐网站释放云的无限潜能,从网站监

关键词:

掌握好这几点方法学习Linux,开始学习Linux的一些

开始学习Linux的一些建议,学习Linux一些建议 端正学习态度 1、Linux不等于骇客(or Cracker)。 当然众所周知很多“黑客...

详细>>

Linux系统管理员成长经验,掌握好这几点方法学习

2018 掌握好这几点方法学习Linux,一定比别人更快入门运维!,2018linux 千锋Linux培训好吗?我们不妨先看看千锋教育做的...

详细>>

Linux运维工程师的十个基本技能点,Linux运维不会

Linux运维不会这些,不要做工程师......,linux工程师 1、Linux系统基础 这个不用说了,是基础中的基础,连这个都不会...

详细>>

双系统时无法挂载硬盘的解决方法,Ubuntu双系统

方法/步骤1 Linux 和 Win8 双操作系统报,在 Linux 系统下访谈 Windows硬盘时,报错如下 实在那亦不是怎么着大题材,只但...

详细>>