• Docker自带的监控子命令及sysdig


    Docker常用的监控方案

    Docker自带的监控子命令

    ps

          docker container ps用来查看当前运行的容器

          新版的Docker提供了一个新命令docker container ls,其作用和用法与docker container ps完全一样。不过ls含义可能比ps更准确,所以更推荐使用 

    top

          如果想知道某个容器中运行了哪些进程,可以执行docker container top [container]命令 

          上面显示了test1这个容器中的进程。命令后面还可以跟上Linux操作系统ps命令的参数显示特定的信息,比如 -au 

    stats

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

          默认会显示一个实时变化的列表,展示每个容器的CPU使用率,内存使用量和可用量

          注意:容器启动时如果没有特别指定内存limit,stats命令会显示host的内存总量,但这并不意味着每个container都能使用到这么多的内存

          除此之外docker container stats命令还会显示容器网络和磁盘的IO数据

          默认的输出有个缺点,显示的是容器ID而非名字。我们可以在stats命令后面指定容器的名称只显示某些容器的数据。比如docker container stats test1 test2 

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

    监控利器sysdig

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

    sudo docker run -it --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 

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

          我们将光标移到Containers这一项,界面右边立即显示出此view的功能介绍,回车或者双击Containers,进入容器监控界面 

          sysdig会显示该host所有的容器的实时数据,每两秒刷新一次。各列数据的含义也是自解释的,如果不清楚,可以点一下底部的Legend,如果想按某一列排序,比如按使用的内存量,点一下列头VIRT 

          如果想查看某个容器的进程,将光标移动到目标容器,然后回车或者双击 

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

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

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

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

          sysdig的特点:

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

                (2)界面交互性强

          其缺点是sysdig显示的是实时数据,看不到变化和趋势。而且是命令行操作方式,需要ssh到host上执行,不是太方便

  • 相关阅读:
    面试准备——springboot相关
    面试准备——mybatis相关
    面试准备——struts2和springmvc的区别
    面试准备——Struts2相关问题
    面试准备——springmvc面试题
    面试准备——spring面试题
    面试准备——数据库优化问题
    面试准备——JVM相关
    面试准备——数据结构
    面试准备——多线程
  • 原文地址:https://www.cnblogs.com/chenjin2018/p/9928244.html
Copyright © 2020-2023  润新知