You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Pulse:如何添加非应用服务器进行监控?

向Laravel Pulse推送服务器健康数据的替代方案

针对你不想在每台被监控服务器(如仅运行MySQL、Redis的服务器)安装PHP和Laravel环境的需求,目前有几个可行的替代方案:

1. 直接调用Pulse的自定义指标API

Laravel Pulse支持通过HTTP请求推送自定义指标,无需在目标服务器部署Laravel:

  • 第一步:在你的主Laravel应用中,通过Pulse::metric()注册自定义服务器指标(比如CPU使用率、内存占用、磁盘空间等)。
  • 第二步:在目标服务器上编写轻量脚本(Bash、Python均可),定期收集系统数据。例如用Bash脚本获取CPU使用率:
    CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
    
  • 第三步:脚本将收集到的数据以JSON格式POST到Pulse的API端点(需要携带Laravel应用的API令牌进行身份验证),直接把数据推送到Pulse的指标系统。

2. 借助第三方监控工具中转

用轻量的系统监控工具收集数据,再同步到Pulse:

  • 在目标服务器部署Node Exporter(仅几MB,无需PHP环境),它会自动收集CPU、内存、磁盘等系统指标并暴露HTTP接口。
  • 在你的主Laravel应用中,编写定时任务(Artisan命令),定期从Node Exporter的接口拉取数据,然后调用Pulse的指标方法将数据存入Pulse的数据库。

3. 远程执行命令收集数据

在你的主Laravel服务器上,通过SSH远程连接到目标服务器执行命令获取数据:

  • 使用Laravel的SSH组件或第三方包,定期连接到目标服务器,执行free -m、df -h等命令获取系统状态。
  • 解析命令输出的结果,调用Pulse的指标记录方法,将数据提交到Pulse。

内容的提问来源于stack exchange,提问作者greener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:02:46