Ubuntu如何监控Laravel应用性能
导读:Ubuntu 监控 Laravel 应用性能 一 监控分层与总体思路 建议采用分层监控:系统层(CPU、内存、磁盘、网络)、服务层(PHP‑FPM、Nginx/Apache、数据库、队列)、应用层(Laravel 日志、异常、慢请求、队列...
Ubuntu 监控 Laravel 应用性能
一 监控分层与总体思路
- 建议采用分层监控:系统层(CPU、内存、磁盘、网络)、服务层(PHP‑FPM、Nginx/Apache、数据库、队列)、应用层(Laravel 日志、异常、慢请求、队列)、可用性层(外部拨测)。
- 在 Ubuntu 上,系统层可用 top/htop、vmstat、iostat 等工具;应用层结合 Laravel Telescope/Horizon 与 日志 tail -f /storage/logs/laravel.log 快速定位问题;队列与常驻进程用 Supervisor 守护与自动重启,确保稳定性。
二 快速上手 原生与开箱即用的工具
- Laravel Telescope:开发/预发布环境的“全栈观察窗”,覆盖请求、异常、数据库查询、队列、邮件等。安装与启用:
- composer require laravel/telescope
- php artisan telescope:install
- php artisan migrate
- 生产环境务必限制访问(如仅内网或加认证中间件),避免敏感数据外泄。
- Laravel Horizon:Redis 队列的实时仪表盘与配置中心,监控任务吞吐量、失败重试、运行时分布等。
- composer require laravel/horizon
- php artisan horizon:install
- 配置队列进程数与平衡策略,生产通过 horizon 命令启动与守护。
- 日志与实时排查:
- tail -f /storage/logs/laravel.log 实时查看错误与关键业务日志;
- 结合 Monolog 将日志发送到外部(如 Papertrail/Loggly)便于集中化检索与告警。
三 生产级 APM 与云端监控
- New Relic:代码级事务追踪、慢事务/慢 SQL、错误与用户会话分析。
- 安装 APM PHP 扩展与 Laravel 集成包,配置 NEW_RELIC_LICENSE_KEY 与 NEW_RELIC_APP_NAME 即可上报;适合需要深度链路追踪与告警的企业环境。
- Datadog APM + 日志/基础设施:自动服务拓扑、异常基线、全链路可观测。
- 安装 datadog/dd-trace 并设置 DD_SERVICE/DD_ENV 等环境变量,几分钟内可在 Datadog 看到请求、数据库、外部依赖性能与错误。
- Scout APM:面向 PHP/Laravel 的轻量 APM,擅长发现 N+1 查询 与 慢查询。
- 在 .env 中配置 SCOUT_MONITOR=true、SCOUT_KEY、SCOUT_NAME,部署后约 5 分钟 出数据,适合快速定位性能回退与热点端点。
四 自托管可观测性 指标 日志 追踪一体化
- Prometheus + Grafana:自建时序监控与可视化,灵活定制仪表盘与告警规则。
- 组件建议:Node Exporter(主机指标)、mysqld_exporter(数据库)、应用侧集成 promphp/prometheus_client_php 暴露自定义指标(如 HTTP 请求计数/延迟);Grafana 做统一可视化与阈值告警。
- Laravel Pulse(Laravel 官方实时应用监控,要求 Laravel 10.25+):聚焦用户活跃、慢请求、异常与队列吞吐,低门槛接入。
- composer require laravel/pulse
- php artisan pulse:install
- 服务器健康检查:Spatie Laravel Server Monitor
- 支持证书过期、磁盘空间、服务存活等检查,通知可对接 Slack/邮件/Telegram,用于保障底层资源与依赖可用性。
- 实时可视化与系统全景:NetData
- 一键安装,提供 1 秒级 刷新面板,覆盖 CPU/RAM/磁盘 IO、MySQL/PHP‑FPM 状态、网络等,适合作为“第一视角”运维看板。
五 部署与告警最佳实践
- 进程与队列守护:使用 Supervisor 管理队列与自定义常驻进程,配置 autorestart、stdout/stderr 日志与监控告警,确保异常退出能自动恢复。
- 可用性拨测:接入 UptimeRobot 等外部监控,对关键域名/接口做 HTTP/HTTPS 拨测与状态页告警,弥补仅内网可观测的盲区。
- 安全与合规:生产环境关闭 APP_DEBUG,为 Telescope/Horizon 设置强认证与 IP 白名单;APM/日志上报遵循最小权限与脱敏原则。
- 告警分层:系统层(CPU/内存/磁盘阈值)、服务层(PHP‑FPM 5xx、队列积压)、应用层(慢请求/异常激增)、可用性层(拨测失败);建议结合 Prometheus Alertmanager 或云端告警通道实现分级通知。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何监控Laravel应用性能
本文地址: https://pptw.com/jishu/748950.html
