vistik / health-checks
在 Laravel 应用中执行健康检查
Requires
- php: >=7.0.0
- illuminate/support: ~5.4|~5.3
- vistik/typed-collections: ^2.0
Requires (Dev)
- mockery/mockery: ^0.9.9
- orchestra/testbench: ~3.0
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ~6.0
- squizlabs/php_codesniffer: *
This package is not auto-updated.
Last update: 2024-09-23 07:17:43 UTC
README
使用此包将健康检查添加到您的 Laravel 应用程序中。
示例
安装
首先,使用 Composer 安装此包。
$ composer require phpsafari/health-checks
安装完包后,请将 ``PhpSafari\ServiceProvider\HealthCheckServiceProvider::class 添加到您的
config/app.php` 文件中。
完成此操作后,您可以通过运行以下命令将 health.php
配置文件发布到您的 config
文件夹:
$ php artisan vendor:publish --tag=health
使用方法
在 config/health.php
文件中配置所有可用的健康检查。默认情况下,此包已经包含了一些检查
CorrectEnvironment
将检查您的应用程序环境是否设置为production
DatabaseOnline
将检查您的数据库连接DatabaseUpToDate
将检查您的应用程序是否有尚未迁移的迁移DebugModeOff
将检查是否关闭了调试模式QueueProcessing
将检查队列是否正在运行并且作业正在处理PathIsWritable
将检查提供的路径是否可写LogLevel
将检查日志级别是否设置为给定值MaxRatioOf500Responses
将检查 500 响应的比率是否高于给定阈值(最后 60 分钟)MaxResponseTimeAvg
将检查所有请求的平均响应时间是否高于给定阈值(最后 60 分钟)
要运行应用程序的健康检查,请运行
$ php artisan health:check
您还可以使用 Laravel 的调度器来安排您的健康检查
$schedule->command('health:check')->hourly();
基于 URL 的健康检查
您还可以通过在浏览器中或使用 Pingdom 等工具中敲击 https://<APP_URL>/_health
URL 来运行健康检查。
注意:_此功能可以在 config/health.php
文件中禁用,通过将 route.enabled
设置为 false
。
您可以通过访问 https://<APP_URL>/_health/stats
来查看所有统计数据,包括平均响应时间
创建您自己的健康检查
为了创建您自己的健康检查,您只需扩展 PhpSafari\Checks\HealthCheck
类并实现 run()
方法。
示例
class IsFriday extends PhpSafari\Checks\HealthCheck { public function run(): bool { return Carbon::now()->isFriday(); } }
然后将 new IsFriday()
添加到 config/health.php
中的检查列表中。
测试
$ phpunit tests/
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 :author_email 而不是使用问题跟踪器来联系。
鸣谢
许可协议
MIT 许可证(MIT)。有关更多信息,请参阅许可文件。