监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器。通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为。

Linux 上有很多常用的监控工具,比如 strace,tcpdump,htop, iftop,lsof ......

而 sysdig 则是将这些工具的功能集成到一个工具中,并且提供一个友好统一的操作界面。

下面我们将演示 sysdig 强大的监控能力。

安装和运行 sysdig 的最简单方法是运行 Docker 容器,命令行为:

docker container run -it --rm --name=sysdig --privileged=true \

          --volume=/var/run/docker.sock:/host/var/run/docker.sock \

          --volume=/dev:/host/dev \

          --volume=/proc:/host/proc:ro \

          --volume=/boot:/host/boot:ro \

          --volume=/lib/modules:/host/lib/modules:ro \

          --volume=/usr:/host/usr:ro \

          sysdig/sysdig

 


可以看到,sysdig 容器是以 privileged 方式运行,而且会读取操作系统 /dev/proc 等数据,这是为了获取足够的系统信息。

启动后,通过 docker container exec -it sysdig bash 进入容器,执行 csysdig 命令,将以交互方式启动 sysdig。

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

这是一个类似 linux top 命令的界面,但要强大太多。sysdig 按不同的 View 来监控不同类型的资源,点击底部 Views 菜单(或者按 F2),显示 View 选择列表。

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)界面左边列出了 sysdig 支持的 View,一共 30 多项,涵盖了操作系统的各个方面,因为这里主要是讨论容器监控,所以我们将光标移到 Containers这一项,界面右边立即显示出此 View 的功能介绍。

回车或者双击 Containers,进入容器监控界面。

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

sysdig 会显示该 Host 所有容器的实时数据,每两秒刷新一次。各列数据的含义也是自解释的,如果不清楚,可以点一下底部 Legend(或者按 F7)。如果想按某一列排序,比如按使用的内存量,很简单,点一下列头 VIRT

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

如果想看某个容器运行的进程,比如 weavescope,将光标移到目标容器,然后回车或者双击。

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

还可以继续双击查看进程中的线程。

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

返回上一级,按退格键即可。

sysdig 的交互功能很强,如果界面显示的条目很多,可以点击底部 Search菜单,然后输入关键字进行查找。如下图,关键字为 service

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

如果觉得界面刷新太快,看不清楚关注的信息,可以点击底部 Pause 菜单。

sysdig 的特点如下:

  1. 监控信息全,包括 Linux 操作系统和容器。

  2. 界面交互性强。

不过 sysdig 显示的是实时数据,看不到变化和趋势。而且是命令行操作方式,需要 ssh 到 Host 上执行,会带来一些不便。下一节介绍的 Weave Scope 在这方面似乎提供了更好的解决方案。 



本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/1971339
上一篇:建立可扩展的silverlight 应用框架 step-7 final


下一篇:开发者学堂课程干货总结——Dubbo 分布式服务治理实践(五)