首页主机资讯Ubuntu如何监控Laravel应用性能

Ubuntu如何监控Laravel应用性能

时间2025-11-17 14:38:04发布访客分类主机资讯浏览760
导读: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_KEYNEW_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
Ubuntu上如何设置Laravel定时任务 Laravel在Ubuntu上如何处理错误日志

游客 回复需填写必要信息