Laravel Pulse
Laravel Pulse — это встроенный экран мониторинга производительности iEXExchanger.
Он помогает смотреть нагрузку на backend-часть проекта, медленные запросы, ошибки, очереди, кеш, фоновые задачи, внешние HTTP-запросы и общее состояние сервера.
Pulse открывается на техническом домене админки:
https://app.ваш_домен/pulseДля чего нужен Laravel Pulse
Laravel Pulse используется для технического контроля работы системы.
С его помощью можно смотреть:
состояние сервера;
активность пользователей и запросов;
очереди и фоновые задачи;
работу кеша;
медленные SQL-запросы;
ошибки приложения;
медленные HTTP-запросы;
медленные задачи в очередях;
медленные внешние запросы к API, мерчантам, выплатам и другим сервисам.
Pulse полезен, когда нужно понять, почему сайт или админка работают медленно, где возникает нагрузка и какие процессы требуют внимания.
Где находится Laravel Pulse
В панели управления откройте: «Утилиты» — «Horizon и Pulse» — «Laravel Pulse»

Прямой адрес:

Если пункт меню не отображается, проверьте права группы пользователя.
Права доступа
Доступ к Laravel Pulse разрешается только пользователям панели управления, у которых есть право:
Это право находится в настройках групп пользователей.
Рекомендуется выдавать доступ к Pulse только:
владельцу проекта;
техническому администратору;
ответственному специалисту.
Обычным менеджерам этот раздел обычно не нужен, потому что в Pulse отображается техническая информация о работе системы.
Включение Laravel Pulse
По умолчанию Laravel Pulse может быть выключен.
Чтобы включить его, нужно изменить настройки backend-проекта на сервере.
Перейдите в директорию backend-проекта:
Откройте файл .env и добавьте или измените параметр:
Если такой строки нет, добавьте её в конец файла.
После изменения .env очистите кеш конфигурации:
Если на сервере используется PHP 8.4 через FastPanel, команда может выглядеть так:
Проверка таблиц Pulse
В iEXExchanger таблицы Pulse уже предусмотрены в структуре системы.
Но если проект устанавливался или обновлялся вручную, рекомендуется выполнить миграции:
Для PHP 8.4:
Pulse использует таблицы:
Если этих таблиц нет, экран Pulse не сможет корректно собирать и показывать данные.
Настройка хранения данных
По умолчанию Pulse хранит данные в базе данных.
Для большинства проектов достаточно такой настройки:
Что означает:
PULSE_ENABLED=true
Включает сбор данных Pulse
PULSE_STORAGE_DRIVER=database
Хранит данные в базе данных
PULSE_INGEST_DRIVER=storage
Записывает данные напрямую в хранилище
PULSE_STORAGE_KEEP="7 days"
Хранит собранную статистику 7 дней
PULSE_INGEST_KEEP="7 days"
Хранит входящие данные 7 дней
Рекомендуемые настройки для обычного проекта
Добавьте в .env:
После этого выполните:
Затем откройте:
Если используется Redis ingest
Обычно Redis ingest не требуется для небольших и средних проектов.
Но если проект высоконагруженный и нужно разгрузить обычные web-запросы, можно использовать Redis ingest:
В этом режиме необходимо запустить отдельный процесс Pulse:
Для production такой процесс нужно запускать через Supervisor, чтобы он автоматически перезапускался при сбоях.
Пример команды для Supervisor:
Если Redis ingest не используется, pulse:work запускать не нужно.
Снимок состояния сервера
В Pulse есть команда:
Она делает снимок текущего состояния сервера для блока server monitoring.
Команду можно запускать вручную:
Если нужно регулярное обновление серверных показателей, проверьте, что на сервере работает Laravel Scheduler через CRON.
Что отображается в Pulse
В вашей системе экран Pulse содержит несколько блоков:
Сервер;
Использование системы;
Очереди;
Кеш;
Медленные SQL-запросы;
Ошибки;
Медленные запросы;
Медленные задачи;
Медленные внешние запросы.
Очереди
Блок «Очереди» показывает работу очередей и фоновых задач.
Он полезен, если в системе используются:
уведомления;
Telegram-уведомления;
e-mail-уведомления;
парсеры;
выплаты;
фоновые проверки;
отложенные задачи.
Если очередь растёт и не уменьшается, нужно дополнительно проверить Laravel Horizon, Redis и Supervisor.
Медленные внешние запросы
Блок «Медленные внешние запросы» показывает медленные обращения к внешним сервисам.
Это полезно при работе с:
мерчантами;
автовыплатами;
API курсов;
внешними парсерами;
Telegram;
почтовыми сервисами;
другими интеграциями.
Если внешний сервис отвечает медленно, проблема может быть не в сервере iEXExchanger, а во внешней стороне.
Настройка порогов медленных операций
Если нужно изменить чувствительность Pulse, можно добавить в .env:
Значения указываются в миллисекундах.
Примеры:
Если поставить слишком маленькое значение, Pulse будет показывать слишком много событий.
Для production обычно достаточно:
После изменения параметров выполните:
Как отключить Laravel Pulse
Если Pulse больше не нужен, его можно отключить.
В .env укажите:
Затем выполните:
После этого Pulse перестанет собирать новые данные.
Как очистить данные Pulse
Если нужно удалить старую статистику Pulse, выполните:
Команда очищает накопленные данные Pulse из хранилища.
Используйте очистку осторожно. После выполнения команды старая статистика в Pulse пропадёт.
Частые проблемы
Страница Pulse не открывается
Проверьте:
включён ли параметр
PULSE_ENABLED=true;выполнена ли команда
php artisan optimize:clear;открываете ли вы backend-домен
app.ваш_домен, а не основной frontend-домен;есть ли у пользователя право «Разрешить доступ к мониторингу данных»;
выполнены ли миграции таблиц Pulse.
В меню нет Laravel Pulse
Проверьте группу пользователя.
У пользователя должно быть право:
После выдачи права выйдите из панели управления и войдите снова.
Pulse открывается, но данных мало
Такое возможно сразу после включения.
Pulse начинает собирать данные только после активации. Откройте сайт, админку, выполните несколько тестовых действий или подождите несколько минут.
После этого данные начнут появляться.
Не отображаются серверные показатели
Проверьте запуск команды:
Также проверьте, что на сервере настроен CRON для Laravel Scheduler.
Pulse показывает много медленных запросов
Проверьте пороги в .env.
Если значения слишком маленькие, Pulse будет показывать слишком много событий.
Для production обычно достаточно:
После изменения .env Pulse не изменился
Очистите кеш конфигурации:
Если используется Redis ingest и отдельный процесс pulse:work, перезапустите процесс через Supervisor.
Рекомендации
Для обычного production-проекта достаточно включить:
Не выдавайте доступ к Pulse всем менеджерам. Этот раздел предназначен для технического контроля системы.
Если проект высоконагруженный, можно отдельно настроить Redis ingest и запуск pulse:work через Supervisor. Для большинства обменников это не требуется на старте.
Коротко
Laravel Pulse — это экран мониторинга производительности iEXExchanger.
Он помогает видеть медленные запросы, ошибки, очереди, кеш, внешние API-запросы и состояние сервера.
Чтобы включить Pulse, добавьте в .env:
Затем выполните:
Pulse открывается здесь:
В панели управления: «Утилиты» — «Horizon и Pulse» — «Laravel Pulse»
Доступ должен быть только у пользователей с правом:
Последнее обновление
Это было полезно?