Docker监控:google/cadvisor

Docker自带了容器监控功能,可以对容器进行相关的性能监控,指标查看

主要包括:

  • 主机的CPU情况和使用量
  • 主机的内存情况和使用量
  • 主机的本地镜像情况
  • 主机的容器运行情况

常规使用docker ps -a   ,docker images命令查看后两者,当然docker stats命令就是监控相关容器实例情况。

[[email protected] ~]# docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                    PORTS                                                                  NAMES
14330de27f9d        yatho_nginx:1.0.1       "/usr/local/sbin/run."   26 hours ago        Up 26 hours               0.0.0.0:32770->22/tcp, 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp   nginx_test
d4e1352fa5a7        c782eddf525a            "/bin/sh -c ‘-y updat"   27 hours ago        Exited (2) 27 hours ago                                                                          stoic_kilby
b573605ad104        c782eddf525a            "/bin/sh -c ‘yum inst"   29 hours ago        Exited (1) 29 hours ago                                                                          tender_jennings
480b1bbe7845        docker.io/hello-world   "/hello"                 13 days ago         Exited (0) 13 days ago                                                                           trusting_visvesvaraya
[[email protected] ~]# docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
yatho92/yatho_nginx_centos6.5       1.0.0               f75f41326048        26 hours ago        1.243 GB
yatho_nginx                         1.0.1               f75f41326048        26 hours ago        1.243 GB
docker.io/centos                    latest              d123f4e55e12        12 days ago         196.6 MB
docker.io/hello-world               latest              05a3bd381fc2        9 weeks ago         1.84 kB
docker.io/hagaico/centos-base-6.5   latest              17e89775b93c        3 years ago         595.3 MB
[[email protected] ~]# docker stats

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
14330de27f9d        0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
14330de27f9d        0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
14330de27f9d        0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
14330de27f9d        0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

  也可以使用类似top命令查看进程情况

[[email protected] ~]# docker stats nginx_test

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
nginx_test          0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
nginx_test          0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O               BLOCK I/O           PIDS
nginx_test          0.00%               1.297 MiB / 3.86 GiB   0.03%               3.142 kB / 3.436 kB   6.675 MB / 0 B      3

  如果想要看到更为详细的容器属性,还可以通过netcat,使用Docker远程API来查看。发送一个HTTP GET请求/containers/[CONTAINER_NAME],其中CONTAINER_NAME是你想要统计的容器名称。你可以从这里看到一个容器stats请求的完整响应信息。在上述的例子中你会得到缓存、交换空间以及内存的详细信息。

  当然这种方式并不会令人接受,大家还是希望能够看到非常直观,详细的可视化界面

  CAdvisor是一个易于设置并且非常有用的工具,我们不用非要SSH到服务器才能查看资源消耗,而且它还给我们生成了图表。此外,当集群需要额外的资源时,压力表(pressure gauges )提供了快速预览。而且,CAdvisor是免费的,并且还开源。

另外,它的资源消耗也比较低。但是,它有它的局限性,它只能监控一个Docker主机。因此,如果你是多节点的话,那就比较麻烦了,你得在所有的主机上都安装一个CAdvisor,者肯定特别不方便。值得注意的是,如果你使用的是Kubernetes,你可以使用heapster来监控多节点集群。另外,在图表中的数据仅仅是时长一分钟的移动窗口,并没有方法来查看长期趋势。如果资源使用率在危险水平,它却没有生成警告的机制。如果在Docker节点的资源消耗方面,你没有任何可视化界面,那么CAdvisor是一个不错的开端来带你步入容器监控,然而如果你打算在你的容器中运行任何关键任务,那你就需要一个更强大的工具或者方法。

CAdvisor使用:

  下载官方镜像:

[[email protected] ~]# docker pull  google/cadvisor
Using default tag: latest
Trying to pull repository docker.io/google/cadvisor ...
latest: Pulling from docker.io/google/cadvisor
709515475419: Pull complete
5760eeb1525d: Downloading [=======================>                           ]  6.32 MB/13.74 MB
e485506b272e: Download complete
e485506b272e: Pulling fs layer

  启用镜像容器实例,映射端口

