getecz/laravel-health 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

getecz/laravel-health

最新稳定版本:v1.0.0

Composer 安装命令:

composer require getecz/laravel-health

包简介

Laravel-native app health checks (DB/cache/queue/storage/cron) with dashboard + JSON endpoints.

README 文档

README

Laravel-native app health checks (DB / cache / storage / queue / cron) with a simple dashboard and JSON endpoint.

  • ✅ No build step
  • ✅ Tailwind CDN UI
  • ✅ Works great for shared hosting + small VPS
  • ✅ Optional token + IP allowlist

Install

composer require getecz/laravel-health

Laravel auto-discovers the service provider.

Usage

After install, open:

  • Dashboard: /<route_prefix> (default: /getecz-health)
  • JSON: /<route_prefix>/json (default: /getecz-health/json)
  • Widget (iframe): /<route_prefix>/widget (default: /getecz-health/widget)
  • Cron heartbeat: /<route_prefix>/heartbeat (default: /getecz-health/heartbeat)

Security (Never Miss)

In production, you must lock it down.

Option A — Token (recommended)

Set an env token:

GETECZ_HEALTH_TOKEN=your-long-random-token

Then access with:

  • Query: /getecz-health?token=your-long-random-token
  • Header: X-Getecz-Health-Token: your-long-random-token

Option B — IP allowlist

GETECZ_HEALTH_ALLOWED_IPS=1.2.3.4,5.6.7.8

Disable completely

GETECZ_HEALTH_ENABLED=false

Publish config (optional)

php artisan vendor:publish --tag=getecz-health-config

Config file: config/getecz-health.php

Cron heartbeat

The Cron check is based on a heartbeat. You have two ways:

1) Hit the heartbeat URL (shared hosting friendly)

Set a cron (or external monitor) to hit:

/getecz-health/heartbeat?token=...

2) Run the artisan heartbeat command

php artisan getecz:health-heartbeat

Then schedule it:

// app/Console/Kernel.php
$schedule->command('getecz:health-heartbeat')->everyMinute();

Store history (optional)

If you want snapshots in DB:

  1. Publish migrations
php artisan vendor:publish --tag=getecz-health-migrations
php artisan migrate
  1. Enable history
GETECZ_HEALTH_STORE_HISTORY=true
  1. Create snapshots via command (recommended)
php artisan getecz:health-snapshot
php artisan getecz:health-snapshot --prune

Embed widget

You can embed the widget in any dashboard via iframe:

<iframe
  src="https://your-domain.com/getecz-health/widget?token=YOUR_TOKEN"
  style="width:100%; height:170px; border:0;"
  loading="lazy"
></iframe>

Or fetch JSON:

/getecz-health/json?token=YOUR_TOKEN

Custom checks

Publish config and add your own check class to the checks array.

A check must implement:

Getecz\LaravelHealth\Checks\CheckInterface

License

MIT

统计信息

  • 总下载量: 24
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-15