首页主机资讯Ubuntu中如何监控Laravel应用状态

Ubuntu中如何监控Laravel应用状态

时间2026-01-15 14:28:15发布访客分类主机资讯浏览1054
导读:Ubuntu 监控 Laravel 应用的实用方案 一 应用内监控工具 Laravel Telescope:适合开发调试与轻量生产观测,提供请求、异常、数据库查询、队列等面板。安装与启用: 安装:composer require lar...

Ubuntu 监控 Laravel 应用的实用方案

一 应用内监控工具

  • Laravel Telescope:适合开发调试与轻量生产观测,提供请求、异常、数据库查询、队列等面板。安装与启用:
    • 安装:composer require laravel/telescope
    • 发布资源:php artisan telescope:install & & php artisan migrate
    • 生产注意:限制访问权限,避免泄露敏感信息。
  • Laravel Horizon:Redis 队列的实时仪表盘与监控,便于查看吞吐量、失败任务与运行时分布。安装与启动:
    • 安装:composer require laravel/horizon
    • 发布配置:php artisan horizon:install
    • 启动:php artisan horizon
  • Laravel Pulse(Laravel 官方新工具):轻量级实时应用监控,覆盖用户活跃、慢请求、异常与队列吞吐。要求 Laravel 10.25+
    • 安装:composer require laravel/pulse
    • 安装命令:php artisan pulse:install

二 进程与队列的保活与状态

  • Supervisor:确保队列与自定义常驻进程稳定运行,异常自动重启,并提供进程状态查询。
    • 安装:sudo apt-get update & & sudo apt-get install 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
  • Systemd(替代方案):适合将应用或队列作为系统服务托管。
    • 示例服务:/etc/systemd/system/laravel-worker.service
      [Unit]
      Description=Laravel Queue Worker
      After=network.target
      
      [Service]
      Type=simple
      User=www-data
      WorkingDirectory=/path/to/your/laravel/project
      ExecStart=/usr/bin/php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用:sudo systemctl daemon-reload & & sudo systemctl enable --now laravel-worker
    • 查看:sudo systemctl status laravel-worker
  • Laravel 调度器(Cron):保障定时任务可靠执行。
    • crontab -e 添加:* * * * * cd /path/to/your/laravel/project & & php artisan schedule:run > > /dev/null 2> & 1

三 日志与异常追踪

  • Laravel 日志:实时查看应用日志,快速定位错误与异常。
    • 实时跟踪:tail -f /storage/logs/laravel.log
    • 基于 Monolog,可扩展至文件、邮件、第三方(如 Papertrail、Loggly)。
  • 错误与性能 SaaS
    • Sentry:异常监控与告警,便于生产快速发现与回放。
    • New Relic / Datadog:应用性能监控(APM)、事务追踪、错误分析,适合全链路观测与容量规划。

四 系统级与自托管监控

  • 系统资源监控:快速排查瓶颈(CPU、内存、磁盘、IO、网络)。
    • 常用命令:top/htop、vmstat、iostat、iftop、df -h
  • Prometheus + Grafana:自托管时序监控与可视化,适合团队化与大规模部署。
    • 组件:node_exporter(主机指标)、mysqld_exporter(数据库)、Prometheus(存储)、Grafana(仪表盘)
    • Laravel 集成:使用 promphp/prometheus_client_php 暴露自定义指标(如 HTTP 请求计数、耗时等)。
  • NetData:开箱即用的实时仪表板,1 秒级刷新,覆盖系统与应用层面指标,访问 http://your-server:19999
  • UptimeRobot:外部可用性监控(HTTP/HTTPS),宕机即时通知,弥补仅内网监控的盲区。

五 快速落地与告警建议

  • 分层组合:应用内(Telescope/Pulse/Horizon)+ 进程保活(Supervisor/Systemd)+ 日志(laravel.log + Sentry)+ 系统/外部(Prometheus/Grafana 或 New Relic/Datadog + UptimeRobot)。
  • 最小可行监控栈
    • 必备:Supervisor 保活队列 + tail -f storage/logs/laravel.log + UptimeRobot 外网拨测
    • 进阶:Prometheus + Grafana 看板 + Sentry 异常告警
  • 告警规则示例
    • 队列失败数 > 0(持续 5 分钟
    • 最近 1 小时 5xx 比例 > 1%
    • 磁盘使用率 > 80%(预警)、> 90%(严重)
    • 响应 P95 > 2s(生产环境)
  • 安全与合规:生产环境对 Telescope/Horizon 设置强认证与 IP 白名单,避免敏感数据暴露。

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


若转载请注明出处: Ubuntu中如何监控Laravel应用状态
本文地址: https://pptw.com/jishu/780058.html
OpenSSL在Linux上如何进行日志分析 Laravel在Ubuntu上如何处理文件上传

游客 回复需填写必要信息