Docker的监控(简单部署Sysdig和Weave Scope)

一、Docker的监控

Docker自带的监控命令

简单命令介绍
ps
docker container ps 是我们早已熟悉的命令了,方便我们查看当前运行的容器。新版的 Docker 提供了一个新命令 docker container ls,其作用和用法与 docker container ps 完全一样。不过 ls 含义可能比 ps 更准确,所以更推荐使用。

top
如果想知道某个容器中运行了哪些进程,可以执行 docker container top [container] 命令。命令后面还可以跟上 Linux 操作系统 ps 命令的参数显示特定的信息,比如 -au。

stats
docker container stats 用于显示每个容器各种资源的使用情况。默认会显示一个实时变化的列表,展示每个容器的 CPU 使用率,内存使用量和可用量。注意:容器启动时如果没有特别指定内存 limit,stats 命令会显示 host 的内存总量,但这并不意味着每个 container 都能使用到这么多的内存。

除此之外 docker container stats 命令还会显示容器网络和磁盘的 IO 数据。默认的输出有个缺点,显示的是容器 ID 而非名字。我们可以在 stats 命令后面指定容器的名称只显示某些容器的数据。比如 docker container stats sysdig weave。

命令执行

1.ps

[[email protected] ~]# docker ps
//查看容器信息

2.top

[[email protected] ~]# docker top 容器名称
[[email protected] ~]# docker top wordpress_wordpress_1
//查看容器中运行的进程信息,支持 ps 命令参数。

3.stats

[[email protected] ~]# docker stats wordpress_wordpress_1
//实时查看容器统计信息,查看容器的CPU利用率、内存的使用量以及可用内存总量。


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

  注意:容器启动时如果没有特别指定内存limit,stats命令会显示host的内存总量,但这并不意味着每个container都能使用到这么多的内存
  除此之外docker container stats命令还会显示容器网络和磁盘的IO数据
  默认的输出有个缺点,显示的是容器ID而非名字。我们可以在stats命令后面指定容器的名称只显示某些容器的数据。比如docker container stats test1 test2 
[[email protected] ~]# docker logs 容器名称
[[email protected] ~]# docker logs wordpress_wordpress_1
//查看容器的日志

二、用 Sysdig 监控服务器

[[email protected] ~]# docker pull sysdig
//下载sysdig镜像

通过sysdig运行容器

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

下载插件失败后可以运行下边命令,重新下载

[email protected]:/# system-sysdig-loader
//下载插件失败后可以运行下边命令,重新下载

下载成功后,可以运行sysdig命令,查看监控项

[email protected]:/# sysdig
//运行sysdig命令,查看监控项,它会动态查看

使用 csysdig

csysdig 就是运 ncurses 库的用户界面的 sysdig 软件包,Ncurses 是一个能提供功能键定义 ( 快捷键 ), 屏幕绘制以及基于文本终端的图形互动功能的动态库。在 sysdig 软件包里还提供了一个工具 csysdig,该工具执行后,运行界面和 top 命令类似。csysdig 工作界面如图 5。

运行csysdig命令,查看监控项

[email protected]:/# csysdig
//运行csysdig命令,图形化界面查看监控项,它会动态查看

csysdig 使用如下快捷键:

P:暂停屏幕输出信息

Enter:进入当前突出显示的条目。

Ctrl+F:列表搜索。

F1- 帮助信息

F2- 显示视图选择器。这将让你切换到另一个视图。

F4- 使用过滤器

F5- 查看 IO 输出信息

F7 显示帮助页面当前显示的视图。

F8 打开视图的操作面板。

F9,打开列排序面板。

Q 放弃退出。

Arrows, PgUP, PgDn, Home, End:图标上下左右的移动控制。

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

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

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

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

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

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

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

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

sysdig的特点:

(1)监控信息全,包括Linux操作系统和容器
(2)界面交互性强

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

总结
这些示例仅仅是展示了 Sysdig 能力的冰山一角,在目前的其他系统监控类工具中,笔者还没有看到像 Sysdig 这样功能如此强大、而又对容器支持这样好的。所以,对于经常使用服务器特别是 Docker 容器作为产品运行方式的用户,这是一款值得使用的系统工具。

三、Docker监控方案之Weave Scope

Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解、监控和控制容器。千言万语不及一张图,先感受一下。

[[email protected] ~]# docker pull scope
//下载scope镜像

执行如下脚本安装运行Weave Scope

[[email protected] ~]# curl -L git.io/scope -o /usr/local/bin/scope
[[email protected] ~]# chmod +x /usr/local/bin/scope
[[email protected] ~]# scope launch

