首页主机资讯Debian系统Laravel如何监控

Debian系统Laravel如何监控

时间2025-12-05 09:33:04发布访客分类主机资讯浏览477
导读:Debian 上监控 Laravel 的实用方案 一 监控分层与总体思路 建议将监控分为四层: 基础设施层:CPU、内存、磁盘、网络、连接数等; 进程与队列层:确保 PHP-FPM、Nginx/Apache、队列 Worker 持续可用...

Debian 上监控 Laravel 的实用方案

一 监控分层与总体思路

  • 建议将监控分为四层:
    1. 基础设施层:CPU、内存、磁盘、网络、连接数等;
    2. 进程与队列层:确保 PHP-FPM、Nginx/Apache、队列 Worker 持续可用;
    3. 应用与业务层:请求性能、异常、慢查询、队列吞吐;
    4. 外部可达性与告警: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
      
  • 可用性与健康检查:用 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

五 落地配置与告警建议

  • 建议的最小闭环:
    1. 基础设施:部署 node_exporter,在 Grafana 建立主机与数据库面板;
    2. 进程:用 Supervisor 管理 queue:work,设置 numprocs 与日志轮转;
    3. 应用:接入 Sentry(错误)、New Relic/Datadog(APM),开发/预发可加 Telescope
    4. 队列:使用 Horizon 观察吞吐与失败任务;
    5. 可用性:配置 Monit 对进程/端口做自愈,配置 UptimeRobot 对外拨测;
    6. 告警:对以下场景设置阈值告警——CPU/内存持续高占用、磁盘使用率阈值、PHP-FPM 进程异常退出、队列积压增长、HTTP 5xx 增多、证书即将过期。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian系统Laravel如何监控
本文地址: https://pptw.com/jishu/764434.html
Debian上Laravel如何集成 Debian环境下Laravel如何测试

游客 回复需填写必要信息