• Docker技术使用场景主要特性等相关资源整理
  • OpenStack与Docker集成:使用openstack管理docker
  • Docker的隔离性和安全性问题
  • docker使用的技术之Container内核原理介绍
  • Docker详细的应用与实践架构举例说明
  • ​基于Docker的大数据开发实践
  • ​docker之轻量虚拟化技术——docker实战分享
  • 什么是docker?Docker技术详细介绍
  • 基于Docker容器的云计算平台搭建实战
  • docker和VM虚拟机的区别以及如何用docker搭建基础设施
  • ​Docker容器术语以及docker的特点
  • Docker & Docker Hub
  • Introduction to Swarm, a Docker-native clustering system
  • Docker、Kubernetes、Neutron中的网络简介
  • ​James Turnbull:《The Docker Book》
  • Docker on AWS:Running Containers in the Cloud
  • Introduction docker Container Security
  • docker应用之利用Docker构建自动化运维
  • Docker基本原理简介和详细安装步骤介绍
  • Docker 基础用法和常用命令及选项介绍
  • Docker 端口映射,端口绑定操作介绍
  • Docker 四种网络模式及网络配置详细介绍
  • docker下通过Dockerfile指令构建镜像的指令选项介绍
  • ​Docker 容器数据管理,链接容器,构建私有库
  • Docker容器分析----好处和缺点介绍
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • 应对 Docker 网络功能难题的挑战与思考
  • Docker着手将容器部署到私有云与公有云
  • 为现在和未来改善Docker安全
  • Docker容器与企业存储的结合思考
  • Docker监控以及cAdvisor和Prometheus监控工具的对比
  • ​有关Docker的八个令人难以置信的事实
  • ​部署 Docker 前必须问自己的四个问题
  • 程序猿,千万别说你不了解Docker!
  • 将要改变IT世界的的docker技术是什么?
  • Docker支持更深入的容器日志分析
  • Docker宣布支持Windows 10和Azure Windows Server
  • Docker 1.12.0到底有哪些不同之处
  • 云计算之Docker容器技术如何落地?
  • Docker v1.12.0-rc5 普通版实验版本下载,高级容器引擎
  • 针对Docker容器的监控指标
  • ​Docker 的步伐:DevOps 与 OS 化
  • 八个问题帮你快速了解Docker
  • ​什么是Docker以及docker的 诞生技术演进
  • ​Docker v1.12.1-rc1各种版本发布下载,高级容器引擎
  • ​Docker 1.12.0 改进了服务的负载均衡参数
  • Windows下Docker应用部署相关问题详解
  • Docker1.12 引擎使用体验 ​
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • ​Windows Server 2016提供Docker原生运行的企业级支持
  • ​传统应用的docker化迁移
  • Docker携手Windows Server
  • Docker扁平化网络设计与实现
  • Plesk 中操作和设置 Docker 容器
  • 如何通过 Docker 在 Linux 上托管 .NET Core
  • Docker 1.12.4应用容器引擎发布及下载地址
  • 调查 iis7站长之家
  • docker源码分析之容器日志处理与log-driver实现
  • 如何在win7,win8下面启动docker
  • win7,win8安装Docker具体过程
  • win7, win8安装docker需要了解的概念
  • win7,win8安装docker的依赖条件
  • Docker Toolbox 介绍
  • Arch下面安装启动及删除docker介绍
  • Debian 7(Wheezy)下面如何安装docker
  • Debian 8(Jessie )下面如何安装docker
  • 红帽RHEL下如何删除docker详细步骤介绍
  • 红帽RHEL下面设置docker服务自动启动
  • linux下不使用sudo命令执行docker的操作步骤
  • 红帽redhat下通过脚本和yum安装docker容器引擎的详细步骤
  • 红帽RHEL下安装docker依赖性检查
  • Ubuntu Vivid 15.04 下面安装docker的详细步骤
  • Ubuntu Trusty 14.04 (LTS) 下面安装docker及依赖关系检查
  • Ubuntu Raring 13.04 和 Saucy 13.10 (64 bit)下面安装docker
  • Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
  • Docker支持的安装方式
  • 通过docker ps命令检查运行中的docker镜像
  • 关于docker入门教程
  • 通过docker search命令搜索可用docker镜像
  • 在docker容器中运行hello world!
  • 在docker容器中通过apt-get安装新的程序
  • 通过docker commit命令保存对docker容器的修改
  • 通过docker run命令运行新的docker镜像
  • 准备学习docker: docker version命令查看版本
  • 什么是Docker?Docker通常用于如下场景
  •  
    当前位置:  教程>docker中文入门学习手册

    针对Docker容器的监控指标

     
        发布时间:2017-2-20  


        本文导语: 针对Docker容器的监控指标Stefan Thies是Sematext的DevOps布道师,在最近的一篇博客文章中,他讨论了十个重要的容器监控指标及其在Docker容器运维中的意义,尤其是针对单个主机上运行多个容器的场景。我们可以将它们集中到一个相...

    针对Docker容器监控指标

    Stefan Thies是Sematext的DevOps布道师,在最近的一篇博客文章中,他讨论了十个重要的容器监控指标及其在Docker容器运维中的意义,尤其是针对单个主机上运行多个容器的场景。我们可以将它们集中到一个相互关联的视图中,这些指标为基于Docker的环境监控提供了一个很好的起点。


    按照作者的说法,他针对容器运维提出了一组指标,它们的基本原理来源于容器监控所面临的挑战,因为容器的行为是与VM不同的:“传统的监控方案会从每个服务器以及它们运行的应用中获取指标。这些服务器以及运行在服务器上的应用一般都是静态的,会有非常长的运行时间。”


    相反,容器的行为与之不同:

    可以短期存活和动态调度; 是进程,但是具有自己的环境、虚拟网络和不同的存储管理; 共享底层主机的资源,在相同的主机上可能会调度短期存活的批处理命令以及长期存活的进程。

    Stefan所提出的指标可以分为基于容器的以及基于主机的两类:


    基于容器的指标

    资源共享需要对容器进行合理的配额,而这反过来又需要能够看到容器资源的使用情况。根据调查,一个Docker主机一般会运行5个容器。另外,像Docker SwarmKubernetesMesos这样的容器协作解决方案能够高效调度主机集群中的多个容器,因此容器的行为需要进行监控并进行相应的调优。

    容器CPU——节流的(Throttled)CPU时间:观察在容器的CPU使用中节流的总时间,这个指标提供了在Docker中正确设置CPU共享的基本信息。只有当主机的CPU达到极限,核心才会限流容器的CPU时间。“这个指标的飙升提供了一个很好的指示,这意味着一个或多个容器所需要的CPU处理能力超出了主机所提供的能力范围。” 

    容器的内存使用容器的内存交换Swap以及容器内存失败计数器Memory Fail Counter:这些指标的上升意味着容器需要的内存数量超出了为其分配的值。Stefan建议使用容器内存上限(container memory limit)来确保应用不会使用太多内存,从而避免影响到同一个主机上的其他容器。但是,Docker文档还提到:“注意,内存控制分组(memory control group)会增加一点损耗,因为它会对主机的内存使用进行非常细粒度的统计。” 

    容器的磁盘I/O:多个容器可以并发使用相同的主机资源。监控有助于分配“更高的吞吐量给关键应用,如数据存储Web服务器,而对于批处理的操作则可以进行磁盘I/O分流。” 

    容器的网络指标:Stefan认为,对于互相关联的容器来说,监控虚拟网络是非常重要的,比如容器化的负载均衡器。丢弃的数据包需要进行跟踪,不过“网络流量也是一个很好的指示器,能够反映客户端对应用的使用情况,有时候我们会看到很高的峰值,这可能意味着出现了拒绝服务攻击负载测试或者客户端应用出现了故障。”


    基于主机的指标

    相对于容器来说,Docker主机是长期运行的,因此应该进行处理能力管理和资源优化,当多个负载运行在同一个主机上的时候,更应如此。

    主机CPU主机内存:理解主机和容器的CPU以及内存使用情况能够优化Docker主机的资源使用,作者这样写到:“当资源使用进行了优化之后,实际上我们会预期甚至要求出现较高的CPU使用率,只有当CPU使用率出现下降(服务产生了中断)或者长期超过一定的最大限制(如85%)时才应该出现告警。”

     主机磁盘空间:Stefan认为,对磁盘空间进行监控和告警是非常重要的,因为容器、镜像以及主机mount的卷都会消耗磁盘空间。定期移除不再使用的容器和镜像以便对磁盘空间进行清理是一种很好的实践

     运行在主机上的容器总数::在静态使用的场景下,了解当前和历史上的容器数量能够帮助我们在升级的时候确保所有的功能都与之前的部署具有相同的运行状态。在更为动态的场景中,像Kubernetes这样的集群管理器会自动调度不同类型的负载,这样的话指标就会发生不规则的变化。因此,Stefan建议使用异常探测(anomaly detection)功能来对突然的变化进行告警。


    作者建议使用现代的监控工具,以便应对容器动态化特性。 Sematext提供了一个监控解决方案,它将监控、日志以及事件集成到了同一个视图之中,支持按照时间来查看这些数据。Docker Agent扩展了这个容器监控方案,包含了容器自动探测以及收集Docker事件、日志以及指标的特性。

    监控Docker容器的其他方案包括cAdvisor、sysdig和DataDog。关于这些工具对比,Rancher和InfoWorld曾经发布过相关的文章。


    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:针对Docker容器的监控指标
    相关文章推荐:


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3