Linux服务器监控Laravel应用性能
一 监控分层与总体思路
- 建议从三层入手:
- 系统层:CPU、内存、磁盘 I/O、网络、连接数等基础资源;
- 应用层:请求耗时、慢查询、队列吞吐、异常与错误;
- 外部可达性与可用性:端口存活、HTTP 200/5xx、SSL 证书到期等。
- 常用工具组合:
- 系统层:top/htop、vmstat、iostat、sar、mpstat、free、netstat;
- 应用层:Laravel Telescope、Laravel Horizon、Laravel Pulse、Sentry、New Relic/Datadog APM、Blackfire/xhprof;
- 自托管可视化:Prometheus + Grafana;
- 进程与可用性:Supervisor、UptimeRobot。
二 系统层监控与告警
- 快速排查命令(按需选用):
- 实时资源:top/htop(进程 CPU/内存)、free -m(内存)、vmstat 1 5(系统整体)、iostat -x 1(磁盘 I/O)、mpstat(多核 CPU)、sar(历史统计,需安装 sysstat)、netstat(连接与端口)。
- 持续可视化与阈值告警:
- 自托管:Prometheus 采集(配合 Node Exporter 等导出器)+ Grafana 仪表盘 + Alertmanager 规则(如 CPU 持续 >80% 达 10 分钟触发)。
- 开箱即用:Netdata(默认 19999 端口,秒级刷新,含 PHP-FPM/MySQL 插件)。
- 可用性:UptimeRobot 做 HTTP/端口探活与通知。
三 应用层监控 Laravel 专用工具
- 开发/轻量生产调试:
- Laravel Telescope:请求、异常、数据库查询、队列、邮件等面板;安装:composer require laravel/telescope && php artisan telescope:install && php artisan migrate;生产务必限制访问与敏感数据。
- Laravel Debugbar:浏览器侧展示 SQL/耗时/内存,开发环境使用,生产禁用(APP_DEBUG=false)。
- 队列监控:
- Laravel Horizon:Redis 队列仪表盘与配置;安装:composer require laravel/horizon && php artisan horizon:install && php artisan horizon。
- 官方实时统计:
- Laravel Pulse(≥ Laravel 10.25):用户活跃、慢请求、异常、队列吞吐;安装:composer require laravel/pulse && php artisan pulse:install。
- 错误与性能剖析:
- Sentry:异常捕获与上下文;
- New Relic/Datadog APM:事务追踪、慢端点、依赖调用链;
- Blackfire/xhprof:代码级性能剖析与对比。
四 自托管指标与可视化方案 Prometheus Grafana
- 架构与采集:
- Prometheus 拉取时序数据;系统层用 Node Exporter,数据库用 mysqld_exporter,应用层在 Laravel 中集成 promphp/prometheus_client_php 暴露自定义指标(如 http_requests_total)。
- 可视化与告警:
- Grafana 导入或自建仪表盘展示 QPS、P95/P99、错误率、队列长度、慢查询 等;Alertmanager 配置阈值与通知渠道(邮件/Slack/企业微信)。
- 适用场景:需要可控、可扩展、可二次开发的一体化监控平台。
五 生产落地与告警最佳实践
- 安全与合规:
- 生产关闭 APP_DEBUG;Telescope 仅内网/授权访问;日志与敏感信息脱敏。
- 进程保障:
- 使用 Supervisor 守护 PHP-FPM/队列,异常自动重启并记录状态。
- 告警策略:
- 分层阈值(系统/应用/可用性),避免“告警疲劳”;例如:CPU >80% 持续 10 分钟、P95 >1s、队列失败率 >1%、磁盘 >90%、SSL <30 天 到期。
- 版本对比与压测:
- 使用 Blackfire 或基准测试对比优化前后性能;定期回归关键路径。
- 建议工具组合:
- 初创/中小团队:Telescope/Pulse + Server Monitor + UptimeRobot;
- 中大型/自运维:Prometheus + Grafana + Alertmanager + New Relic/Datadog;
- 极致实时与深度追踪:New Relic APM + Blackfire。