centos镜像如何进行性能监控
小樊
32
2025-12-21 16:53:59
CentOS 镜像性能监控实操指南
一 基础命令快速排查
- 系统负载与运行时间:使用 uptime 查看 1/5/15 分钟平均负载 与当前时间、登录用户数,用于快速判断系统是否过载。
- 内存与交换:使用 free -h 查看 总/已用/空闲/缓存/交换 等,识别内存压力与是否频繁换页。
- 磁盘空间与 inode:使用 df -h(人性化容量)与 df -i(inode 使用)排查磁盘满或 inode 耗尽问题。
- 进程与资源:使用 top(实时进程/CPU/内存)、ps -ef(全格式进程列表)定位异常进程。
- 网络概览:使用 ip a s 查看网卡与 ip -s link show <网卡> 查看收发包/错包统计;用 netstat -tulnp 或 ss -tuln 查看监听端口与连接状态。
二 深入性能观测工具
- 系统整体:vmstat 1 5(虚拟内存、进程、CPU、I/O 综合统计),dstat(多资源合并视图,便于横向对比)。
- CPU 细粒度:mpstat -P ALL 5(逐核利用率,识别单核瓶颈)。
- 磁盘 I/O:iostat -xz 1(需安装 sysstat,查看 await、r/s、w/s、util% 等判断磁盘饱和)。
- 进程 I/O:iotop(按进程统计读写,定位 I/O 大户)。
- 网络流量:iftop(按连接实时带宽),tcpdump -nr <文件>(抓包分析异常流量/握手问题)。
- 综合与历史:sar(来自 sysstat,可回看历史 CPU、内存、I/O 等,便于趋势分析)。
三 可视化与集中监控
- 本机 Web 可视化:Cockpit(CentOS 8 内置,CentOS 7 可加装,浏览器查看 CPU、内存、磁盘、网络与容器/服务)。
- 终端增强:glances(跨平台,终端内展示 CPU/内存/磁盘/网络/进程,支持告警与 Web)。
- 终端资源监控:nmon(交互式查看 CPU、内存、磁盘、网络,亦可导出数据)。
- 企业级集中监控:Zabbix(安装 Zabbix Server/Web/Agent,配置监控项、触发器与图形,适合多主机/告警)。
- 云原生与可扩展:Prometheus + Node Exporter(采集主机指标,配合 Grafana 可视化与告警)。
四 容器与镜像场景的监控要点
- 容器资源:在宿主机上用 docker stats 或 podman stats 实时查看容器 CPU%、内存%、网络 I/O、块 I/O。
- 容器事件与日志:使用 docker events、docker logs -f <容器> 或 podman logs -f <容器> 排查启动失败、重启与异常输出。
- 宿主机视角:对宿主机运行 top/vmstat/iostat 等,确认是否因宿主机资源争用导致容器性能异常。
- 镜像层面:镜像本身不运行,性能取决于运行实例与宿主机;建议在镜像中内置 健康检查 与 资源限制(如 Docker/Podman 的 --cpus、–memory),便于编排系统观测与限流。
五 快速排障命令清单
- 负载与内存:uptime;free -h
- 磁盘:df -h;df -i;du -sh <目录>
- CPU/进程:top;ps -ef;mpstat -P ALL 5
- I/O:vmstat 1 5;iostat -xz 1;iotop
- 网络:ip a s;ip -s link show <网卡>;ss -tuln;iftop;tcpdump -nr <文件>
- 历史与综合:sar;dstat
- 可视化/集中:Cockpit;glances;nmon;Zabbix;Prometheus