Может войдёшь?
Черновики Написать статью Профиль

Laravel Uptime Monitor

перевод Laravel-News.com

Для многих людей интернет стал просто незаменим, он является источником их доходов. Большинство веб-приложений не могут позволить себе быть недоступными даже несколько секунд.

Spatie выпустили очень полезный пакет Laravel Uptime Monitor, который обеспечивает простой и мощный способ отслеживания доступности вашего сайта и даты истечения SSL-сертификата. Uptime Monitor уведомит вас о недоступности вашего сайта при помощи гибкой системы уведомлений Laravel 5.3. А когда ваш сайт «поднимется», пакет любезно уведомит вас и расскажет, в течении какого времени сайт был недоступен.

Давайте посмотрим, как настроить и использовать этот пакет.

Установка

Сначала установите Laravel Uptime Monitor при помощи Composer:

shcomposer require spatie/laravel-uptime-monitor

Добавьте его сервис-провайдер в config/app.php:

PHP
'providers' => [
    ...
    
Spatie\UptimeMonitor\UptimeMonitorServiceProvider::class,
];

Затем, чтобы опубликовать файл настроек, выполните следующую команду в терминале:

shphp artisan vendor:publish --provider="Spatie\UptimeMonitor\UptimeMonitorServiceProvider"

Выполните следующую команду, чтобы мигрировать таблицу монитора в базу данных

shphp artisan migrate

И наконец, откройте файл app/Console/Kernel.php и запланируйте команды shmonitor:check-uptime и shmonitor:check-certificate вот так:

PHP
protected function schedule(Schedule $schedule)
{
    
$schedule->command('monitor:check-uptime')->everyMinute();
    
$schedule->command('monitor:check-certificate')->daily();
}

Не забудьте добавить запись Laravel Cron на сервере, чтобы команды монитора могли выполняться повторно:

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

Использование

После установки пакета вы можете добавить веб-сайты, которые необходимо отслеживать, с помощью команды shmonitor:create. Если вы добавите URL, начинающийся на https://, монитор начнёт отслеживать и SSL-сертификат:

shphp artisan monitor:create https://laravel-news.com

При необходимости он спросит, надо ли искать в отклике сайта определённую строку. Если строки в отклике нет, проверка доступности сайта считается проваленной.

Через несколько минут выполните shphp artisan monitor:list

/packages/proger/habravel/uploads/718-Screen-Shot-2016.png

Выведется список всех отслеживаемых сайтов и результаты проверок доступности и SSL-сертификатов с некоторыми данными об этих сертификатах.

Ещё есть команды shmonitor:delete, shmonitor:enable и shmonitor:disable. Первая — для удаления сайта из списка мониторинга, а другие две — для включения и отключения мониторинга указанного URL сайта:

shphp 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 имеет множество настроек. Обратите внимание на следующие важные настройки:

  • Вы можете настроить уведомления (опция notifications) — добавить каналы уведомлений для каждого события, которое будет вызывать пакет Laravel Uptime Monitor (он поддерживает шесть разных типов событий). Вы легко можете использовать любой канал, поддерживаемый системой уведомлений Laravel 5.3, такой как Slack, почта и т.д.
  • Если вы используете Laravel Uptime Monitor из нескольких мест, вы можете использовать опцию location для их обозначения. Указанные location будет отправляться в каждом уведомлении.
  • Опция resend_uptime_check_failed_notification_every_minutes служит для указания интервала отправки уведомления о том, что сайт не доступен; по умолчанию он равен 60 минутам.
  • Ещё две опции: первая mail — для указания почтового адреса для уведомлений от пакета, вторая webhook_url — для указания URL для Slack, если вы пользуетесь каналом уведомлений Slack.
  • Опция run_interval_in_minutes служит для указания интервала между проверками доступности. Обратите внимание на то, что если проверка неудачна, пакет проигнорирует эту опцию и начнёт проверять данный сайт каждую минуту.
  • Опция timeout_per_site задаёт период в секундах, после которого процесс проверки должен «сдаться», по умолчанию он равен 10 секундам.
  • Опция fire_monitor_failed_event_after_consecutive_failures определяет количество проваленных проверок доступности, после которого необходимо вызвать событие PHPSpatie\UptimeMonitor\Events\MonitorFailed, по умолчанию — две.
  • Опция fire_expiring_soon_event_if_certificate_expires_within_days вызывает событие SslExpiresSoon, когда до истечения SSL-сертификата остаётся меньше дней, чем указано в этой опции.

Если вам нужен мощный инструмент для мониторинга доступности сайтов и дат истечения SSL-сертификатов — попробуйте Laravel Uptime Monitor.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.