精华内容
下载资源
问答
  • docker监控

    2020-06-14 23:52:38
    Docker监控 当Docker部署规模逐步变大之后,可视化监控容器环境的性能和健康状态将会变的越来越重要。 Docker自带的几个监控子命令:ps ,top和stats 。 然后是几个功能更强的开源监控工具sysdig,Weave Scope,...

    Docker监控

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

    Docker自带的几个监控子命令:ps ,top和stats 。
    然后是几个功能更强的开源监控工具sysdig,Weave Scope,cAdvisor和Prometheus。

    一、Docker自带的监控子命令

    首先通过几个镜像运行几个容器:

    [root@docker ~]# docker images
    [root@docker ~]# docker run -d -p 80 --name httpd-1 httpd
    [root@docker ~]# docker run -d -p 80 --name httpd-2 httpd
    [root@docker ~]# docker run -dit --name busybox-1 busybox
    [root@docker ~]# docker run -dit --name busybox-2 busybox
    [root@docker ~]# docker run -dit --name centos-1 centos
    [root@docker ~]# docker run -dit --name centos-2 centos
    

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

    查看当前运行的容器(docker container ls或者docker container ps):

    [root@docker ~]# docker container ls
    [root@docker ~]# docker container ps
    

    查看当前所有的容器(docker container ls -a或者docker container ps -a):

    [root@docker ~]# docker container ls -a
    [root@docker ~]# docker container ps -a
    

    2、top

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

    查看本地系统的进程信息:

    [root@docker ~]# top
    

    查看容器的进程信息:

    [root@docker ~]# docker container top httpd-1
    [root@docker ~]# docker top httpd-1
    

    3、stats

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

    查看当前正在运行的每个容器各种资源的使用情况:

    [root@docker ~]# docker container stats 
    [root@docker ~]# docker stats 
    

    查看指定的正在运行的某个容器各种资源的使用情况:

    [root@docker ~]# docker container stats httpd-1 
    [root@docker ~]# docker stats httpd-1
    

    二、sysdig

    sysdig是一个轻量级的系统监控工具,同时它还原生支持容器。通过sysdig可以近距离观察Linux系统和容器的行为。Linux上有很多常用的监控工具,比如strace,tcpdump,htop,iftop,lsof … 而sysdig则是将这些工具的功能集成到一个工具中,并且提供一个友好统一的操作界面。除此之外其还能对容器如docker、coreOS、LXC进行监控。

    另外该工具也支持Windows平台和Mac平台,平时工作主要涉及Linux平台。

    安装和运行sysdig的最简单方法是运行Docker容器。

    下载sysdig/sysdig镜像:

    [root@docker ~]# docker pull sysdig/sysdig
    

    docker run --rm参数讲解:

    [root@docker ~]# docker run -it --name test --rm busybox
    

    通过sysdig/sysdig镜像安装运行一个临时docker容器:

    [root@docker ~]# docker container run -it --rm --name sysdig --privileged \
    -v /var/run/docker.sock:/host/var/run/docker.sock \
    -v /dev/:/host/dev \
    -v /proc/:/host/proc:ro \
    -v /boot/:/host/boot:ro \
    -v /lib/modules:/host/lib/modules:ro \
    -v /usr/:/host/usr:ro \
    sysdig/sysdig
    

    可以看到,sysdig容器是以privileged方式运行,而且会读取操作系统/dev,/proc等数据,这是为了获取足够的系统信息。启动后,通过docker container exec -it sysdig bash进入容器,执行csysdig命令,将以交互方式启动sysdig。

    在sysdig容器中执行csysdig命令交互式模式下监控docker容器:

    #csysdig
    在这里插入图片描述

    这是一个类似Linux top命令的界面,但要强大太多。sysdig按不同的View来监控不同类型的资源,点击底部Views菜单或者按F2,显示View选择列表。

    界面左边列出了sysdig支持的View,一共30多项,涵盖了操作系统的各个方面,因为这里主要是容器监控,所以通过方向键将蓝色光标移动到Containers这一项,界面右边立即显示处此View的功能介绍。回车或者双击Containers,进入容器监控界面。

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

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

    可以通过回车或者双击查看某个进程中的线程信息。

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

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

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

    sysdig的特点:
    监控信息全,包括Linux操作系统和容器,界面交互性强。

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

    三、Weave Scope

    Weave Scope的最大特点是会自动生成一张Docker容器地图,能够直观地理解、监控和控制容器。

    下载scope命令脚本文件并赋予x执行权限:

    [root@docker ~]# curl -L git.io/scope -o /usr/local/bin/scope
    [root@docker ~]# chmod a+x /usr/local/bin/scope 
    

    以容器的方式启动Weave Scope:

    [root@docker ~]# scope launch
    

    在本地防火墙授权4040端口:

    [root@docker ~]# firewall-cmd --add-port=4040/tcp --permanent 
    [root@docker ~]# firewall-cmd --reload
    [root@docker ~]# firewall-cmd --list-all
    

    浏览器访问地址192.168.3.100:4040访问weavescope系统:

    在这里插入图片描述

    展开全文
  • docker 监控

    2020-06-17 01:56:26
    cAdvisor是google开发的容器监控工具,在host中运行cAdvisor容器。 环境部署: 两台docker环境主机。 两台主机分别下载google/cadvisor镜像: docker pull google/cadvisor docker-1主机通过google/cadvisor镜像...

    一、数据收集器cAdvisor

    cAdvisor是google开发的容器监控工具,在host中运行cAdvisor容器。

    环境部署:

    两台docker环境主机。
    两台主机分别下载google/cadvisor镜像:

     docker pull google/cadvisor
    

    docker-1主机通过google/cadvisor镜像启动一个容器在后台运行:

    [root@docker-1 ~]# docker run \
    --volume=/:/rootfs:ro \
    --volume=/var/run:/var/run:rw \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker:/var/lib/docker:ro \
    --publish=8080:8080 \
    --detach=true \
    --name=cadvisor \
    google/cadvisor:latest
    

    浏览器访问地址ip:8080访问cAdvisor数据收集器系统:

    在这里插入图片描述
    cAdvisor数据收集器系统会显示当前host的资源使用情况,包括CPU、内存、网络、文件系统等。

    cAdvisor的主要功能主要为两点:
    展示Host和容器两个层次的监控数据。
    展示历史变化数据。

    cAdvisor的一个亮点是可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。

    可以把cAdvisor定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。

    二、Prometheus架构

    两台主机分别下载prom/node-exporter镜像:

    #docker pull prom/node-exporter
    两台主机分别通过prom/node-exporter镜像启动一个容器在后台运行:

    #docker run -d -p 9100:9100 \
    -v "/proc:/host/proc" \
    	-v "/sys:/host/sys" \
    -v "/:/rootfs" \
    --net=host \
    prom/node-exporter \
    --path.procfs /host/proc \
    --path.sysfs /host/sys \
    --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/devicemapper|rootfs/var/lib/docker/aufs)($$|/)"
    

    注意,这里使用了–net=host,这样Prometheus Server可以直接与Node Exporter通信。Node Exporter启动后,将通过9100提供host的监控数据。

    两台主机分别防火墙授权9100端口:

    #firewall-cmd --add-port=9100/tcp --permanent
    
    #firewall-cmd --add-port=9100/tcp
    

    浏览器分别访问地址
    http://192.168.3.100:9100/metrics和http://192.168.3.150:9100/metrics查看是否收集到数据:
    在这里插入图片描述
    在这里插入图片描述

    将docker-1主机上通过google/cadvisor镜像启动的cadvisor容器删除掉,然后再通过google/cadvisor镜像启动一个host网络的容器在后台运行(在文档开始部分因已经启动了一个默认bridge网络的cadvisor容器,因为与Prometheus Server和Node Exporter不在一个网络,所以需要删除掉):

    [root@docker-1 ~]# docker rm -f cadvisor 
    
    [root@docker-1 ~]# docker run \
    --volume=/:/rootfs:ro \
    --volume=/var/run:/var/run:rw \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker/:/var/lib/docker:ro \
    --publish=8080:8080 \
    --detach=true \
    --name=cadvisor \
    --net=host \
    google/cadvisor:latest
    

    docker-2主机通过google/cadvisor镜像也启动一个host网络的容器在后台运行:

    [root@docker-2 ~]# docker run \
    --volume=/:/rootfs:ro \
    --volume=/var/run:/var/run:rw \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker/:/var/lib/docker:ro \
    --publish=8080:8080 \
    --detach=true \
    --name=cadvisor \
    --net=host \
    google/cadvisor:latest
    

    注意,这里使用了–net=host,这样Prometheus Server可以直接与cAdvisor通信。cAdvisor启动后,将通过8080提供host的监控数据。

    两台主机分别防火墙授权8080端口:

    #firewall-cmd --add-port=8080/tcp --permanent
    
    #firewall-cmd --add-port=8080/tcp
    

    浏览器分别访问地址

    在这里插入图片描述

    在这里插入图片描述

    docker-1主机下载prom/prometheus镜像:

    [root@docker-1 ~]# docker pull prom/prometheus
    

    docker-1主机编辑Prometheus Server的配置文件prometheus.yml:

    [root@docker-1 ~]# vim /root/prometheus.yml
    #my global config
    global:
     scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
      evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
      # scrape_timeout is set to the global default (10s).
    
    #Alertmanager configuration
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
    
    #Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    #A scrape configuration containing exactly one endpoint to 	scrape:
    #Here it's Prometheus itself.
    scrape_configs:
     # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      -	 job_name: 'prometheus'
    
       # metrics_path defaults to '/metrics'
       # scheme defaults to 'http'.
    
     static_configs:
     - targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.2.150:8080','192.168.2.150:9100']
     - 
    

    docker-1主机通过prom/prometheus镜像启动一个host网络的容器在后台运行:

    [root@docker-1 ~]# docker run -d -p 9090:9090 \
    -v /root/prometheus.yml:/etc/prometheus/prometheus.yml \
    --name prometheus \
    --net=host \
    prom/prometheus
    

    docker-1主机防火墙授权9090端口:

    [root@docker-1 ~]# firewall-cmd --add-port=9090/tcp --permanent
    
    [root@docker-1 ~]# firewall-cmd --add-port=9090/tcp
    

    浏览器访问地址

    在这里插入图片描述

    docker-1主机下载grafana/grafana镜像:

    [root@docker-1 ~]# docker pull grafana/grafana
    

    docker-1主机通过grafana/grafana镜像启动一个host网络的容器在后台运行:

    [root@docker-1 ~]# docker run -d -i -p 3000:3000 \
    -e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
    -e "GF_SECURITY_ADMIN_PASSWORD=secret" (密码)\
    --net=host \
    grafana/grafana
    

    docker-1主机防火墙授权3000端口:

    [root@docker-1 ~]# firewall-cmd --add-port=3000/tcp --permanent
    
    [root@docker-1 ~]# firewall-cmd --add-port=3000/tcp
    

    浏览器访问地址http://192.168.2.100:3000访问Grafana:

    账号默认是admin 密码是上面password

    在这里插入图片描述

    点进去
    在这里插入图片描述
    添加url http://ip:9090 其他默认

    在这里插入图片描述

    在这里插入图片描述
    添加刚才创建的

    在这里插入图片描述
    浏览器访问地址
    http://grafana.com/dashboards?dataSource=prometheus&search=docker,
    来下载监控docker的Dashboard仪表板模板:

    在这里插入图片描述
    在这里插入图片描述

    把这俩个添加到
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 码头工人 Docker监控工具
  • docker监控系统

    2018-04-28 15:54:00
    第一:docker监控系统之命令行式监控 第二:docker监控系统之cadvisor 第三:docker监控系统之 第四:docker监控系统之 转载于:https://www.cnblogs.com/fengjunhua/p/8968210.html...
    展开全文
  • docker 监控部署

    2020-06-13 12:36:39
    一、docker监控 当docker部署规划逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要。 docker自带的几个监控子命令:ps top和stats,然后是几个功能更强的开源监控工具sysdig、weave,scope,...

    一、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
    这排按钮便我们能够远程控制容器,相当方便。

     

    展开全文
  • docker监控方案

    2020-11-09 12:28:41
    Docker监控方案 docker中有几个自带的监控方案:sysdig、uifd、scope sysdig是命令行界面的监控,而后两者是web页面的图形化监控 日后,作者将会去研究普鲁米修斯的容器监控 sysdig容器监控的下载使用 下载 [root@...
  • 本文由肖远昊深度实践docker监控的报告 非常荣幸得到监控宝的邀请,试用了他们最近推出的新产品——Docker监控。 9月7日,中国APM厂商云智慧CloudWise正式发布上线Docker监控,该产品从部署到使用,整个过程都...
  • Docker监控命令

    2020-11-26 10:19:36
    Docker监控docker stats命令的使用与返回参数的意思 在命令行输入docker stats 即可看见docker内运行的容器的物力资源使用情况: 这个是会一直动态展示数据,按住Ctrl C 即可退出展示。当然你也可以使用命令docker ...
  • Docker监控实战

    2021-02-26 08:24:16
    摘要:如今,越来越多的公司开始使用Docker了,2/3的公司在尝试了Docker后最终使用了它。同时,研究发现主机数量越多的公司,越早使用Docker。如今,越来越多的公司开始使用Docker了,现在来给大家看几组数据:2/3的...
  • Docker 监控和管理客户端 watchdock 是一个 Docker 监控 Web 应用程序。 该应用程序是自包含的,不需要额外的依赖项、服务(除了 docker :-)或服务器。 docker 恶魔需要作为 IP 服务公开并激活 CORS: -H tcp://...
  • Docker监控平台prometheus和grafana,监控redis,mysql,docker,服务器信息一、通过redis_exporter监控redis1.1 下载镜像1.2 运行服务1.3 配置 Prometheus 添加redis监控目标主机1.4 重启Prometheus1.5 接入Grafana...
  • 【实战】五个Docker监控工具的对比>(http://dockone.io/article/397)的文章,前两天也尝试了新上线的Docker监控工具监控宝。想按照文章中包含的六项指标,对监控宝做一个评价。评测项目包括: 1、部署的难易 2...
  • docker-metricbeat-example:使用docker监控主机和服务的Elasticsearch Metricbeat示例配置
  • 性能测试之Docker监控

    2021-03-23 11:22:33
    微服务、大中台盛行的当下,容器化已经被... Docker容器监控 效果图 安装使用 Prometheus和Grafana的安装,参阅上文 安装启动cadvisorsudodockerrun\--volume=/:/rootfs:ro\--volume=/var/run:/var/run:ro\--vol
  • Liman - 基本docker监控Web应用程序
  • Docker 监控之 SaaS 解决方案

    千次阅读 2016-11-10 10:33:21
    另一方面,大家的注意力也渐渐从 “Docker 是什么”转移到“实践 Docker”与“监控 Docker”上。 本文转自刘斌博文「如何选择 Docker 监控方案 」,文中刘斌从技术的角度深入解释了 Docker 监控
  • 最近一直在找docker监控的文档,找到一篇不错的文章转来和大家分享!文档来源:How to setup Docker Monitoring 由garyond翻译、校正及整理 Docker监控简介我们提供的Docker主机和容器越来越多,对Docker服务器和...
  • Docker安装Grafana安装 安装 (1)拉取镜像 docker pull grafana/grafana (2)创建持久化volume docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest (2)创建容器 docker run -...
  • dockerana, 支持Grafana和 Graphite的Docker 监控 dockeranaDocker hackathon幻灯片Docker dockercon14幻灯片概述:时间系列 Docker 仪器和可视化构建/测试在Ubuntu信任的时候,需要在boot2docker上测试需要跨多个
  • kubernetes+docker监控之简介

    千次阅读 2017-01-17 09:43:40
    摘要: Docker的监控原则:根据docker官方声明,一个容器不建议跑多个进程,所以不建议在...kubernetes+docker监控  Docker的监控原则:根据docker官方声明,一个容器不建议跑多个进程,所以不建议在容器中使用agen
  • docker2mqtt 介绍 docker2mqtt启用通过mqtt监视docker容器的功能。 此外,docker2mqtt还支持Home Assistant发现并为每个容器创建一个设备,可以在其中使用不同的传感器来监视容器的当前状态。 该实现是在Rust中实现...
  • 本系列主要介绍prometheus+cadvisor+alertmanager打造docker监控,主要监控指定docker容器是否挂掉 本节主要熟悉prometheus+cadvisor+alertmanager实现docker监控,以监控docker容器grafana是否挂掉作为例子 一、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,639
精华内容 27,455
关键字:

docker监控