Laravel Telescope – это элегантный инструмент отладки и мониторинга для приложений Laravel. Он обеспечивает глубокое понимание запросов, исключений, запросов, заданий и многого другого. В этом руководстве вы узнаете, как установить, настроить и использовать Laravel Telescope для улучшения наблюдаемости вашего приложения. Вы можете установить его на свой VPS.

Необходимые условия

Перед настройкой Telescope убедитесь, что у вас есть все необходимое:

  • Приложение Laravel (рекомендуется версия 6.x или выше)
  • PHP 7.3 или более поздней версии
  • Composer установлен на вашей машине

Шаг 1: Установка Laravel Telescope

Чтобы установить Laravel Telescope, выполните следующую команду через Composer:

composer require laravel/telescope

После завершения установки опубликуйте провайдера и активы Telescope с помощью:

php artisan telescope:install

Наконец, перенесите необходимые таблицы базы данных:

php artisan migrate

Шаг 2: Настройка Telescope

После установки Telescope предоставляет файл конфигурации, расположенный по адресу config/telescope.php. Вы можете изменить настройки по своему усмотрению.

Авторизация

По умолчанию Telescope доступен только в локальном окружении. Если вы хотите разрешить доступ в других средах, измените метод gate в

App\Providers\TelescopeServiceProvider:

use Laravel\Telescope\Telescope;
use Laravel\Telescope\TelescopeApplicationServiceProvider;

class TelescopeServiceProvider extends TelescopeApplicationServiceProvider
{
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return in_array($user->email, [
'admin@example.com',
]);
});
}
}

Сохранение данных

По умолчанию Telescope хранит журналы в течение 24 часов. Вы можете настроить этот параметр в файле config/telescope.php:

'retain_hours' => 48,

Конфигурация маршрута

Дашборд Telescope доступен через /telescope. Если вы хотите настроить этот путь, обновите файл config/telescope.php:

'path' => 'monitoring',

Теперь Telescope будет доступен по адресу /monitoring вместо /telescope.

Шаг 3: Использование Telescope

После настройки запустите ваше приложение Laravel и перейдите по адресу yourdomain.com/telescope (или по выбранному вами пути). Вы увидите:

  • Запросы: Отслеживает входящие запросы и время их ответа.
  • Исключения: Перечисляет все ошибки и трассировку стека.
  • Запросы: Отображает выполненные SQL-запросы.
  • Jobs (задания): Отслеживает поставленные в очередь задания и их состояние.
  • Events (События): Ведет журнал событий Laravel.

Шаг 4: Развертывание Telescope на производстве

Хотя Telescope полезен в разработке, его не рекомендуется использовать в производстве из-за избыточной производительности. Однако если вам нужно развернуть его в производстве, вы можете использовать переменную окружения TELESCOPE_ENABLED:

TELESCOPE_ENABLED=true

Кроме того, запланируйте команду периодической очистки журналов, чтобы предотвратить чрезмерный рост базы данных:

php artisan telescope:prune --hours=24

Вы можете автоматизировать это, добавив запланированную задачу в app/Console/Kernel.php:

$schedule->command('telescope:prune --hours=24')->daily();

Заключение

Laravel Telescope – это мощный инструмент, который улучшает отладку и мониторинг в приложениях Laravel. Установив и настроив его должным образом, вы получите ценные сведения о производительности вашего приложения, запросах, исключениях и фоновых заданиях.