Ubuntu如何监控Laravel应用状态
导读:Ubuntu下监控Laravel应用状态 一 监控分层与工具选型 应用内观测:使用 Laravel Telescope(开发/预发)、Laravel Horizon(队列可视化与指标)、Laravel 日志(storage/logs/la...
Ubuntu下监控Laravel应用状态
一 监控分层与工具选型
- 应用内观测:使用 Laravel Telescope(开发/预发)、Laravel Horizon(队列可视化与指标)、Laravel 日志(storage/logs/laravel.log)。
- 错误与性能追踪:接入 Sentry(异常告警)、New Relic / Datadog(APM、事务追踪、错误、数据库、外部依赖)。
- 进程与可用性:用 Supervisor 守护队列/自定义进程,用 systemd 托管应用或网关,用 UptimeRobot / Healthchecks 做外部可用性探测。
- 基础设施与可视化:系统资源用 top/htop/vmstat/iostat,指标与面板用 Prometheus + Grafana。
- 生产建议:开发环境用 Telescope 深入排查;预发/灰度接入 Sentry/APM;生产以 APM + 日志 + 进程守护 + 外部拨测的组合实现可观测与告警闭环。
二 快速落地步骤
- 应用内日志与实时查看
- 查看实时日志:tail -f storage/logs/laravel.log;按日轮转便于归档与检索。
- 增强日志:基于 Monolog 配置 Papertrail / Loggly 等第三方,集中化存储与告警。
- 队列与常驻进程守护
- 安装 Supervisor:sudo apt-get update & & sudo apt-get install -y supervisor。
- 示例配置 /etc/supervisor/conf.d/laravel-worker.conf:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/your-app/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=4
redirect_stderr=true
stdout_logfile=/var/www/your-app/storage/logs/worker.log
stopwaitsecs=3600 - 生效与查看:sudo supervisorctl reread & & sudo supervisorctl update & & sudo supervisorctl start laravel-worker:*;状态:sudo supervisorctl status。
- 外部可用性拨测
- 使用 UptimeRobot 对 /health 或首页做 1–5 分钟间隔的 HTTP 探测,失联即告警(邮件/Webhook/钉钉/企业微信)。
- 错误与性能 APM
- 接入 Sentry:安装包、配置 DSN、设置环境(如 production),异常自动上报并聚合。
- 接入 New Relic / Datadog:安装对应 PHP Agent,配置应用名/许可证,获取事务、慢查询、外部调用与错误分析面板。
三 关键配置与命令清单
- 日志实时查看:tail -f storage/logs/laravel.log;按日轮转与集中化由 Monolog 处理器完成。
- Supervisor 常用命令:
- 启动/重载/查看:sudo supervisorctl start laravel-worker:*;sudo supervisorctl reread & & sudo supervisorctl update;sudo supervisorctl status。
- 队列仪表板:部署 Laravel Horizon 后,访问 /horizon 查看队列长度、吞吐、失败重试、工作进程负载。
- 定时任务:确保系统 Cron 每分钟执行:* * * * * cd /var/www/your-app & & php artisan schedule:run > > /dev/null 2> & 1;可在日志中审计任务执行情况。
四 生产级监控方案建议
- 指标与可视化:以 Prometheus 采集应用/系统指标,Grafana 构建业务与基础设施面板(请求量、错误率、P95/P99、队列积压、CPU/内存/磁盘 IO、Nginx/数据库)。
- 可用性监控:在 UptimeRobot / Healthchecks 配置关键端点与健康检查,结合 告警路由(邮件、企业微信、钉钉、Slack)。
- 日志与追踪:集中化收集 laravel.log 与 worker.log,在 Sentry / New Relic / Datadog 中关联 trace_id / request_id,实现从错误到调用链的快速定位。
- 进程保障:用 Supervisor 守护队列与自定义命令;Web 层由 Nginx/php-fpm 的 systemd 单元或进程管理工具保障;异常自动重启与滚动升级。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何监控Laravel应用状态
本文地址: https://pptw.com/jishu/755698.html
