你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
xds2000 - 数人科技CTO
赞同来自: shlallen 、渐行渐远 、田浩浩 、CDocer
cd /sys/fs/cgroup/blkio/docker
hostname
许四两 - 北京数字安全公司运维工程师
赞同来自: DockOne 、wangzi19870227
shlallen - DaoCloud软件工程师,合伙人
赞同来自:
渐行渐远 - 默默奋斗的苦逼运维一枚
zjumoon - 蘑菇街-牧白 mubai@mogujie.com
icebolt - Docker爱好者暗黑
wangzi19870227 - sina攻城狮,docker爱好者
jamlee - keep me alone
ahjdzx1990 - 男,直.
要回复问题请先登录或注册
默默奋斗的苦逼运维一枚
10 个回复
xds2000 - 数人科技CTO
赞同来自: shlallen 、渐行渐远 、田浩浩 、CDocer
Docker的容器是有block metrics的。所以获得磁盘IO的指标在官方文档是有记载的。
第一个技巧看业界的监控软件是如何做的:
https://github.com/DataDog/docker-dd-agent
第二个,基于Zabbix的收集:
http://www.labouisse.com/how-t ... rt-1/
第三种,自个找,所有的信息都在cgroup里面。比如我的环境是mac + boot2docker,
所以我要boot2docker ssh登录到主机上,然后
cd /sys/fs/cgroup/blkio/docker
这里面就是容器里的指标了。你可以直接:
<pre>docker run --name test-metrics -h
hostname
-v /var/run/docker.sock:/var/run/docker.sock -v /sys/fs/cgroup/:/sys/fs/cgroup --privileged docker.cn/docker/ubuntu bash</pre>
挂在完之后,直接看
<pre>cd /sys/fs/cgroup/blkio/
docker@boot2docker:/sys/fs/cgroup/blkio$ ls
blkio.reset_stats cgroup.procs docker/ release_agent
cgroup.clone_children cgroup.sane_behavior notify_on_release tasks
</pre>
这是你看到的就是你需要的。
许四两 - 北京数字安全公司运维工程师
赞同来自: DockOne 、wangzi19870227
docker1.5 docker stats 已经有这个数值了而且还有api
shlallen - DaoCloud软件工程师,合伙人
赞同来自:
目前,cgroup支持的blkio限制模式有两种:
<ol><li>throttle,限制每个进程能使用的IOPS或者吞吐量。</li><li>weight,现在每个进程能使用的IOPS的能力的比例,必须通过CFQ调度器来实现。</li></ol>引自http://blog.yufeng.info/archives/2001
位置的话,都在cgroups文件系统中,如楼上xds2000的回复哈
渐行渐远 - 默默奋斗的苦逼运维一枚
赞同来自:
在这篇文章中看到有关于io的描述。https://blog.docker.com/2013/1 ... rics/
<div class="aw-upload-img-list active">
<a href="http://dockone.io/uploads/answ ... ot%3B target="_blank" data-fancybox-group="thumb" rel="lightbox"><img src="http://dockone.io/uploads/answ ... ot%3B class="img-polaroid" title="blkio.io_service_bytes_.jpg" alt="blkio.io_service_bytes_.jpg" /></a>
</div>
但是在我宿主机上的查看到对应的container的这个文件是空的:
<pre>cat /cgroup/blkio/lxc/759c78f0c336adbfbd3288ee54e472908aebc042eec36676331d03a532adcb20/blkio.io_service_bytes
Total 0
</pre>
不知道您说的是不是读这个文件中的数值。
xds2000 - 数人科技CTO
赞同来自:
@渐行渐远 我目前没这方面的需求,所以没机会做这方面的梳理。另外,我看到你的目录路径是lxc,不是docker。我想告诉你的是,Docker虽然提供了标准的接口,但由于基础操作系统仍然有很大的不同,所以需要自己来测。
你可以看看这个视频,希望给你一些启发:
http://www.infoq.com/cn/presen ... ocker
对于视频中的功能,其实是点评的工程师做的Patch,这些Patch都是非主流的,用的话需要你自己维护。
https://github.com/dianping/do ... 1.0.0
zjumoon - 蘑菇街-牧白 mubai@mogujie.com
赞同来自:
看一下你的 /cgroup/blkio/lxc/759c78f0c336adbfbd3288ee54e472908aebc042eec36676331d03a532adcb20/ 下面的tasks文件, 里面记录着进程的ID,只有在这里被记录的ID才会被cgroup/blkio统计到和管理到。 一般情况会把容器的pid和容器里面进程的Pid(容器进程是他们的父进程)都记录进去的。 如果用docker-enter进入的话
执行IO操作的进程的pid可能不会在tasks里
icebolt - Docker爱好者暗黑
赞同来自:
docker-enter进入的是同一容器,为什么不会记录进去?
wangzi19870227 - sina攻城狮,docker爱好者
赞同来自:
docker-enter其实是调用nsenter进入container的。
这种方式进入后启动一个前台进程,此进程其实是host上普通nsenter进程的子进程,而不是container进程的子进程,所以不会进task。
可通过pstree查看。
jamlee - keep me alone
赞同来自:
最简单的方法:
docker stats $(docker ps | awk '{if(NR>1) print $NF}')
ahjdzx1990 - 男,直.
赞同来自:
大家有没有看到问题的重点是磁盘IO!!! 磁盘IO怎么统计?