一、自带的监控命令
1.运行一个nginx服务
[root@master ~]# docker run -itd --name web -p 80:80 nginx
7a07a65976169f57ab370f42a38852a45c4a895266b85ab9a08ab65fca693c99
[root@master ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a07a6597616 nginx "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp web
2.浏览器访问
3.docker top命令
[root@master ~]# docker top web
UID PID PPID C STIME TTY TIME CMD
root 42115 42086 0 08:13 pts/0 00:00:00 nginx: master process nginx -g daemon off;
101 42182 42115 0 08:13 pts/0 00:00:00 nginx: worker process
4.docker stats命令
默认会显示一个实时变化的列表,展示每个容器的cpu使用率、内存使用量和可用量。
[root@master ~]# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
7a07a6597616 web 0.00% 1.438MiB / 3.682GiB 0.04% 9.18kB / 5.92kB 0B / 14.3kB 2
5.docker logs命令
[root@master ~]# docker logs web
...
192.168.229.1 - - [29/Mar/2021:12:14:26 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "http://192.168.229.187/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" "-"
...
二、sysdig(轻量级的系统监控程序)
1.运行sysdig镜像实例
[root@docker ~]# 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
2.如果下载插件失败可以运行下面的命令
root@6d37c6f2646e:/# sysdig-probe-loader
3.运行csysdig命令
root@e1b7bf293e05:/# csysdig
三、weave scope
图形化显示,能够直观的看到容器资源使用情况,便于理解监控和控制容器。
1.安装weave scope
注意:需要主机下载git。
[root@master ~]# yum -y install git
[root@master ~]# sudo curl -L git.io/scope -o /usr/local/bin/scope
[root@master ~]# sudo chmod a+x /usr/local/bin/scope
[root@master ~]# scope launch
...
Scope probe started
Weave Scope is listening at the following URL(s):
* http://192.168.229.187:4040/
2.查看容器
[root@master ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7458f4b8b71 weaveworks/scope:1.13.1 "/home/weave/entrypo…" 9 minutes ago Up 9 minutes weavescope
7a07a6597616 nginx "/docker-entrypoint.…" 32 minutes ago Up 32 minutes 0.0.0.0:80->80/tcp web
3.浏览器访问上述URL
注意:scope可以监控单台docker,也可以监控多台的docker,监控效果只需在运行scope launch+本机IP地址+其他IP地址,如果是多台的docker,在运行前,保证主机名不冲突。
4.监控多台命令
[root@master ~]# scope launch+本地IP+其他主机IP
注意:此服务会将宿主机的4040端口打开,使用此服务的人员可以访问,如果是集群外的其他IP地址,也能够访问此服务,而且scope目前没有关于USER访问限制。所以,想要使用此服务,必须严格管理宿主机的4040端口的访问。最好将默认的端口进行修改。
四、portainer可视化
1.运行命令
[root@master ~]# docker run -itd --name portainer -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
2.查看容器
[root@master ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5e4f60fc51f9 portainer/portainer "/portainer" 5 seconds ago Up 4 seconds 0.0.0.0:8088->9000/tcp portainer
d7458f4b8b71 weaveworks/scope:1.13.1 "/home/weave/entrypo…" 9 minutes ago Up 9 minutes weavescope
7a07a6597616 nginx "/docker-entrypoint.…" 32 minutes ago Up 32 minutes 0.0.0.0:80->80/tcp web
3.浏览器访问
(1)访问成功
(2)设置密码,创建用户
(3)连接本地的docker
(4)连接远端的docker
(5)主界面如下
4.查看各项资源情况