在CentOS上部署LNMP(Linux, Nginx, MySQL, PHP)环境后,监控资源使用情况是非常重要的,这有助于确保系统的稳定性和性能。以下是一些常用的资源监控方法:
实时资源监控命令行工具
- top/htop:动态查看CPU、内存、进程资源占用。htop是top的增强版,支持颜色高亮、鼠标操作、进程树视图。
- atop:记录历史资源使用数据,支持回放,关键指标包括CPU、内存、磁盘、网络、进程级详情。
- glances:跨平台监控工具,支持Web界面,数据包括CPU、内存、磁盘、网络、传感器温度等。
系统资源分析工具
- vmstat:查看虚拟内存、CPU上下文切换、磁盘IO。
- iostat:监控磁盘I/O和CPU使用率。
- sar:长期性能数据收集,生成日报表。
网络监控工具
- iftop:实时显示网络带宽使用(按主机/连接排序)。
- nload:简洁的实时流量监控(支持多网卡分屏)。
- nethogs:按进程统计网络带宽使用。
- ss/netstat:查看网络连接、端口监听状态,推荐使用ss,因为它更高效。
磁盘I/O监控工具
- iotop:类似top,但监控磁盘I/O(按进程排序)。
- iostat:结合-d参数,每2秒显示磁盘吞吐量。
进程级调试工具
- strace:跟踪进程的系统调用和信号。
- perf:性能分析工具,支持CPU缓存、调度事件跟踪。
- bpftrace:基于eBPF的高级内核跟踪(需Linux 4.x+)。
日志分析工具
- journalctl:查询systemd日志。
- Logwatch/GoAccess:Logwatch生成每日日志摘要,GoAccess实时Web日志分析。
综合监控方案
- Prometheus + Grafana:时序数据库,通过exporter采集数据,Grafana用于数据可视化仪表盘,适用于分布式系统监控和自定义告警。
- Zabbix/Nagios:企业级监控,支持服务器、网络设备、应用的健康检查,特点包括告警通知、自动化巡检、分布式监控。
- Netdata:实时仪表盘,开箱即用,低资源消耗。
快速检查脚本
- 快速诊断:htop + iftop + iotop。
- 长期分析:Prometheus + Grafana。
- 日志排查:journalctl + GoAccess。
根据您的需求,可以选择合适的工具进行资源监控。对于简单的监控需求,命令行工具可能已经足够。而对于更复杂的环境,建议使用集成监控系统,如Zabbix或Prometheus与Grafana的组合。