CentOS系统资源监控教学课程包含哪些关键内容?
CentOS系统资源监控全攻略:从入门到精通
咱搞服务器运维的,谁还没被CentOS系统资源监控这事儿折腾过?今天我就用大白话,结合自己踩过的坑,给大家唠唠这事儿到底该怎么整。

先说个真实案例,去年我们公司有个电商项目,双十一前三天服务器突然卡成PPT,订单处理延迟直接导致客户投诉,后来一查监控日志,发现CPU占用率飙到98%,内存泄漏把SWAP都撑爆了,这事儿给我整出心理阴影了,从那以后就死磕CentOS监控这块。
基础监控三板斧
-
top命令:这个必须会!输入top回车,瞬间就能看到CPU、内存、进程的实时状态,我习惯按"M"键按内存排序,按"P"键按CPU排序,有次发现有个PHP进程占着30%的CPU,直接kill -9干掉,服务器立马活过来了。
-
htop:比top更人性化,彩色界面看着就舒服,安装命令是yum install htop,用上下键选进程,F9直接杀进程,上周有个同事误启动了无限循环脚本,用htop一眼就看到那个疯狂增长的进程号。
-
vmstat:监控虚拟内存的神器,vmstat 1 5这个命令表示每秒采样一次,连续5次,有次发现swap in/out数值飙升,赶紧检查磁盘I/O,发现是日志文件没做轮转导致的。
进阶监控工具包
-
sar命令:系统活动报告工具,需要先安装sysstat包,sar -u 1 3能查看每秒CPU使用率,sar -r 1 3看内存,有次发现系统buffer/cache占用异常,通过sar -B 1 5发现是文件系统缓存策略配置问题。
-
iostat:监控磁盘I/O的利器,iostat -dx 1 5这个命令能显示每个磁盘的读写情况,有次发现/var分区读写延迟特别高,原来是日志文件没做分区隔离。
-
iftop:网络流量监控神器,安装后输入iftop -i eth0,立马能看到每个连接的实时带宽占用,有次发现有个IP在疯狂下载,直接在防火墙封掉,服务器带宽立马恢复正常。
可视化监控方案
-
Zabbix:企业级监控解决方案,部署稍微复杂点,但功能强大,上周刚用Zabbix设置了个磁盘空间预警,当/home分区使用率超过80%就自动发邮件,配置模板的时候记得把"Items"里的key改对,比如vfs.fs.size[/,free]这个key就是监控根分区剩余空间。
-
Prometheus+Grafana:现在最火的开源监控组合,Prometheus负责数据采集,Grafana负责可视化,上周刚用Grafana画了个CPU使用率的折线图,设置阈值线,当超过80%就变红,运维同事一眼就能发现问题。
-
Cacti:老牌监控工具,适合监控网络设备,上周用Cacti监控了核心交换机的端口流量,设置了个95%利用率的告警,再也不用半夜被电话叫醒了。
实战经验分享
-
监控指标设置:CPU重点关注%wa(等待I/O时间),内存关注cached和buffers,磁盘关注await时间,有次发现await时间超过20ms,检查后发现是RAID卡电池故障导致的。
-
告警策略:建议设置三级告警:70%黄色预警,85%橙色警告,95%红色警报,上周有个同事把所有告警都设置成红色,结果半夜收到200多封邮件,直接崩溃了。
-
日志分析:别忘了监控系统日志!上周通过/var/log/messages发现有个定时任务每分钟执行一次,原来是crontab配置写错了时间表达式。
避坑指南
-
别用top代替专业监控:top只能看实时数据,历史数据还得靠专业工具,有次系统崩溃后想查历史CPU使用率,发现根本没记录。
-
注意监控频率:监控太频繁会影响系统性能,建议关键指标每分钟采集一次,非关键指标5分钟一次。
-
做好权限控制:监控工具的web界面千万别用root账号登录,上周有个实习生用root登录Zabbix,差点把生产环境配置改乱了。
最后说句实在话,CentOS监控这事儿没有银弹,得根据业务特点定制方案,建议先从基础命令入手,再逐步过渡到可视化监控,监控不是目的,解决问题才是关键,上周我们通过监控提前发现数据库连接池耗尽的问题,避免了重大事故,这就是监控的价值所在。
现在我的运维笔记本里存着20多个监控脚本,从CPU温度到网络丢包率,从进程状态到磁盘健康度,应有尽有,建议大家也建立自己的监控知识库,遇到问题及时记录解决方案,毕竟,运维工作就是不断踩坑填坑的过程,而监控就是我们最好的护身符。
文章评论