监控目标与总体架构
快速落地步骤
sudo systemctl start php-fpm && sudo systemctl enable php-fpmsudo systemctl status php-fpm、sudo tail -f /var/log/php-fpm/error.logtop/htop、ps aux | grep php、ss -tulpen | grep :9000(FPM 默认端口 9000)。location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; }http://your_server_ip/nginx_status 查看 Active connections、Reading、Writing、Waiting 等指标。sudo yum install goaccessgoaccess /var/log/nginx/access.log -aslowlog = /var/log/php-fpm/www-slow.log、request_slowlog_timeout = 5ssudo systemctl restart php-fpmsudo tail -f /var/log/php-fpm/www-slow.logslow_query_log = 1、slow_query_log_file = /var/log/mysql/slow-query.log、long_query_time = 1深入分析与 APM 方案
关键指标与阈值建议
| 维度 | 关键指标 | 建议阈值/动作 |
|---|---|---|
| PHP-FPM | pm.max_children 利用率、进程队列、慢请求数 | 利用率长期 > 80% 或队列堆积:调大 pm.max_children / pm.start_servers / pm.min_spare_servers / pm.max_spare_servers;优化慢请求 |
| Nginx | Active connections、Reading/Writing/Waiting、5xx 比例 | 5xx 突增或 Waiting 持续偏高:检查后端 FPM 与数据库、优化慢接口 |
| 应用 | 平均响应时间、P95/P99、错误率 | P95 持续上升或错误率 > 1%:结合日志与 APM 定位瓶颈 |
| 数据库 | 慢查询数、查询耗时 | 开启慢查询日志,针对 TOP SQL 建立索引/改写;必要时分库分表 |
| 系统 | CPU、内存、I/O、网络 | CPU > 80% 持续 5 分钟或内存紧张:扩容实例、优化代码/SQL、启用缓存 |
告警与可视化