Docker监控
生产环境中监控容器的运行状况十分重要,通过监控我们可以随时掌握容器的运行状态,做到线上隐患和问题早发现,早解决。
docker stats命令
使用Docker自带的docker stats命令可以很方便地看到主机上所有容器的 CPU、内存、网络 IO、磁盘 IO、PID 资源的使用情况。下面我们可以具体操作看看。
首先在主机上使用以下命令启动一个资源限制为 1 核 2G 的 nginx 容器:
docker run --cpus=1 -m=2g --name=nginx -d nginx
容器启动后,可以使用docker stats命令查看容器的资源使用状态:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
520a56a8928d nginx 0.00% 9.602MiB / 2GiB 0.47% 1.19kB / 0B 0B / 8.19kB 9
从容器的运行状态可以看出,docker stats命令确实可以获取并显示 Docker 容器运行状态。但是它的缺点也很明显,因为它只能获取本机数据,无法查看历史监控数据,没有可视化展示面板。
因此,生产环境中我们通常使用另一种容器监控解决方案 cAdvisor。
cAdvisor监控
cAdvisor 是谷歌开源的一款通用的容器监控解决方案。cAdvisor 不仅可以采集机器上所有运行的容器信息,还提供了基础的查询界面和 HTTP 接口&#x