Docker学习(8) 容器监控

容器监控

1、Docker监控命令

在容器中,常通过执行命令或第三工具获取数据并呈现给用户,安装完成的Docker自带监听命令

1-1 docker ps 命令
  • docker ps 查看容器状态
[root@docker01 ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                   CREATED      STATUS         PORTS                                       NAMES
210aaee0bd60   registry   "/entrypoint.sh /etc…"   3 days ago   Up 8 minutes   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry-TLS
[root@docker01 ~]# 
  • docker container ls 命令也可以达到相同效果
[root@docker01 ~]# docker container ls 
CONTAINER ID   IMAGE      COMMAND                   CREATED      STATUS         PORTS                                       NAMES
210aaee0bd60   registry   "/entrypoint.sh /etc…"   3 days ago   Up 9 minutes   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry-TLS
[root@docker01 ~]# 

注:可能失败,需更新docker

1-2 docker top命令
  • docker top 查看进程
[root@docker01 ~]# docker top 21
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1820                1800                0                   11:58               ?                   00:00:00            registry serve /etc/docker/registry/config.yml

docker top +ID,查看容器进程

  • 也可添加容器名称
[root@docker01 ~]# docker container top registry-TLS
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1820                1800                0                   11:58               ?                   00:00:00            registry serve /etc/docker/registry/config.yml
[root@docker01 ~]# 
  • docker top 添加参数,显示特定进程信息,-u为例
[root@docker01 ~]# docker container top registry-TLS -u
USER                PID                 %CPU                %MEM                VSZ                 RSS                 TTY                 STAT                START               TIME                COMMAND
root                1820                0.0                 0.7                 122756              13796               ?                   Ssl                 11:58               0:00                registry serve /etc/docker/registry/config.yml
[root@docker01 ~]# 

-u:将容器的进程信息以用户为主的格式输出

1-3 docker stats命令

docker stats命令用于查询各项资源消耗情况

[root@docker01 ~]# docker stats
CONTAINER ID   NAME           CPU %     MEM USAGE / LIMIT     MEM %     NET I/O      BLOCK I/O     PIDS
210aaee0bd60   registry-TLS   0.03%     7.664MiB / 1.777GiB   0.42%     1.1kB / 0B   43.3MB / 0B   7
CONTAINER ID   NAME           CPU %     MEM USAGE / LIMIT     MEM %     NET I/O      BLOCK I/O     PIDS

在终端通过一个动态列表显示出各个容器资源使用情况

此处有不足,只显示容器ID,不显示容器名,但只要在命令中添加容器名称,即可指定容器信息

[root@docker01 ~]# docker stats registry-TLS
CONTAINER ID   NAME           CPU %     MEM USAGE / LIMIT     MEM %     NET I/O      BLOCK I/O     PIDS
210aaee0bd60   registry-TLS   0.03%     7.668MiB / 1.777GiB   0.42%     1.1kB / 0B   43.3MB / 0B   7
CONTAINER ID   NAME           CPU %     MEM USAGE / LIMIT     MEM %     NET I/O      BLOCK I/O     PIDS

2、Sysdig

systig,一款强大的命令行监控工具,因其轻量级深受大众喜欢,sysdig相当于一个放大镜,可以让用户更加清晰的观察宿主机与容器之间的各项行为,它相当于多种Linux监控工具集合,如:strace,htop,lsof等

3、Weave Scope

3-1 简介:

Weave Scope是Docker和Kubernetes的可视化监控工具,它提供了至上而下的集群基础设施和应用的完整视图,使用户能够轻松对分布式的容器化应用进行实时监控和问题诊断。

Weave Scope由两部分组成:Probe(或Agent)和App。Probe负责收集容器和宿主的信息,并发送给App;App则负责处理这些信息,并生成相应的报告,以交互式的形式展示。通过Weave Scope,用户可以直观地理解、监视和控制基于容器化微服务的应用程序。

此外,Weave Scope还具备一系列功能特性,如自动生成应用程序的映射、提供交互式拓扑界面、图形和表格模式、灵活的过滤和强大的搜索功能、实时的应用和容器指标、对容器进行故障排除和管理,以及使用插件API生产自定义指标等。

  • 其提供的功能包括:

交互式拓扑界面 图形模式和表格模式 过滤功能 搜索功能 实时度量 容器排错 插件扩展

  • Weave Scope由App和Probe两部分组成:

Probe 负责收集容器和宿主的信息,并发送给 App App 负责处理这些信息,并生成相应的报告,并以交互界面的形式展示

3-2 安装:
3-2-1 安装Weave Scopea
[root@wangliukun ~]#  curl -L https://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:16 --:--:--     0


发现报错:

curl: (35) Encountered end of file或者 0curl: (7) Failed connect to github.com:443; 拒绝连接

解决:

我这里重新指定了一下

[root@wangliukun ~]# curl --tlsv1.2 https://example.com

重新安装:

[root@wangliukun ~]#  curl -L https://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
curl: (51) Unable to communicate securely with peer: requested domain name does not match the server's certificate.

发现报错:

curl: (51) Unable to communicate securely with peer: requested domain name does not match the server's certificate.

解决:

将https改为http,重新下载

[root@wangliukun ~]#  curl -L http://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:12 --:--:--     0
100 11259  100 11259    0     0    587      0  0:00:19  0:00:19 --:--:--  2697
3-2-2 赋予脚本可执行

Weave Scope安装包本质是一个脚本,所以需要赋予执行权限

[root@wangliukun ~]# chmod a+x /usr/local/bin/scope 
[root@wangliukun ~]# 
3-2-3 执行脚本
[root@wangliukun ~]# scope launch
Unable to find image 'weaveworks/scope:1.13.2' locally
1.13.2: Pulling from weaveworks/scope
ba3557a56b15: Pull complete 
3ac4c0e9800c: Pull complete 
d052e74a4dae: Pull complete 
aacb9bf49f73: Pull complete 
06841e6f61a9: Pull complete 
ee99b95c7732: Pull complete 
dd0e726a9a15: Pull complete 
05cb5f9d0d32: Pull complete 
e956cf3e716a: Pull complete 
Digest: sha256:8591bb11d72f784f784ac8414660759d40b7c0d8819011660c1cc94271480a83
Status: Downloaded newer image for weaveworks/scope:1.13.2
5f064b58ddd8449cdf20dd4481f640dd03e40eca6bed4fa85c8410ab160bd43e
Scope probe started
Weave Scope is listening at the following URL(s):
  * http://192.168.10.149:4040/

##可以看到宿主机增添了一个名为 weavescope的新容器,说明Weave Scope以容器的方式在宿主机中运行。


3-2-4 进入页面

http://192.168.10.149:4040/ 进入界面 ip+4040 4040为默认端口号

在weave Scope 界面中,宿主机上的容器被分为多个种类,默认不显示 weave scope 本身的容器。如果要查看所有容器,就需要在界面左下角的选项中进行操作

Status

CPU与内存的实时状态曲线图,

Info

镜像,镜像标签、命令等信息。

Processes

该容器中实时运行的进程信息。

Docker labels

维护人员或容器的启动命令等信息

mage

该容器的镜像信息。

tatus

CPU与内存的实时状态曲线图,

Info

镜像,镜像标签、命令等信息。

Processes

该容器中实时运行的进程信息。

Docker labels

维护人员或容器的启动命令等信息

Image

该容器的镜像信息。

上一章:私有仓库
下一章:kubernetes介绍

  • 42
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值