使用cAdvisor监控容器

来源:互联网 发布:sql exist的用法 编辑:程序博客网 时间:2024/06/06 01:24

有一篇关于docker容器监控工具的比较:http://dockone.io/article/397
里面一共介绍了5种工具,但是除了收费的几款,cadvisor是带监控界面的、最易入门的docker容器监控工具了。

cadvisor在github上的地址为:https://github.com/google/cadvisor

运行方法
使用docker容器运行cadvisor的方法如下:

docker run                                    \--volume=/:/rootfs:ro                         \--volume=/var/run:/var/run:rw                 \--volume=/sys:/sys:ro                         \--volume=/var/lib/docker/:/var/lib/docker:ro  \--publish=8080:8080                           \--detach=true                                 \--name=cadvisor                               \google/cadvisor:latest

运行之后,便可通过http://:8080来访问web界面。可以看到CPU的使用率、内存使用率、网络吞吐量以及磁盘空间利用率,点击界面顶部/docker可以进入查看某个docker容器的详细信息。

其他配置项(CentOS, RHEL):

--privileged=true

设置为true之后,容器内的root才拥有真正的root权限,可以看到host上的设备,并且可以执行mount;否者容器内的root只是外部的一个普通用户权限。由于cadvisor需要通过socket访问docker守护进程,在CentOs和RHEL系统中需要这个这个选项。

--volume=/cgroup:/cgroup:ro 

对于CentOS和RHEL系统的某些版本(比如CentOS6),cgroup的层级挂在/cgroup目录,所以运行cadvisor时需要额外添加–volume=/cgroup:/cgroup:ro选项。

REST API
除了提供web界面之外,cadvisor还提供远程调用的REST API,详情可以参考如下文档:https://github.com/google/cadvisor/blob/master/docs/api.md
另外,github上还有提供了一个用Go语言实现的调用REST API的客户端:
https://github.com/google/cadvisor/tree/master/client

1 0