云服务器怎么监控?CPU、内存、带宽、磁盘监控方案
服务器上线后,监控是保障稳定运行的重要手段。CPU跑满、内存泄漏、带宽跑满、磁盘写满,这些问题如果不及时发现,可能导致服务中断。本文说明四个核心指标的监控方法,以及告警配置和常用监控工具。
一、为什么需要监控
监控的价值在于及时发现和定位问题。
第一是发现异常。服务器出问题时,用户往往比运维先发现。有了监控,运维可以第一时间收到告警,主动处理,而不是等用户投诉。
第二是定位瓶颈。业务变慢时,监控数据可以判断是CPU、内存、带宽还是磁盘的问题。有了数据,排查效率大幅提升。
第三是容量规划。监控数据可以判断当前配置是否合适。如果资源使用率长期偏低,可以降配;如果接近上限,需要升配。
第四是安全审计。监控可以发现异常登录、异常流量、异常进程,帮助识别安全事件。
二、CPU监控
CPU是服务器最重要的资源之一。监控CPU的核心指标包括使用率、负载、上下文切换。
使用率是最直观的指标。Linux下用top或htop查看,也可以看/proc/stat。使用率长期低于30%,说明CPU选高了;长期接近100%,说明CPU不够。
负载(load average)表示等待CPU处理的进程数。Linux下用uptime查看,三个数字分别表示1分钟、5分钟、15分钟的平均负载。负载超过CPU核心数,说明有进程在排队。
上下文切换表示CPU在不同进程之间切换的次数。频繁切换说明进程数过多或IO等待严重。用vmstat查看cs列。
告警配置建议:CPU使用率持续5分钟超过80%时告警,负载持续5分钟超过核心数时告警。
三、内存监控
内存不足比CPU不足更严重,因为内存耗尽可能触发OOM Killer,直接杀掉进程。
监控内存的核心指标包括使用率、可用内存、Swap使用、缓存。Linux下用free -h查看。
使用率计算要注意:Linux会把空闲内存用于文件缓存,这部分内存是可回收的。所以实际使用率应该是(总内存-可用内存)/总内存,而不是(总内存-空闲内存)/总内存。用free -h的available列更准确。
Swap使用是关键指标。如果Swap使用率上升,说明物理内存不足,系统在把内存页交换到磁盘。磁盘IO慢,Swap会导致性能明显下降。理想情况下Swap使用率应该为0。
告警配置建议:内存使用率持续5分钟超过80%时告警,Swap使用率超过10%时告警。
需要查看各机房的内存配置和实时价格,可以访问德阳电信云服务器产品页结合账号情况查看,该机房提供200G防御和大内存配置。
四、带宽监控
带宽跑满会导致用户访问慢或无法访问。监控带宽的核心指标包括入站带宽、出站带宽、连接数。
百脉云控制台提供带宽监控,可以查看实时带宽和历史带宽。如果带宽接近峰值,说明带宽不够,需要升级或接入CDN。
连接数也是重要指标。连接数暴增可能是正常业务增长,也可能是CC攻击或程序问题。用netstat -an | wc -l查看当前连接数,用ss -s查看连接统计。
告警配置建议:出站带宽持续5分钟超过峰值80%时告警,连接数超过预期上限时告警。
带宽监控要结合业务分析。如果是正常业务增长,升级带宽或接入CDN;如果是异常流量,排查是否被攻击。关于带宽选型的方法,可以参考云服务器带宽怎么选一文中关于带宽测算的说明。
五、磁盘监控
磁盘写满会导致服务异常,数据库无法写入,日志无法记录。
监控磁盘的核心指标包括使用率、IOPS、吞吐量、inode使用率。Linux下用df -h查看使用率,用iostat查看IOPS和吞吐量,用df -i查看inode使用率。
使用率是最基础的指标。建议磁盘使用率超过80%时告警,超过90%时紧急处理。清理日志、归档旧数据、扩容磁盘都是处理方式。
inode使用率容易被忽略。如果大量小文件占满inode,即使磁盘还有空间,也无法创建新文件。用df -i查看,inode使用率超过80%时告警。
IOPS和吞吐量反映磁盘性能。如果IOPS接近上限,说明磁盘成为瓶颈,需要优化查询或升级到NVME。百脉云十堰电信机房采用NVME存储,IOPS高,适合IO密集型业务。
告警配置建议:磁盘使用率超过80%时告警,inode使用率超过80%时告警,IOPS持续接近上限时告警。
六、常用监控工具
| 工具 | 类型 | 特点 |
|---|---|---|
| top/htop | 命令行 | 实时查看CPU、内存、进程 |
| vmstat | 命令行 | 查看CPU、内存、IO、上下文切换 |
| iostat | 命令行 | 查看磁盘IOPS和吞吐量 |
| iftop | 命令行 | 查看网络流量 |
| Netdata | 图形界面 | 实时监控,安装简单 |
| Prometheus+Grafana | 图形界面 | 功能强大,支持告警 |
| Zabbix | 图形界面 | 企业级监控,功能全面 |
七、告警配置的建议
第一是分级告警。根据严重程度分级,比如warning、critical。不同级别用不同的通知方式,warning发邮件,critical发短信或电话。
第二是设置合理的阈值。阈值太低会频繁告警,产生告警疲劳;阈值太高会漏报。建议根据业务特点设置,先用宽松阈值,观察一段时间后调整。
第三是告警收敛。同一问题重复告警时,合并为一条,避免告警风暴。比如CPU持续高,不要每分钟发一次,而是每30分钟发一次。
第四是告警责任人。每条告警要有明确的责任人,避免告警发出后无人处理。建议值班制度,7x24小时有人响应。
第五是告警处理记录。记录每次告警的处理过程,便于事后复盘。如果同一问题反复告警,说明根因没解决。
八、小结
云服务器监控的核心指标是CPU、内存、带宽、磁盘。CPU看使用率和负载,内存看使用率和Swap,带宽看出站流量和连接数,磁盘看使用率和IOPS。监控工具可以选择命令行工具或图形界面工具,根据团队能力选择。告警配置要分级、设置合理阈值、收敛告警、明确责任人。建议开通服务器后立即配置监控,定期查看数据,根据监控调整配置。德阳电信200G防御机房配置完整,适合对稳定性有要求的业务。