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

sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器。经过 sysdig 咱们能够近距离观察 linux 操做系统和容器的行为。linux

Linux 上有不少经常使用的监控工具,好比 strace,tcpdump,htop, iftop,lsof ......docker

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

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

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

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

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

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

          --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。

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

界面左边列出了 sysdig 支持的 View,一共 30 多项,涵盖了操做系统的各个方面,由于这里主要是讨论容器监控,因此咱们将光标移到 Containers这一项,界面右边当即显示出此 View 的功能介绍。

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

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

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

还能够继续双击查看进程中的线程。

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

sysdig 的交互功能很强,若是界面显示的条目不少,能够点击底部 Search菜单,而后输入关键字进行查找。以下图,关键字为 service

若是以为界面刷新太快,看不清楚关注的信息,能够点击底部 Pause 菜单。

sysdig 的特色以下:

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

  2. 界面交互性强。

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

相关文章
相关标签/搜索