监控Debian LAMP(Linux+Apache+MySQL/MariaDB+PHP)运行状态需覆盖系统资源、服务可用性、日志异常、网络流量等维度,以下是具体方法:
命令行工具无需额外安装复杂软件,适合快速查看系统状态:
top
/htop
:实时显示进程的CPU、内存占用率及系统负载。htop
(需安装:sudo apt install htop
)比top
更直观,支持鼠标操作和排序。vmstat
:查看虚拟内存、进程、CPU活动等统计信息,常用命令:vmstat 1 5
(每5秒刷新一次)。iostat
:监控磁盘I/O和CPU使用率(需安装sysstat
包:sudo apt install sysstat
),命令:iostat -xz 1
。df -h
:查看磁盘空间使用情况,避免因磁盘满导致服务崩溃。netstat
/ss
:查看网络连接状态(如监听端口、连接数),命令:netstat -tulnp
(或ss -tuln
)。journalctl
:查看systemd日志(如Apache、MySQL错误日志),命令:journalctl -u apache2 -xe
(过滤Apache错误日志)。日志是排查问题的关键,需重点监控Apache、MySQL、PHP的错误日志:
tail -f
命令跟踪日志文件,例如:sudo tail -f /var/log/apache2/error.log # Apache错误日志
sudo tail -f /var/log/mysql/error.log # MySQL错误日志(路径可能因版本不同)
logrotate
防止日志文件过大,系统默认已配置Apache日志轮转(/etc/logrotate.d/apache2
),可自定义保留天数和压缩规则。ELK Stack
(Elasticsearch+Logstash+Kibana)或Graylog
收集、分析日志,实现可视化检索和报警(适合大规模环境)。图形化工具适合运维人员快速掌握整体状态,支持报警和历史数据查询:
针对复杂环境,可选择以下方案实现全面监控:
设置报警机制,避免问题扩大:
*/5 * * * * root /usr/bin/top -bn1 | grep "Cpu(s)" >> /var/log/cpu_usage.log
通过以上方法,可全面监控Debian LAMP的运行状态,及时发现并解决问题,确保服务器稳定运行。