docker自带的监控命令

docker自带了三个监控命令即ps, top, stats

ps

docker ps 可以帮助我们很快的了解当前正在运行的容器

-a:会显示已经停掉的容器

 
[root@host1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2dc535903c8f weaveworks/scope:1.10.1 "/home/weave/entrypo…" 14 minutes ago Up 14 minutes weavescope
9c0b7af8f210 busybox "sh" 38 minutes ago Up 38 minutes b10
39e40500da10 busybox "sh" 38 minutes ago Up 38 minutes b9
3f5f98e0c5d2 busybox "sh" 38 minutes ago Up 38 minutes b8
a0cef436f61a busybox "sh" 38 minutes ago Up 38 minutes b7
 

top

如果想知道某个容器中运行了哪些进程,可以执行如下的命令:

[root@host1 ~]# docker top 266910b9b
UID PID PPID C STIME TTY TIME CMD
root 7162 7144 0 14:55 pts/0 00:00:00 sh

stats

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

而且是动态刷新的

[root@host1 ~]# docker stats 266910b9b
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
266910b9bede b3 0.00% 52KiB / 487.5MiB 0.01% 978B / 280B 1.97MB / 8.19kB 1

ps,top, stats 这几个命令是 docker 自带的,优点是运行方便,很适合想快速了解容器运行状态的场景。其缺点是输出的数据有限,而且都是实时数据,无法反应历史变化和趋势。接下来要介绍的几个监控工具会提供更丰富的功能。

sysdig

sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器

第一步:安装运行

[root@host1 ~]# docker container 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 等数据,这是为了获取足够的系统信息。

第二步:进入容器

安装完之后默认进入了容器

第三步:启动sysdig

输入命令csysdig,进入到了如下的界面

第四步:使用sysdig

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

我们选择进入containers,即容器监控

回车或者双击 Containers,进入容器监控界面。

sysdig 会显示该 Host 所有容器的实时数据,每两秒刷新一次。

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

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

sysdig 的特点如下:

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

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

weave scope监控容器

Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解、监控和控制容器。也是我个人比较喜欢的一款监控软件

第一步:安装

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

第二步:启动

scope launch将以容器方式启动 Weave Scope

 
[root@ken ~]# scope launch
8d4082e5447876fd5c6bdb8b22bef3e3624878321d20fea5c95f2efd4646ef01
Scope probe started
Weave Scope is listening at the following URL(s):
* http://192.168.122.1:4040/
* http://10.32.0.3:4040/
* http://172.20.10.2:4040/
 

根据提示,Weave Scope 的访问地址为 http://[Host_IP]:4040/

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

在容器信息的上面还有一排操作按钮。

分别是:

attach 到容器启动进程,相当于执行docker container attach

打开 shell,相当于执行docker container exec

重启容器,相当于执行docker container restart

暂停容器,相当于执行docker container pause

关闭容器,相当于执行docker container stop

这排按钮使我们能够远程控制容器,相当方便。比如可以直接跳进 sysdig 容器,启动csysdig 监控工具

除了容器,Weave Scope 还可以监控 Docker Host。

weave scope监控主机

点击顶部HOSTS 菜单项,地图将显示当前 host。

与容器类似,点击该 host 图标将显示详细信息。

host 页面上部有一个按钮,点击可直接打开 host 的 shell 窗口,这个远程管理功能真的很贴心。

相当于进入到了你的系统,执行的任何命令都会同步到系统。非常nice

weave scope监控多主机

我们已经领略了 Weave Scope 的丰富功能和友好的操作界面。不过它还有一个重要功能:多主机监控。

真正的部署环境都不可能只有一个 host,如果能在一个界面上监控整个容器环境,那绝对是件非常有效率的事情。

ken: 172.20.10.2

host1: 172.20.10.7

第一步:两个主机上面都需要安装weave scope(两台主机都需要执行)

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

第二步:两个主机上都执行如下的命令

这样,无论访问 http://172.20.10.2:4040 还是 http://172.20.10.7:4040,都能监控到两个 host。

[root@ken ~]# scope launch 172.20.10.2 172.20.10.7

第三步:查看主机

第四步:查看正在运行的容器

容器图标右面标明了所在的 主机。

第五步:搜索

如果部署的容器数量太多(很常见),Weave Scope 还提供了强悍的搜索功能。

Docker容器监控(十)的更多相关文章

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

    docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器 [root@h ...

  2. Docker容器监控

    利用docker compose组合应用并利用scale可以快速对容器进行扩充,而docker compose启动的服务容器都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的运行情况,如: ...

  3. docker容器监控:cadvisor+influxdb+grafana

    cadvisor+influxdb+grafana可以实现容器信息获取.存储.显示等容器监控功能,是目前流行的docker监控开源方案. 方案介绍 cadvisor Google开源的用于监控基础设施 ...

  4. 使用Docker容器的十大误区

    转自:http://www.dockone.io/article/1264 对于用户来说,可能一开始在不了解的情况下会对容器报以拒绝的态度,但是在尝到容器的甜头.体验到它的强大性能之后,相信大家最终是 ...

  5. Docker 容器监控平台-Weave Scope

    官网地址:https://www.weave.works/oss/scope/ 安装 执行如下脚本安装运行 Weave Scope. curl -L git.io/scope -o /usr/loca ...

  6. 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则

    一.Docker 容器监控报警方式 接着上篇文章的记录,看到grafana的版本已经更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,这样在对容器 监控完, ...

  7. Prometheus入门到放弃(4)之cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行. 1.下载镜像 [root@prometheus-server ...

  8. 6. 使用cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行.这里我们可以服务端和客户端都使用cadvisor 客户端 1.下 ...

  9. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

随机推荐

  1. 区分多个web driver实例

    固然可以用加载不同cookie的办法,让3个帐号共享一个web driver登陆,但总感觉切换麻烦,干脆用了3个web driver实例.问题来了,如何区分?不是说程序里如何区分,机器比人聪明,知道外 ...

  2. openstack nova 创建虚机流程

    1文件 nova.api.openstack.coumpute.servers1函数 def create(self, req, body):1调用 (instances, resv_id) = se ...

  3. 计算机网络-应用层(3)Email应用

    因特网电子邮箱系统主要由用户代理(user agent) .邮件服务器(mail server) 和简单邮件传输协议(SMTP)组成   邮件服务器(Mail Server) 邮箱:存储发给该用户的E ...

  4. 从《三体》到“中美科技战”,3分钟理解“网络”D丝为什么要迎娶“算力”白富美

    摘要:在多维的世界里,高维的文明对于低维文明具有碾压的优势,而网络也正在从二维走向三维!网络硬件的竞争主要是“芯片+算法”. 从三体到中美科技战,理解网络与算力深度融合助力高维度竞争 1:对抗封锁,需 ...

  5. Windows servers 2008 环境下,域控DC和DNS,分离搭建过程。

    近来做有关于window服务器方面运维的实验,正好借此记录下来,便于日后回顾. 通常情况下,域控DC服务器和DNS服务器一般不在一起,所以需要将其分开建立.而这个时候两个服务器的建立有先后顺序,本文会 ...

  6. Windows Server 2012 数据库定时备份

    为了数据的安全,我们在服务器上设置了每周备份一次,下面是具体步骤: 一.在文件客户端服务器创建db_backup.cmd的Windows命令脚本.输入以下内容(直接复制可能出错,请手动输入): @ec ...

  7. 牛哄哄的celery

    一.什么是Celery 1.1.celery是什么 Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度. Celery的架构由三部分组成, ...

  8. Apache Pulsar 2.6.1 版本正式发布:2.6.0 功能增强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

  9. 设计模式(多个if的处理)

    使用场景 如果在代码中出现大量if判断,再执行一些比较复杂的业务操作,类似于以下情况. @Test void test() { String str = "A"; if (str. ...

  10. AcWing 285. 没有上司的舞会(树形dp入门)

    Ural大学有N名职员,编号为1~N. 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司. 每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N1≤i≤N. 现在要召开一场周年 ...