[[email protected] /]# 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
38423c30e04364265999c2642d54d6737b798f887b19be045c440ce90968c548
[[email protected] /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38423c30e043 google/cadvisor:latest "/usr/bin/cadvisor -l" 14 seconds ago Up 12 seconds 0.0.0.0:8080->8080/tcp cadvisor
14330de27f9d yatho_nginx:1.0.1 "/usr/local/sbin/run." 27 hours ago Up 27 hours 0.0.0.0:32770->22/tcp, 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp nginx_test

  打开链接查看,容器宿主机IP:8080

  

  该容器对于我们来说已经足够使用了,不过相比较更加专业的公司,该工具显示的docker信息详细程度不够,集成度也不太强,而且无生成警报的能力,也只能监控容器资源,不支持非docker资源监控。

  免费的东西,你还想怎么样呢?

时间: 2024-08-30 11:56:41

Docker监控:google/cadvisor的相关文章

docker:十分钟构建容器监控系统cAdvisor+InfluxDB+Grafana

1.概念 cAdvisor:用于数据采集InfluxDB:用于数据存储Grafana:用于数据展示 1.1 cAdvisor 它是Google用来监测单节点的资源信息的监控工具.Cadvisor提供了一目了然的单节点多容器的资源监控功能.Google的Kubernetes中也缺省地将其作为单节点的资源监控工具,各个节点缺省会被安装上Cadvisor.总结起来主要两点: 展示 Host 和容器两个层次的监控数据. 展示历史变化数据. ?由于 cAdvisor 提供的操作界面略显简陋,而且需要在不同

在Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxDB.Grafana 集成起来. 需要的镜像: tutum/influxdb google/cadvisor grafana/grafana 安装:有8台mesos-slave,都需要运行一个cAdvisor docker实例对docker进行监控,然后需要运行一个InfluxDB docker实例存

[经验交流] 在 Mesos Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxDB.Grafana 集成起来,国外的专家 Brian Christner 写了一篇文章”How to setup Docker Monitoring“,描述了部署方法. Brian 的方法是手动运行 docker run 命令进行部署,为了能在 Mesos Marathon 平台上自动部署,我对他的

(转)使用InfluxDB+cAdvisor+Grafana配置Docker监控

文档来源 文档来源:How to setup Docker Monitoring 由garyond翻译.校正及整理 Docker监控简介 我们提供的Docker主机和容器越来越多,对Docker服务器和容器的监控越来越必要.本文将引导你了解如何通过多个不同组件的配置和协作,以实现Docker监控. Docker监控组件 首先, 我们假设在您的主机上已经安装.配置和运行Docker Engine.请确保您可以通过Web浏览器在本地或者通过网络IP连接到Docker主机.以下我们将详细介绍如何创建我

14、Docker监控方案(Prometheus+cAdvisor+Grafana)

上一篇文章我们已经学习了比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控.这节课来学习Prometheus+cAdvisor+Grafana组合. cAdvisor是专门用来采集数据的工具,也是google公司的一款开源产品,Grafana则是前端展示,支持多种数据源,定制非常灵活.而prometheus则作为数据源. 整体架构图如下: 一.prometheus 1.Prometheus介绍 Prometheus(普罗米修斯)是一个最初在SoundCloud上

docker监控: cAdvisor

docker监控: cAdvisor 什么是 cAdvisor? cAdvisor 是 Google 开源的一款用于展示和分析容器运行状态的可视化工具,通过在主机上运行 cAdvisor 用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示. 使用 cAdvisor 想运行在这个很简单,只需要执行如下命令即可 docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:r

docker监控

监控: 本机监控:docker ps/top/stats 实时监控:sysdig-docker原生支持   创建好容器查看命令    csysdig docker container run -itd --rm --name sysdig --privileged=true --volume=/var/run/docker.sock:/host/var/run/docker.sock --volume=/dev:/host/dev --volume=/proc:/host/proc:ro --v

Docker学习(12):Docker监控方案之Prometheus

Docker常用的监控方案 Prometheus Prometheus架构 Prometheus是一种很不错的监控方案,它提供了监控数据搜集.存储.处理.可视化和警告一套完整的解决方案,下面是Prometheus的架构 Prometheus Server Prometheus Server负责从Exporter拉取和存储监控数据,并提供一套灵活的查询语言(PromQL)供用户使用 Exporter Exporter负责收集目标对象(host,container...)的性能数据,并通过HTTP接

Docker(七) Docker监控平台

监控维度 主机维度 主机cpu 主机内存 主机本地镜像情况 主机上容器运行情况 镜像维度 镜像的基本信息 镜像与容器的基本信息 镜像构建的历史信息(层级依赖信息) 容器维度 容器基本信息 容器的运行状态信息 容器用量信息 docker监控命令 docker ps docker images docker stats # 注意:docker stats只有选择libcontainer作为执行驱动时才可以使用 # docker stats时常会有一些限制,使用stats api会显示更多的信息 ec