网站首页 > java教程 正文
docker资源的监控方案
如何监控docker容器整体的资源利用率呢?如何监控独立docker容器的资源利用率呢?
先说结论:前者用kubesphere或者rancher(大厂都是自己搞的监控系统);
后者使用命令docker stats 容器id
有一个坑需要大家了解! 如果使用命令 docker exec 容器id /bin/bash 在容器中执行命令,并使用top进行监控,监控的是整个宿主机的资源!
详解docker stats
接下来我重点介绍一下docker stats命令的使用
默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容,输出结果如下:ctrl + c 终止命令输出。
输出结果的参数含义如下:
[CONTAINER ID]:显示容器的 ID。
[Name]:显示容器名称。
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I/O]:磁盘 I/O 数据。
[PIDS]:PID 号。
如果不想持续的监控容器使用资源的情况,可以通过 --no-stream 选项只输出当前的状态:
docker stats --no-stream 容器id
我们还可以格式化docker stats 的输出结果,例如只显示容器id和cpu的信息,可以执行如下命令
docker stats --format "{{.ID}}: {{.CPUPerc}}"
docker stats --format 详细参数介绍如下:
.Container Container name or ID
.Name Container name
.ID Container ID
.CPU Perc CPU 利用率
.MemUsage Memory 使用情况
.NetIO Network IO
.BlockIO Block IO
.MemPerc Memory percentage (Windows不可用)
.PIDs Number of PIDs (Windows不可用)
docker资源日志图像生成思路
如果我们想生成漂亮的图形界面,实现思路如下,
1.执行命令 docker stats --format "{{.Container}}: {{.CPUPerc}}">file , 生成cpu数据(同理生成内存、磁盘以及网络等数据)
2.然后解析file中的数据,生成图形界面(可以考虑python的 matplotlib库)
- 上一篇: 为什么建议一个容器中只运行一个进程
- 下一篇: Java 的标识符和关键字
猜你喜欢
- 2025-01-04 为什么建议一个容器中只运行一个进程
- 2025-01-04 JAVA网络编程基本功之Servlet与Servlet容器
- 2025-01-04 云原生的基于容器的开发:Quarkus改进了Java
- 2025-01-04 Java容器化参数配置最佳实践
- 2025-01-04 为啥Java应用迁移到容器后会出现OOM?
- 2025-01-04 Java并发容器及使用场景
- 2025-01-04 知识整理——Java 并发容器
- 2025-01-04 用项目案例彻底理解Spring IOC容器
- 2025-01-04 Java面试题:Spring容器启动流程是怎样的?
- 2025-01-04 Java 服务 Docker 容器化最佳实践
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)