容器监控
自带的子命令
# docker container ps
查看当前运行的容器
# docker contrainer ls
比ps更准确
# docker container top CONTAINER
查看容器中运行了那些进程
# docker container top sysdig -au
# docker container stats
显示每个容器各种资源的的使用情况
# docker container stats CONTAINER1 CONTAINER2
sysdig
一款轻量级的系统监控工具,同时还原生支持容器
sysdig 将一些工具集成到一个工具中,提供一个友好统一的操作界面(strace、tcpdump、htop、iftop、lsof)
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
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig
sysdig容器以privileged方式运行,而且读取操作系统/dev、/proc 等数据
启动后 通过以下进入容器
docker container exec -it sysdig bash
执行 csysdig 以交互方式启动sysdig
容器启动的方式依赖广域网 需要下载模块
weave scope
weave scope 的最大特点是会自动生成一张docker 容器地图
# curl -L git.io/scope -o /usr/local/bin/scope
# chmod +x /usr/local/bin/scope
# scope launch
cAdvisor
google开发的容器监控工具
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
Host_IP:8080
- 展示host和容器两个层次的监控数据
- 展示历史变化数据
只能监控一个host,但是可以将他的数据导出给第三方工具
我们把cAdvisor 定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据
porometheus 是一个非常优秀的监控工具 监控方案 prometheus 提供了监控数据搜集、存储、处理、可视化、告警一套完整的解决方案