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。
这是一个类似 linux top 命令的界面,但要强大太多。sysdig 按不同的 View 来监控不同类型的资源,点击底部 Views
菜单(或者按 F2),显示 View 选择列表。
界面左边列出了 sysdig 支持的 View,一共 30 多项,涵盖了操作系统的各个方面,因为这里主要是讨论容器监控,所以我们将光标移到 Containers
这一项,界面右边立即显示出此 View 的功能介绍。
回车或者双击 Containers
,进入容器监控界面。
sysdig 会显示该 Host 所有容器的实时数据,每两秒刷新一次。各列数据的含义也是自解释的,如果不清楚,可以点一下底部 Legend
(或者按 F7)。如果想按某一列排序,比如按使用的内存量,很简单,点一下列头 VIRT
。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。https://blog.kokojia.com/zhangzhixing521/b-504.html