docker 监控

原文地址 https://blog.csdn.net/cojn52/article/details/105682547

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

Linux 上有很多常用的监控工具,比如 strace,tcpdump,htop, iftop,lsof ......
而 sysdig 则是将这些工具的功能集成到一个工具中,并且提供一个友好统一的操作界面。
安装和运行 sysdig 的最简单方法就是运行 Docker 容器

root@host1:~# cat in.sh
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
root@host1:~# sh in.sh
Unable to find image 'sysdig/sysdig:latest' locally
* Setting up /usr/src links from host
* Unloading sysdig-probe, if present
* Running dkms install for sysdig
Error! echo
Your kernel headers for kernel 3.10.0-957.el7.x86_64 cannot be found at
/lib/modules/3.10.0-957.el7.x86_64/build or /lib/modules/3.10.0-957.el7.x86_64/source.
* Running dkms build failed, couldn't find /var/lib/dkms/sysdig/0.26.5/build/make.log
* Trying to load a system sysdig-probe, if present
* Trying to find precompiled sysdig-probe for 3.10.0-957.el7.x86_64
Found kernel config at /host/boot/config-3.10.0-957.el7.x86_64
* Trying to download precompiled module from https://s3.amazonaws.com/download.draios.com/stable/sysdig-probe-binaries/sysdig-probe-0.26.5-x86_64-3.10.0-957.el7.x86_64-ab9d808cad44a11f32105a24b5acda29.ko
Download succeeded, loading module
root@577f94fc81a3:/# csysdig

报错:(6) Could not resolve host: s3.amazonaws.com

快速解决方法:
修改/etc/default/docker文件,取消如下行前边的注释:

DOCKER_OPTS="–dns 8.8.8.8 –dns 8.8.4.4"

sysdig 容器是以 privileged 方式运行,而且会读取操作系统 /dev,/proc 等数据
使用命令 docker exec -it sysdig bash 进入容器,执行 csysdig 命令,以交互方式启动 sysdig
![markdown]( https://img-blog.csdnimg.cn/2020042413355266.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Nvam41Mg==,size_16,color_FFFFFF,t_70 "markdown")
ysdig 的界面类似 linux的top,但是功能更强大,点击底部的 View 或按 F2 可以看到很多监控分类,涵盖了操作系统的各个方面

![markdown]( https://img-blog.csdnimg.cn/20200424133612936.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Nvam41Mg,size_16,color_FFFFFF,t_70 "markdown")
这里我们选择 container ,监控容器的状态
![markdown]( https://img-blog.csdnimg.cn/20200424133657436.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Nvam41Mg
,size_16,color_FFFFFF,t_70 "markdown")
点击底部按钮中的 Legend 或者使用快捷键 F7 可以查看上面每一列的说明
如果想按某一列排序,比如按使用的内存量,很简单,点一下列头 VIRT,即可按照该列内容进行排序
双击某进程,即可查看该进程对应的线程
返回上一级,按 退格键
还可以使用底部的搜索按钮 Search 搜索
![markdown]( https://img-blog.csdnimg.cn/20200424134309967.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Nvam41Mg==,size_16,color_FFFFFF,t_70 "markdown")
sysdig 的特点如下:
1、监控信息全,包括Linux操作系统和容器
2、界面交互性强
不过 sysdig 显示的是实时数据,看不到变化和趋势。而且是在命令行中进行操作,需要ssh 到host 上执行,会带来不便

posted @ 2021-01-12 16:50  过错  阅读(121)  评论(0)    收藏  举报