infinitypaul / laravel-uptime
使用此命令行监控程序跟踪关键端点。添加端点,设置频率,并在出现问题时监听事件。
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: 5.*|6.*
- illuminate/support: ~5.5|~6.5|^7.0
Requires (Dev)
- orchestra/testbench: ~3.5|~4.4|^5.0
This package is auto-updated.
Last update: 2024-09-16 23:44:45 UTC
README
使用此命令行监控程序跟踪关键端点。添加端点,设置频率,并在出现问题时监听事件。
安装
您可以通过composer安装此包。
composer require infinitypaul/laravel-uptime
配置
要发布Uptime的配置和迁移文件,运行vendor:publish命令。
php artisan vendor:publish --provider="Infinitypaul\LaravelUptime\LaravelUptimeServiceProvider"
这将在您的配置目录中创建一个uptime.php文件。默认配置应该对您来说已经足够好,但如果您想自定义Uptime将使用的表/模型名称,您可以查看它。
运行迁移命令,以生成Uptime所需的所有表。
php artisan migrate
迁移后,将创建2个新表
- endpoints - 存储端点记录
- statuses - 存储端点的ping状态
命令
包安装后,以下命令将可用:
添加端点
php artisan endpoint:add https://infinitypaul.com -f 5
添加Infinitypaul.com,频率为5
php artisan endpoint:add own -f 5
添加您的laravel项目的基URL
显示所有端点
php artisan uptime:status
以漂亮的表格形式显示所有端点和状态
php artisan uptime:status --force
检查端点状态(无论其频率如何),并显示
删除端点
php artisan endpoint:remove
从监控列表中删除端点
ping所有端点
php artisan uptime:run
按频率顺序ping所有端点并获取其上线或下线状态
php artisan uptime:run --force
ping所有端点并获取其上线或下线状态(无论其频率如何)
调度
您可以将运行命令添加到任务调度中,每分钟运行一次
php artisan uptime:run
端点下线/上线事件
如果您需要在端点下线或上线时运行额外的进程,您可以监听这些事件
\Infinitypaul\LaravelUptime\Events\EndpointIsBackUp
\Infinitypaul\LaravelUptime\Events\EndpointIsDown
在您的EventServiceProvider
中添加您的监听器
/** * The event listener mappings for the application. * * @var array */ protected $listen = [ ... \Infinitypaul\LaravelUptime\Events\EndpointIsBackUp::class => [ App\Listeners\URLIsBack::class, ], \Infinitypaul\LaravelUptime\Events\EndpointIsDown::class => [ App\Listeners\YourEndPointIsDown::class, ], ];
EndpointIsBackUp和EndpointIsDown事件公开了端点和状态。在您的监听器中,您可以像这样访问它们
<?php namespace App\Listeners; use Infinitypaul\LaravelUptime\Events\EndpointIsBackUp; class URLIsBack { /** * Create the event listener. * * @return void */ public function __construct() { // } /** * Handle the event. * * @param EndpointIsBackUp $event * @return void */ public function handle(EndpointIsBackUp $event) { // $endpointStatus = $event->getEndpointStatus(); // $EndpointDetails = $event->getEndpoint(); // Do something with the Endpoint and Status. } }
我该如何感谢您呢?
为什么不给github存储库加星标呢?我非常希望得到关注!为什么不把该存储库的链接分享到Twitter或HackerNews呢?传播一下消息吧!
别忘了在twitter上关注我!
谢谢!Edward Paul。
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。