[翻译] Laravel Uptime Monitor 包介绍
原文地址:[https://laravel-news.com/uptime-monitor]
互联网日益成为很多人不可或缺的一部分,或者他们的收入来源。因此大多数网络应用,即使仅停止数秒钟都是不可接受的。
Spatie 发布了一个非常方便的包 Laravel Uptime Monitor,其目的是提供一个简单却强大的方式来监控你的网站的正常运行,和 SSL 证书到期日期。当你的网站停止运行时,它会通过灵活的 Laravel 5.3 通知系统通知你。此外,当你的网站再次启动时,这个包会通知你停机时长。
让我们看一下如何设置和使用这个包。
安装
首先,通过 Composer 安装 Laravel Uptime Monitor:
composer require spatie/laravel-uptime-monitor
在 config/app.php 中添加服务提供者:
providers' => [
...
Spatie\UptimeMonitor\UptimeMonitorServiceProvider::class,
];
然后,在你的终端执行如下命令,生成配置文件:
php artisan vendor:publish --provider="Spatie\UptimeMonitor\UptimeMonitorServiceProvider"
运行如下迁移命令在数据库中生成 monitors 相关表:
php artisan migrate
最后,打开 app/Console/Kernel.php 设置调度命令 monitor:check-uptime 和 monitor:check-certificate:
protected function schedule(Schedule $schedule)
{
$schedule->command('monitor:check-uptime')->everyMinute();
$schedule->command('monitor:check-certificate')->daily();
}
确定你已经添加 Laravel Cron 入口 到你的服务器之中,以使 Laravel Uptime Monitor 命令可以定期运行:
** ** ** ** ** php /path/to/artisan schedule:run >> /dev/null 2>&1
使用方法
安装完成之后,你可以使用 monitor:create 命令来添加需要监控的网站。如果你添加 https:// 开头的 URL,程序包也开始监控 SSL 证书:
php artisan monitor:create https://laravel-news.com
它会询问你是否要在网战的响应中查找特定的字符串。如果字符串没有出现,那么它会认为运行检查失败。此项可选。
等待几分钟之后,运行命令 php artisan monitor:list
laravel-uptime-monitor.png
它将以列表的形式显示所有被监控的网站正常运行时间和证书检查的结果,证书检查会包含 SSL 证书的一些具体信息。
还有 monitor:delete, monitor:enable,和 monitor:disable 这些命令。第一个用于从监控列表中删除网站,其他两个命令用于启用和禁用所监控的网站:
php artisan monitor:delete http://example.com
php artisan monitor:enable http://example.com
php artisan monitor:disable http://example.com
综述
如果你打开配置文件 config/laravel-uptime-monitor.php,你会看到 Laravel Uptime Monitor有很多配置项,是高度可定制的。请注意如下的重要选项:
- 首先,你可以自定义通知选项,为任何 Laravel Uptime Monitor 软件包可能触发的事件(它提供六种不同的事件类型)添加你的通知频道。你可以轻松的使用任何 Laravel 5.3 通知系统支持的频道,例如 Slack 或者邮件等。
- 如果你在多个地区使用 Laravel Uptime Monitor ,你可以使用 location 来区分不同的地区,location 会和每个消息通知一起发送给你。
- resend_uptime_check_failed_notification_every_minutes 选项用于指定你的网站关闭时,发出通知的间隔时间,默认为 60 分钟。
- 接下来的两个选项,一个用于指定通知的邮件,另一个用于如果你使用了 Slack 通知频道时,指定的 webhook_url。
- run_interval_in_minutes 用于指定两次运行检查的间隔时间。注意,如果运行检查失败,软件包将忽略此选项,并且开始每分钟检查该站点。
- timeout_per_site 用于指定在检查过程中放弃之前所需等待的时间,默认为10秒。
- fire_monitor_failed_event_after_consecutive_failures 用于指定触发 Spatie\UptimeMonitor\Events\MonitorFailed 事件之前,尝试运行检查失败的次数,默认值为 2。
- fire_expiring_soon_event_if_certificate_expires_within_days,当 SSL 证书中剩余的天数少于你为此选项指定的天数时,将触发 SslExpiresSoon 事件。
最后,如果你想要一个强大的方法监控网站运行和 SSL 证书过期日期,请尝试一下 Laravel Uptime Monitor
本作品采用《CC 协议》,转载必须注明作者和本文链接
特别欢迎高质量的翻译贴 ~
:heart_eyes: @sqrtqiezi 茄大大
@cjjian 嗨 :smirk: