Docker容器监控(十)--技术流ken
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. "/home/weave/entrypo…" minutes ago Up minutes weavescope
9c0b7af8f210 busybox "sh" minutes ago Up minutes b10
39e40500da10 busybox "sh" minutes ago Up minutes b9
3f5f98e0c5d2 busybox "sh" minutes ago Up minutes b8
a0cef436f61a busybox "sh" minutes ago Up minutes b7
top
如果想知道某个容器中运行了哪些进程,可以执行如下的命令:
[root@host1 ~]# docker top 266910b9b
UID PID PPID C STIME TTY TIME CMD
root : pts/ :: 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 / .5MiB 0.01% 978B / 280B .97MB / .19kB
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 的特点如下:
监控信息全,包括 Linux 操作系统和容器。
界面交互性强。
不过 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容器监控(十)--技术流ken的更多相关文章
- 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken
前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...
- Docker容器监控(十)
docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器 [root ...
- 分布式系统监视zabbix讲解六之自定义监控项--技术流ken
宏 概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. ...
- zabbix分布式监控部署--技术流ken
前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...
- k8s集群监控(十一)--技术流ken
Weave Scope 在我之前的docker监控中<Docker容器监控(十)--技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 K ...
- Docker网络(五)--技术流ken
本章内容 1.dokcer默认自带的几种网络介绍 2. 自定义网络 3. 容器间通信 4. 容器与外界交互 docker网络分为单个主机上的容器网络和多个主机上的哇网络,本文主要讲解单个主机上的容器网 ...
- Docker之使用Dockerfile创建定制化镜像(四)--技术流ken
前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根 ...
- zabbix实现百台服务器的自动化监控--技术流ken
前言 最近有小伙伴通过Q联系到我说:公司现在有百多台服务器,想要部署zabbix进行监控,怎么实现自动化全网监控? 本篇博客将讲解一个我工作时做的一个实际项目,现在写出来供大家以后参考使用. 实现自动 ...
- Docker数据卷Volume实现文件共享、数据迁移备份(三)--技术流ken
前言 前面已经写了两篇关于docker的博文了,在工作中有关docker的基本操作已经基本讲解完了.相信现在大家已经能够熟练配置docker以及使用docker来创建镜像以及容器了.本篇博客将会讲解如 ...
随机推荐
- php基础-cookie&session
设置cookie //设置cookie setcookie('key', 'value', time() + 60, '/'); 设置session //必须开启session session_sta ...
- Android手机ROM刷机简介
这一段时间刷了一堆ROM,安卓系列.CM.Hero.OldMos.隔壁新出的Android2.0,反正都尝了一下鲜,手机的照相机也刷得再也启不来了(不知道什么原因,杯具).有话说:"久病成良 ...
- Django之csrf防御机制
1.csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站 ...
- 小米 OJ 编程比赛 01 月常规赛_灯_找规律
灯 序号:#125难度:有挑战时间限制:1000ms内存限制:32M 描述 一个屋子有 n 个开关控制着 n 盏灯,但奇怪的是,每个开关对应的不是一盏灯,而是 n-1 盏灯,每次按下这个开关,其对应 ...
- 在win10环境下搭建 solr 开发环境
在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050 在win10环境下搭建 solr 开发环境 安装环境 Windo ...
- 依赖注入[8]: .NET Core DI框架[服务消费]
包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IServiceProvider对象.当需要消费某个服务实例的时候,我们只需要指定服务类型调用IServicePr ...
- WinRAR存在严重的安全漏洞影响5亿用户
WinRAR可能是目前全球用户最多的解压缩软件,近日安全团队发现并公布了WinRAR中存在长达19年的严重安全漏洞,这意味着有可能超过5亿用户面临安全风险. 该漏洞存在于所有WinRAR版本中包含的U ...
- [Swift]LeetCode103. 二叉树的锯齿形层次遍历 | Binary Tree Zigzag Level Order Traversal
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...
- [Swift]LeetCode347. 前K个高频元素 | Top K Frequent Elements
Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...
- 使用google搜索时的10个小技巧!
为大家分享一些google的技巧,很多工作了好几年的同学还不知道如何高效的利用这些技巧,希望同学们掌握!此为google的技巧,百度现在也基本上都实现了这些功能. 使用搜索引擎的10个搜索技巧 ...