专栏首页SRE运维实践漫谈容器监控

漫谈容器监控

2860元腾讯云代金券免费领取,付款直接抵现金,立即领取>>>

腾讯云海外服务器1折限时抢购,2核4G云主机768元/1年,立即抢购>>>

腾讯云服务器1折限时抢购,2核4G云主机899元/3年,立即抢购>>>

序言

很多事情说起来容易,做起来却很难,开始的时候就已经经历了各种选择,而开始才是一个真正开始。

监控系统需要监控很多资源,主要需要监控什么,为什么需要监控?

监控

打开脑洞,那是个无底洞,那是记忆的深渊,是否能改变或者是否是在准备?

docker的监控系统,有好几种监控方案,重在合适,prometheus作为一种集各种功能于一身的获取数据,存储数据,展示数据,告警功能于一身,这种一套完备的监控方案。

而对于weave scope来说,也是一种分布式的监控容器,最大的亮点在于在界面上能直接进入shell执行界面,就像登录了主机一样执行各种命令。

在docker中,其实本身就自带了监控的命令,只不过一般不会用来跨主机执行,从而这种是主要用来登录host主机,直接执行docker命令来查看所有容器的容器的方法。

在以上的命令中ls主要用来查看运行状态的容器,而对于其他状态的容器,可以使用参数,和linux命令是一样;而top主要是用来查看进程的信息,其实这个和linux命令的top略微有所区别,和命令ps的命令一样的,但是ps被ls以前的功能所占用;而stats主要是用来查看容器的性能数据,包括使用的内存,cpu,网络IO,块IO,进程号,那么如何来设置这些数据呢?

设置相关资源限定,也就是几个参数来限制,如上,主要设置了内存使用的大小为200M,使用swap空间大小为200M,CPU使用的权重为512,默认为1024,也可以设置cpu使用的颗数,然后设置了磁盘的读的速度。

为什么需要设置资源限定?

为什么需要设置资源限定?我有一台物理主机,CPU56颗,内存256G,带宽万M网卡,能跑多少个容器?

资源限定?在一个集群中,有多少台物理机器组成,能给客户使用多少内存,多少CPU,多少存储,多少网络。

在VM的时代,创建VM的时候,也要进行规划,一台主机上最多可以创建几个VM,分配多少的计算,存储和网络资源。

再是工作的时候,公司给你开多少一个月?有多少预算,资金链上有多少钱?

对整个集群中资源进行划分了后,那么就要涉及到调度,在哪个host上创建这个容器,在哪个vm上创建这个容器,这就是所谓的规划。。

容器如何做资源限定

容器来进行资源的限定和资源隔离呢?

在linux上怎么来进行资源的隔离?chroot,使用不同的文件系统来隔离用户,隔离用户的权限,容器也不例外,使用的是namespace来进行隔离,各种各样的命令空间,在各种编程语言中也是可以看到。

在容器的资源隔离的时候,主要使用了6种:

UTS:主要用来设定容器的主机名称和域名,主要的作用是让容器在网络上成为一个单独的节点,而不是宿主机上的一个进程。unix time-sharing system。。分时系统。。ntp?还是cpu的时间片呢?

IPC:进程间通信,有独立的通信空间,在一个namespace中的进程可以相互通信。inter process communication。

PID:进程隔离,和宿主机上进程进行隔离。

network:网络隔离,有独立的网络栈,有独立的端口,网络设备,这也就是为什么每次创建一个容器网络的时候,会有一些桥接设备,host模型的网络使用。

user:用户隔离,主机上的用户和容器中的用户会有一层映射关系,但是不会相互影响。

mount:挂载的文件系统,主要使用文件系统的隔离,可以理解为chroot的一种实现方式。。。再想想容器的文件系统组成,unfs,联合文件系统,容器的读写层,改变了容器的内容,不会影响使用相同镜像的容器。

而资源的限制则是使用cgroup来进行控制的。在相关的目录中可以找到,如下:

而这种数据还能在docker inspect nginx中找到,如下:

从而在监控的时候可以使用不同的方式来进行监控。

总结

1、 在监控容器的时候,几个关键指标,容器运行的数量,容器分配的计算(cpu和内存),网络,存储资源。

2、 监控的方式多样,可以使用基本的docker命令来进行监控,也可以直接查看相应目录下的文件获取对应的信息。

3、 容器的资源分配,主要涉及到容器的资源分配和规划,就算是在集群中,底层无需考虑,但是每个容器占用的最大资源需要进行限制,不然可能耗费掉整个集群的计算能力、网络能力或者存储能力。

本文分享自微信公众号 - SRE运维实践(gh_319dd73ec076),作者:NAN

原文出处及转载信息见文内详细说明,如有侵权,请联系 [email protected] 删除。

原始发表时间:2018-03-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 容器。。。杀还是不杀

    容器总是有启动脚本,有的时候脚本有bug,从而造成容器的死循环。。。杀还是不杀。。。

    SRE运维实践
  • 漫谈容器监控系统

    当容器运行在物理机上的时候,一般的监控的agent是直接运行在物理机上,在进行容器的健康检查的时候,依赖于docker客户端程序。

    SRE运维实践
  • 容器化应用

    转眼一瞬间,一年已经过去了七个月,懵懂中,这一年又要像风一样吹过去了。。。

    SRE运维实践
  • 关于监视容器我们了解的5件事

    本文将介绍如何构建一个管理上万容器的可扩展的,高可靠的监控系统。本文是基于 Sysdig 容器监控工具的构建经历编写,如果您决定开发自己的工具,以下的设计决策可...

    张张张我是张
  • 容器技术及其应用白皮书(上)-- 容器技术

    图2.2 容器技术框架

    shaonbean
  • Docker已经再见,替代 Docker 的五种容器选择

    据 2018 年统计,Docker 占据了 83% 的容器市场份额。可是就在 2017 年,这个数字还是 99%,Docker 的统治地位无疑受到了削弱。不可...

    奋斗蒙
  • 深入玩转K8S之智能化的业务弹性伸缩和滚动更新操作

    在上篇我们讲到了较为傻瓜初级的弹性伸缩和滚动更新,那么接下来我们来看看较为高级的智能的滚动更新。本节的知识点呢是K8S的liveness和readiness探测...

    DevinGeng
  • 美团容器平台架构及容器技术实践

    大家好,我是本公众号的主持人,美团技术团队的程序员鼓励师美美。本文根据美团基础架构部/容器研发中心技术总监欧阳坚在2018 QCon(全球软件开发大会)上的演讲...

    美团技术团队
  • 美团容器平台架构及容器技术实践

    美团的容器集群管理平台叫做HULK。漫威动画里的HULK在发怒时会变成“绿巨人”,它的这个特性和容器的“弹性伸缩”很像,所以我们给这个平台起名为HULK。貌似有...

    美团技术团队
  • 支持100+业务线、累计发布17万次|宜信容器云的A点与B点(分享实录)

    宜信公司从2018年初开始建设容器云,至今,容器云的常用基本功能已经趋于完善,主要包括服务管理、应用商店、Nginx配置、存储管理、CI/CD、权限管理等,支持...

    宜信技术学院

扫码关注云+社区

领取腾讯云代金券

http://www.vxiaotou.com