内容正文:
课程名称
第9章 容器监控
计划学时
2学时
内容分析
本章主要介绍Docker监控命令、Sysdig、Weave Scope
教学目标
与教学要求
要求学生了解容器监控原理、掌握Docker监控命令的用法、熟悉第三方容器监控软件
教学重点
Docker监控命令、Sysdig、Weave Scope
教学难点
Sysdig、Weave Scope
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(Docker监控命令、Sysding)
了解容器知识
1.介绍本书,引出本课时的主题
在企业中,通常业务是不允许随意停止的,否则将给企业带来巨大的经济损失。运维工程师要保证业务正常运行,就必须利用工具时刻监控业务的运行状态,容器中的业务也不例外。除了容器自身的监控命令外,还有一些针对容器的动态特征而开发的第三方监控工具。本章将对容器监控及其相关内容进行详解。
2.明确学习目标
(1) 能够掌握docker ps命令
(2) 能够掌握docker top命令
(3) 能够掌握docker stats命令
(4) 能够掌握Sysdig
知识讲解
· docker ps命令
docker ps命令是第4章中讲过的命令,用来查看容器状态,示例代码如下:
另外,通过docker container ls命令也可以达到相同的效果,示例代码如下:
注意,若是docker container ls命令执行失败,更新Docker版本即可。
· docker top命令
docker top命令用于查看容器中的进程,示例代码如下:
以上示例通过docker top命令添加容器ID号查看到了容器内进程。
除此之外,还可以在命令中添加容器名称,达到相同的效果,示例代码如下:
在docker top命令中添加参数即可显示特定的进程信息,此处以-u参数为例,示例代码如下:
以上示例通过给docker top命令添加-u参数,将sysdig容器的进程信息以用户为主的格式显示出来。
· docker stats命令
docker stats命令用于查询容器的各项资源的消耗情况,示例代码如下:
以上示例执行了docker stats命令,在终端通过一个动态列表显示出各个容器的资源使用情况,如cpu使用率、内存、容器网络等信息。在没有限制容器内存的情况下,此处将会显示宿主机的内存。
此处的动态列表有一项明显的不足,就是只能显示容器ID号,不显示容器名称。但只要在命令中添加容器名称,即可查看指定容器的信息,示例代码如下:
Docker自带的容器监控命令能够灵活捕捉容器的实时信息,且使用方便。但它们无法反映容器资源占用的趋势,且只能显示有限的数据。
· Sysdig
Sysdig是一款命令行监控工具,因其轻量级的特点深受广大用户的喜爱。Sysdig就像放大镜,使用户可以更清晰地看到宿主机与容器的各项行为。它相当于多种Linux监控工具的合集,如strace、htop、lsof等,将这些工具的功能及查询结果整合到同一个界面中,供用户操作。
Sysdig为在Docker Hub中提供了容器镜像,用户可以将Sysdig以容器的形式运行,示例代码如下:
以上示例中,Sysdig容器以挂载宿主机目录的方式收集系统信息,并给予其足够的系统权限。注意,该命令中必须使用绝对路径,否则会在执行时出错。
容器启动后将直接进入容器终端,若通过Ctrl+P+Q组合键退出容器或者容器在后台运行,通过exec命令即可进入Sysdig容器,示例代码如下:
在Sysdig容器中,通过以下命令启动Sysdig监控:
执行成功之后,将显示Sysdig功能界面,如图所示。
功能界面中不仅有各项资源的使用信息,下方还有各类选项,用户可以根据不同要求从不同角度去监控不同类型的资源。
按F2键或者单击Views选项,进入监控选项列表,如图所示。
在该界面中,左边列出了Sysdig的各个监控项,右边是关于监控项的说明。通过键盘方向键即可移动界面中的光标,从而切换监控项。
第二课时
(Weave Scope)
回顾内容
1. 回顾上节内容,引出本课时主题。
上节已经介绍了docker ps命令、docker top命令、docker stats命令和Sysdig,下面开始讲解安装Weave Scope、监控容器、监控宿主机和多宿主机监控。从而引出本节的内容。
2.明确学习目标
(1) 能够掌握安装Weave Scope
(2) 能够掌握监控容器
(3) 能够掌握监控宿主机
(4) 能够掌握多宿主机监控
知识讲解
· 安装Weave Scope
首先,下载Weave Scope的二进制安装包到指定的路径下,示例代码如下:
Weave Scope安装包的本质是一个脚本,所以