infinitypaul/laravel-uptime

使用此命令行监控程序跟踪关键端点。添加端点,设置频率,并在出现问题时监听事件。

1.0.0 2020-08-16 14:25 UTC

This package is auto-updated.

Last update: 2024-09-16 23:44:45 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

使用此命令行监控程序跟踪关键端点。添加端点,设置频率,并在出现问题时监听事件。

安装

您可以通过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)。请参阅许可证文件获取更多信息。