docker 监控部署

一、docker监控

    当docker部署规划逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要。

  docker自带的几个监控子命令:ps top 和stats,然后是几个功能更强的开源监控工具 sysdig、weave,scope,cadvisor prometheus.

二、docker自带的监控子命令

  1.ps

     docker container ps 是我们早已熟悉的命令,方便我们查看当前运行的容器

docker container  ps

   docker提供了一个新的命令 docker container  ls ,其作用和用法与docker  container完全一样

2.top

    如果想知道某个容器中运行了那些进程,可以执行docker container top [镜像名]

docker container  top test

上面显示sysdig这个容器中的进程,命令后面还可以跟上linux操作系统ps命令的参数显示特定的信息,

docker container  top web -au

3.stats

    docker container stats 用于显示每个容器各种资源的使用情况。

docker container stats

默认会显示一个实时变化的列表,展示每个容器的cpu使用率,内存使用量和可变量。注意:容器启动时如果没有特别指定内存limit stats命令会显示host的内存总量,但这并不意味着每个container都能使用带这么多内存,除此之外,docker container stats

命令还会显示容器网络和磁盘的io数据,默认的输出有个缺点,显示的是容器id而飞名字,

  我们可以在stats命令后面指定容器的名称只显示某些容器的数据

docker container stats  test

    ps  top   stats 这几个命令是docker自带的 ,有点事运行方便 ,很适合想快速了解容器运行状态的场景。其缺点就是输出的数据有限,而且都是实时数据,无法反应历史变化和趋势。

三、sysdig

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

    比如strace tcpdump htop iftop lsof.... 而sysdig则是将这些工具的功能集成到一个工具中,并且提供一个统一的操作界面,安装和运行sysdig的最简单方法是运行docker容器:

docker container  run -it --rm --name=sydig --privileged=true \
--volume=/var/run/docker.sock:/host/var/run/docker.sock \
--volume=/dev:/host/dev \
--volume=/porc:/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的所有容器的实时数据,每两秒刷新一次。

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

 如果想看某个容器运行程序,将光标移动到目标容器,然后回车或者双击。还可以继续双击查看进程中的线程。

 

四、weave  scope

        weave  scope最大特点是会自动生成一张docker容器地图,让我们能够直观的理解、监控和控制容器

  1.安装:

curl  -L git.io/scope -o /usr/local/bin/scope
chmod a+x /usr/local/bin/scope
scope  launch

   

   scope launch将以容器方式启动

   weave scope访问地址为http://{host}":4040/

1. 容器监控:

       weave  scope地图中间显示了host当前运行的容器,不过少了几个weave相关的容器,weavescope将容器分为两类:

    weave自己的容器 system container 和其他容器 application container 默认只显示后者。weave scope界面是一个可交互的地图,使用起来很方便。比如点击地图左下角选择开关all。

   地图上会立刻显示所有容器。

   点击cpu选择器。

   weabe  scope将一高低水位显示容器cpu使用量。

   如果此时我们要将鼠标放到容器图标上,则会显示具体的cpu%

  如果要查看容器详细的信息,比如sysdig  可以点击该容器图标。

 2.详细信息包括那么几部分:

     status cpu 内存的实时使用情况以及历史曲线。info容器images,启动命令 状态 网络等信息

在容器信息的上面还有一排操作按钮分别是:
attach到容器启动进程, 相当于执行docker container attach
打开shell, 相当于执行docker container exec
重启容题, 相当于执行docker container restart
智停容器, 相当于执行docker container pause
关闭容器, 相当于执行docker containers top
这排按钮便我们能够远程控制容器,相当方便。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值