- 作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注
- 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元
- 个人主页:团儿.-CSDN博客
前言:
在当今快速变化的云计算和容器化技术领域中,Docker作为容器技术的佼佼者,已经广泛应用于开发、测试和生产环境中。随着Docker容器的普及,如何高效地监控和管理这些容器成为了运维团队面临的重要挑战。在众多监控工具中,Weave Scope凭借其强大的功能、直观的用户界面以及高度的可扩展性,脱颖而出,成为Docker监控领域的佼佼者。
Weave Scope不仅提供了对Docker容器的实时监控能力,还能够深入洞察容器的内部运行状况,包括网络拓扑、资源使用情况、进程信息等。通过Weave Scope,运维人员可以迅速定位并解决容器运行中的问题,提高系统的稳定性和可靠性。
本文旨在深入探讨Weave Scope在Docker监控中的应用与实践。我们将从Weave Scope的基本概念入手,逐步介绍其安装、配置、使用以及与其他监控工具的集成方法。同时,我们还将分享一些实际案例,展示Weave Scope在解决复杂监控问题中的独特优势。
无论您是Docker监控的新手,还是经验丰富的运维专家,本文都将为您提供宝贵的参考和启示。希望通过我们的努力,能够帮助您更好地掌握Weave Scope的使用技巧,提升Docker容器的监控和管理水平。
正文:
Docker的监控
Docker自带的监控命令
docker top #容器的动态进程
docker stats #列出每个容器的cpu、内存、io
docker logs #查看容器日志 emerg alert crit error warning notice info debug
一、sysdig
轻量级的系统监控程序
先跑一个nginx容器并访问
docker run -itd --name web1 -p 80 nginx
再跑一个web2容器
docker run -itd --name web2 -p 80 nginx
开启监控
通过网盘分享的文件:sysdig.tar
链接: https://pan.baidu.com/s/1HZRFuxiNm208OjBA5vjBVA 提取码: g5rd
导入:docker load -i sysdig.tar
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
//如果下载插件失败,可以运行下边的命令,重新下载
sysdig-probe-loader
//下载成功之后,可以运行sysdig命令,查看监控项
csysdig
sysdig容器是以privileged方式运行,而且会读取操作系统 /dev,/proc等数据,这是为了获取足够的系统信息。
csysdig
view
Containers
选择对应容器
sysdig的特点:
(1)监控信息全,包括Linux操作系统和容器
(2)界面交互性强
(3)缺点是sysdig显示的是实时数据,看不到变化和趋势。而且是命令行操作方式,需要ssh到host上执行,不是太方便
二.Weave scope
图形化的显示,能够直观的看到容器资源使用情况,便于理解,监控和控制容器
通过网盘分享的文件:scope
链接: https://pan.baidu.com/s/1Z4u2sXlgKvSJ6ffTu58vOA 提取码: c8g6
开两台docker分别拖scope包
再导入scope镜像
通过网盘分享的文件:scope.tar
链接: https://pan.baidu.com/s/1LRty-Q4qIYM8gcAFHTjqqw 提取码: sehg
docker load -i scope.tar导入
启动监控
scope launch
推荐安装命令,提供基本身份验证功能:
sudo curl -L https://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch -app.basicAuth -app.basicAuth.password 123456 -app.basicAuth.username user -probe.basicAuth -probe.basicAuth.password 123456 -probe.basicAuth.username user
使用 Scope:
成功启动scope后,可以在浏览器中方法http://ip:4040,如果端口没有修改默认是4040。之后输入用户名和密码进入监控首页
一般我们可以点击Container查看容器的情况,这里一般会列出你自己的容器和weave自带的容器,通过名字可以区别。点击相应容器可以对它进行在线bash操作,或者重启,暂停,关闭容器
点击Hosts按钮,可以对自己的主机进行监控和操作,当然也可以在线bash
点击by image可以看到自己现在docker中所有的镜像
设置安全的scope
docker rm -f weavescope
启动 (此命令添加了基本身份认证,密码,进行了声明)
scope launch -app.basicAuth -app.basicAuth.password 123456 -app.basicAuth.username user -probe.basicAuth -probe.basicAuth.password 123456 -probe.basicAuth.username user
PS: scope可以监控单台dockerhost,也可以监控多台的dockerhost,监控 效果只需在运行scope launch 本机IP地址 其他IP地址,不过需要注意的是如果是多台的dockerhost,在运行前,保证主机名不能冲突,区别主机名。
若要监控多台dockerhost 以docker01和docker02举例,需要分别运行scope launch 本地ip 另外一台主机ip来实现
两台均启动此命令
scope launch 192.168.8.20 192.168.8.30
期待您的关注~