浏览器访问http://192.168.1.11:4040/

然后就可以更好的监控,管理docker中的容器了

开启第docker02,加入docker01监控项

docker01

删除weavescope容器

[[email protected] ~]# docker stop weavescope
weavescope
[[email protected] ~]# docker rm weavescope
weavescope

docker02

[[email protected] ~]# docker pull scope
//下载scope镜像
[[email protected] ~]# curl -L git.io/scope -o /usr/local/bin/scope
[[email protected] ~]# chmod +x /usr/local/bin/scope
[[email protected] ~]# scope launch

docker01

[[email protected] ~]# scope launch 192.168.1.11 192.168.1.13

docker02

[[email protected] ~]# scope launch 192.168.1.13 192.168.1.11

浏览器访问http://192.168.1.11:4040/

浏览器访问http://192.168.1.13:4040/也是可以的

原文地址:https://blog.51cto.com/14320361/2460996

时间: 2024-10-02 23:43:24

Docker的监控(简单部署Sysdig和Weave Scope)的相关文章

Docker bridge-utils 工具简单部署

bridge-utils 网桥查看工具 # 1.安装 查看桥接工具 yum install -y bridge-utils # 2.查看桥接 命令brctl show bridge name bridge id STP enabled interfaces weave 8000.52e79f3c61a0 no vethwe-bridg Docker bridge-utils 工具简单部署 原文地址:https://www.cnblogs.com/xiangsikai/p/9900999.html

k8s之监控利器Weave Scope详解

前言 创建kubernetes集群并部署容器化应用只是第一步,一旦集群运行起来,我们需要确保运行正常,所有必要组件就位并各司其职,有足够的资源满足应用的要求.kubernetes是一个复杂的系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持. kubernetes常用的监控方案: 一,Weave scope简介 Weave Scope是 Docker 和 kubernetes 可视化监控工具.Scope提供了至上而下的集群基础设施和应用的完整视图,用户可

监控利器sysdig&Weave Scope

监控利器sysdig(实时查看) sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器.通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为. Linux 上有很多常用的监控工具,比如 strace,tcpdump,htop, iftop,lsof ...... 而 sysdig 则是将这些工具的功能集成到一个工具中,并且提供一个友好统一的操作界面. //安装和运行sysdig的最简单方法就是运行docker容器,命令为:[[email protected] ~]#

用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)

创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持. 本章重点讨论 Kubernetes 常用的监控方案,下一章会讨论日志管理. Weave Scope Weave Scope 是 Docker 和 Kubernetes 可视化监控工具.Scope 提供了至上而下的集群

centos7下安装docker(17.2docker监控---weave scope)

weave scope的最大的特点是会自动生成一张docker 容器地图,让我们能够直观的理解,监控和控制地图 先来感受一下(盗图) 1.安装 执行如下脚本安装运行weave scope

Docker容器监控(十)--技术流ken

docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器 [[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2dc535903c8f weaveworks/scope:1.10.1 "/home/weave/entrypo…" 14 mi

九爷带你玩转 docker 五大监控

轻量级虚拟化容器 Docker,自发布以来便广受业界关注,在开源界和企业界掀起了一阵风.Docker 容器相对于 VM 有以下几个优势:启动速度快:资源利用率高:性能开销小. 从图中可以看出 Docker 和 虚拟机的差异,虚拟机的 Guest OS 和 Hypervisor 层在 Docker 中被 Docker Engine 层所替代,Docker 有着比虚拟机更少的抽象层.由于 Docker 不需要通过 Hypervisor 层实现硬件资源虚拟化,运行在 Docker 容器上的程序直接使用

Kubernetes 使用 Weave Scope 监控集群(十七)

目录 一.安装 二.使用 Scope 2.1.拓扑结构 2.2.在线操作 2.3.强大的搜索功能 创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持. 一.安装 Weave Scope 是 Docker 和 Kubernetes 可视化监控工具.Scope 提供了至上而

第 10 章 容器监控 - 081 - Weave Scope 多主机监控

除了监控容器,Weave Scope 还可以监控 Docker Host 点击顶部 HOSTS 菜单项,地图将显示当前 host. 与容器类似,点击该 host 图标将显示详细信息 host 当前的资源使用情况和历史曲线一览无余. 除此之外也能很方便地查看 host 上运行的进程和容器列表,点击容器名字还可以打开此容器的信息页面. host 页面上部有一个按钮,点击可直接打开 host 的 shell 窗口. 多主机监控 两个 Docker Host: host1: 10.12.31.22 ho