Debian系统Laravel如何监控
导读:Debian 上监控 Laravel 的实用方案 一 监控分层与总体思路 建议将监控分为四层: 基础设施层:CPU、内存、磁盘、网络、连接数等; 进程与队列层:确保 PHP-FPM、Nginx/Apache、队列 Worker 持续可用...
Debian 上监控 Laravel 的实用方案
一 监控分层与总体思路
- 建议将监控分为四层:
- 基础设施层:CPU、内存、磁盘、网络、连接数等;
- 进程与队列层:确保 PHP-FPM、Nginx/Apache、队列 Worker 持续可用;
- 应用与业务层:请求性能、异常、慢查询、队列吞吐;
- 外部可达性与告警:HTTP 可用性、证书过期、磁盘阈值、服务宕机等。
- 生产环境务必关闭 APP_DEBUG=true,避免泄露敏感信息;仅在内网或受控环境启用调试类工具。
二 基础设施与进程监控
- 系统资源与进程:使用 top/htop 实时查看资源占用;按需安装 atop/vmstat/iostat 做更细的 I/O 与 CPU 分析。
- Web 服务探针:在 Nginx 启用 ngx_http_stub_status_module 获取连接与请求统计,便于判断吞吐与排队。
- 进程守护:用 Supervisor 管理队列与常驻进程,确保崩溃自动拉起;示例配置与常用命令如下(请按实际路径与用户调整):
- 配置 /etc/supervisor/conf.d/laravel-worker.conf
[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3 autostart=true autorestart=true user=www-data numprocs=4 redirect_stderr=true stdout_logfile=/path/to/your/laravel/project/storage/logs/worker.log stopwaitsecs=3600 - 常用命令
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:* sudo supervisorctl status
- 配置 /etc/supervisor/conf.d/laravel-worker.conf
- 可用性与健康检查:用 Monit 对进程与端口做存活探测并在异常时重启;也可用 UptimeRobot 做外网 HTTP 拨测。
- 定时任务:确保系统 Cron 每分钟执行 Laravel 调度器:
* * * * * cd /path/to/your/laravel/project & & php artisan schedule:run > > /dev/null 2> & 1。
三 应用性能与错误监控
- Laravel 原生与官方工具:
- Laravel Telescope:开发/轻量生产调试利器,覆盖请求、异常、查询、队列、邮件等;生产需限制访问权限。
- Laravel Horizon:Redis 队列仪表盘与均衡,监控吞吐、失败、运行时分布。
- Laravel Pulse(Laravel 10.25+):轻量实时应用监控,覆盖用户活跃、慢请求、异常与队列。
- 错误与性能 APM:
- Sentry:异常跟踪与告警,快速定位线上错误。
- New Relic / Datadog:代码级事务追踪、错误分析、数据库与外部调用洞察,适合全链路性能观测。
- 日志与实时查看:Laravel 日志位于 storage/logs/laravel.log,可用
tail -f实时排查。
四 自托管指标与可视化
- Prometheus + Grafana:
- 组件:node_exporter(主机)、mysqld_exporter(数据库)、Prometheus(时序库)、Grafana(可视化与告警面板)。
- Laravel 侧可用 promphp/prometheus_client_php 暴露自定义指标(如 HTTP 请求计数、业务关键指标)。
- NetData:开箱即用的实时仪表板(约 1 秒刷新),覆盖系统与应用层指标,访问 http://your-server:19999。
五 落地配置与告警建议
- 建议的最小闭环:
- 基础设施:部署 node_exporter,在 Grafana 建立主机与数据库面板;
- 进程:用 Supervisor 管理 queue:work,设置 numprocs 与日志轮转;
- 应用:接入 Sentry(错误)、New Relic/Datadog(APM),开发/预发可加 Telescope;
- 队列:使用 Horizon 观察吞吐与失败任务;
- 可用性:配置 Monit 对进程/端口做自愈,配置 UptimeRobot 对外拨测;
- 告警:对以下场景设置阈值告警——CPU/内存持续高占用、磁盘使用率阈值、PHP-FPM 进程异常退出、队列积压增长、HTTP 5xx 增多、证书即将过期。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统Laravel如何监控
本文地址: https://pptw.com/jishu/764434.html
