第 10 章 容器监控 - 079 - 监控利器 sysdig

时间:2022-01-22 23:58:25

sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器。

通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为。

Linux 上有很多常用的监控工具,比如 strace,tcpdump,htop, iftop,lsof ......  而 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

第 10 章 容器监控 - 079 - 监控利器 sysdig

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

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

第 10 章 容器监控 - 079 - 监控利器 sysdig

这是一个类似 linux top 命令的界面,但要强大太多。

sysdig 按不同的 View 来监控不同类型的资源,点击底部 Views 菜单(或者按 F2),显示 View 选择列表。

第 10 章 容器监控 - 079 - 监控利器 sysdig

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

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

第 10 章 容器监控 - 079 - 监控利器 sysdig

sysdig 会显示该 Host 所有容器的实时数据,每两秒刷新一次。

各列数据的含义也是自解释的,如果不清楚,可以点一下底部 Legend(或者按 F7)。

第 10 章 容器监控 - 079 - 监控利器 sysdig

如果想按某一列排序,比如按使用的内存量,很简单,点一下列头 VIRT。

第 10 章 容器监控 - 079 - 监控利器 sysdig

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

第 10 章 容器监控 - 079 - 监控利器 sysdig

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

第 10 章 容器监控 - 079 - 监控利器 sysdig

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

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

第 10 章 容器监控 - 079 - 监控利器 sysdig

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

第 10 章 容器监控 - 079 - 监控利器 sysdig

sysdig 的特点如下:

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

界面交互性强。

不过 sysdig 显示的是实时数据,看不到变化和趋势。而且是命令行操作方式,需要 ssh 到 Host 上执行,会带来一些不便。

----------------------------------------------引用来自----------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587924&idx=1&sn=31bfadc72b08bb7a1bd0cf4ecb1d4207&chksm=8d3081cdba4708db45440550bf62f62bb180e33d2a5b3a4df1a42eca6c5b80be3fd18a0a44ec&scene=21#wechat_redirect