Службы
Раздел «Службы» предназначен для контроля системных процессов iEXExchanger на сервере. Здесь администратор может проверить состояние служб, время их работы, потребление памяти, последние запуски и доступные действия.
Управление выполняется через системный агент iEXExchanger. После каждого действия агент проверяет фактическое состояние службы и только затем сообщает об успешном результате.
Где находится раздел
В панели управления откройте: «Утилиты» — «Службы»

На странице находятся вкладки «Состояние служб» и «Журнал действий».
Доступ к разделу
Доступ регулируют два отдельных права в блоке «Админпанель».
«Просмотр служб обменника»
Чувствительное
Открывать раздел, просматривать состояния, стабильность, время работы и журнал действий
«Управление службами обменника»
Критичное
Запускать, останавливать, перезапускать службы и управлять доступными расписаниями
Для открытия страницы достаточно одного из этих прав. Если назначено только право «Просмотр служб обменника», информация будет доступна, но в столбце «Действия» появится надпись «Управление недоступно».
Настройка прав группы
В панели управления откройте: «Пользователи» — «Список групп пользователей»
Откройте редактирование нужной группы.
Выберите блок «Админпанель».
Найдите права «Просмотр служб обменника» и «Управление службами обменника».
Включите права, которые требуются сотрудникам этой группы.
Нажмите «Сохранить».
Откройте раздел «Службы» под учётной записью сотрудника и проверьте доступ.
Право «Управление службами обменника» следует выдавать только сотрудникам, которым разрешено изменять состояние серверных процессов.
Устройство страницы
Кнопка «Обновить»
Кнопка обновляет только открытую вкладку:
на вкладке «Состояние служб» повторно запрашивается состояние служб;
на вкладке «Журнал действий» повторно загружается текущая страница журнала.
Во время выполнения действия кнопка временно недоступна.
Состояние служб
Столбцы таблицы
«Служба»
Название службы и кнопка «Подробности»
«Состояние»
Текущая оценка работы службы
«Время работы»
Время непрерывной работы, длительность последнего выполнения или дата следующего запуска
«Память»
Объём памяти, занятый процессом, если значение доступно
«Действия»
Разрешённые для текущего состояния кнопки управления
Содержимое столбца «Время работы» зависит от типа службы:
для постоянно работающего процесса показывается время с момента запуска;
для одноразовой задачи показывается длительность последнего выполнения или дата его завершения;
для расписания показывается дата следующего запуска;
если значение недоступно, отображается прочерк.
«Подробности»
Кнопка «Подробности» рядом с названием службы открывает техническую информацию:
точное имя службы в
systemd;внутреннее состояние
systemd;результат последнего выполнения;
PID работающего процесса;
количество перезапусков;
время последнего запуска;
время завершения;
длительность последнего выполнения;
дату следующего запуска;
пояснение к текущему состоянию.
systemd — это серверный компонент Linux, который запускает службы и контролирует их работу. Технические данные из «Подробности» помогают серверному администратору определить причину ошибки.
Значения состояния
«Работает»
Служба работает стабильно, одноразовая задача завершилась успешно или расписание включено и ожидает следующий запуск
«Запускается»
Служба запускается, применяет конфигурацию или работает менее 30 секунд после запуска
«Нестабильно»
Служба перезапускалась не менее трёх раз и после последнего запуска работает менее 10 минут
«Есть проблемы»
Системный агент обнаружил ухудшенное состояние, которое требует проверки через «Подробности»
«Остановлена»
Служба не работает, но остаётся доступной для запуска
«Отключена»
Служба или расписание отключены
«Ошибка»
Служба не загружена, завершилась с ошибкой или вернула неуспешный результат
«Обслуживание»
Служба находится в состоянии технического обслуживания
«Неизвестно»
Системный агент не смог сопоставить полученное состояние с известным вариантом
После запуска или перезапуска состояние может временно измениться на «Запускается». Если служба продолжает работать, после следующего обновления она перейдёт в состояние «Работает».
Управляемые службы
Службы с запуском, остановкой и перезапуском
«Frontend»
Обслуживает клиентскую часть обменного пункта через Angular SSR
«Запустить», «Остановить», «Перезапустить»
«Horizon»
Обрабатывает фоновые задачи из очередей Laravel
«Запустить», «Остановить», «Перезапустить»
«Reverb»
Обслуживает соединения и события реального времени
«Запустить», «Остановить», «Перезапустить»
«Сбор данных Pulse»
Обрабатывает данные серверного мониторинга Pulse
«Запустить», «Остановить», «Перезапустить»
«Проверка Pulse»
Выполняет проверку сервера для Pulse
«Запустить», «Остановить», «Перезапустить»
«Cron»
Каждую минуту запускает проверку запланированных задач Laravel
«Запустить», «Остановить», «Перезапустить»
Остановка службы сразу влияет на связанные функции. При остановке Frontend перестаёт нормально обслуживаться клиентский сайт, Horizon прекращает обработку очередей, Reverb прерывает работу соединений реального времени, а Cron перестаёт автоматически запускать запланированные задачи.
Службы с отдельными действиями
«Планировщик Laravel»
Однократно запускает все задачи Laravel, срок выполнения которых уже наступил
«Запустить сейчас»
«PHP-FPM»
Обслуживает Backend, административную панель и серверные запросы
«Перезапустить»
«Redis»
Используется очередями, блокировками и временными данными iEXExchanger
«Перезапустить»
«Агент обновлений»
Выполняет защищённые серверные операции iEXExchanger
Только просмотр состояния
«Резервное копирование»
Показывает результат последнего управляемого резервного копирования
Только просмотр состояния
«Расписание резервных копий»
Управляет будущими автоматическими резервными копиями
«Включить расписание», «Отключить расписание»
Действие «Запустить сейчас» запускает один полный проход Планировщика Laravel. Будут выполнены все запланированные задачи, срок которых наступил. Расписание при этом не изменяется.
Перезапуск PHP-FPM может кратковременно прервать запрос административной панели. Интерфейс умеет восстановить соединение и запросить уже сохранённый результат, не выполняя перезапуск повторно.
Перезапуск Redis может кратковременно повлиять на очереди, блокировки и другие функции, использующие Redis. Выполняйте его только при подтверждённой необходимости.
Службы резервного копирования
Строки «Резервное копирование» и «Расписание резервных копий» отображаются только на установках, где настроено управляемое резервное копирование.
Действие «Отключить расписание» останавливает создание будущих резервных копий по расписанию. Уже созданные копии не удаляются.
Запустить резервное копирование вручную через страницу «Службы» нельзя.
Технические имена служб
Название в панели
Имя в systemd
«Frontend»
iex-frontend.service
«Horizon»
iex-horizon.service
«Reverb»
iex-reverb.service
«Сбор данных Pulse»
iex-pulse-work.service
«Проверка Pulse»
iex-pulse-check.service
«Планировщик Laravel»
iex-scheduler.service
«PHP-FPM»
phpX.Y-fpm.service, где X.Y соответствует установленной версии PHP
«Redis»
redis-server.service
«Cron»
cron.service
«Агент обновлений»
iex-update-agent.service
«Резервное копирование»
iex-backup.service
«Расписание резервных копий»
iex-backup.timer
Frontend запускается через PM2 Runtime, но административная панель управляет всей службой iex-frontend.service, а не отдельным процессом PM2.
Доступные действия
«Запустить»
Служба должна перейти в активное состояние
«Остановить»
Служба должна перейти в остановленное состояние
«Перезапустить»
После перезапуска служба должна снова стать активной
«Запустить сейчас»
Одноразовая задача должна завершиться с успешным результатом
«Включить расписание»
Расписание должно стать включённым и активным
«Отключить расписание»
Расписание должно стать отключённым и неактивным
Успех отображается только после проверки итогового состояния на сервере. Сам факт отправки команды ещё не считается успешным выполнением.
Какие кнопки отображаются
Для работающей службы с полным управлением доступны «Остановить» и «Перезапустить». Кнопка «Запустить» скрыта.
Для остановленной службы отображается «Запустить». Кнопки «Остановить» и «Перезапустить» скрыты.
Для PHP-FPM и Redis доступно только действие «Перезапустить».
Для включённого расписания резервных копий отображается «Отключить расписание». Для отключённого расписания отображается «Включить расписание».
Для «Агент обновлений» и «Резервное копирование» отображается «Управление недоступно», поскольку эти строки предназначены только для контроля состояния.
Выполнение действия
Перед началом
Перед остановкой или перезапуском проверьте:
название выбранной службы;
текущее значение в столбце «Состояние»;
пояснение в окне «Подробности»;
влияние действия на клиентский сайт, очереди и запланированные процессы;
отсутствие выполняющегося обновления или технического обслуживания.
Порядок работы
Защита от повторного выполнения
Перед изменением состояния системный агент сохраняет идентификатор подтверждённого действия. После этого операция принадлежит агенту и может завершиться, даже если браузер или Backend временно потеряют соединение.
Если результат запроса остаётся неизвестным, в окне появляется сообщение:
Связь со службой восстанавливается. Проверяем сохранённый результат без повторного запуска команды…
В этот момент интерфейс повторно запрашивает результат с тем же идентификатором. Команда над службой второй раз не запускается.
Не обновляйте страницу и не создавайте новое действие, пока интерфейс восстанавливает результат. Особенно это важно при перезапуске PHP-FPM: исходное соединение может прерваться уже после выполнения команды.
Если системный агент вернул подтверждённую ошибку, следующая ручная попытка считается новым действием и требует повторного подтверждения.
Ограничения управления
Одновременно выполняется только одно действие над одной службой. Пока оно не завершено, остальные кнопки управления недоступны.
Системный агент может отказать в запуске нового действия, если:
выполняется обновление или восстановление iEXExchanger;
удаляется системный релиз;
уже выполняется другое действие над службой;
включён режим технического обслуживания;
сервер занят другой операцией, изменяющей системное состояние;
системный агент не может надёжно сохранить состояние действия.
Одно действие ограничено двумя минутами. Если служба не подтверждает требуемое состояние за это время, операция считается неуспешной.
Что нельзя сделать в разделе
Через страницу «Службы» нельзя:
выполнить произвольную серверную команду;
указать собственное имя службы;
управлять Nginx;
управлять PostgreSQL;
управлять Certbot;
остановить или перезапустить «Агент обновлений»;
вручную запустить «Резервное копирование»;
открыть полный системный журнал Linux.
Nginx, PostgreSQL и Certbot намеренно не входят в каталог административной панели.
Журнал действий
Вкладка «Журнал действий» содержит записи об управлении службами через защищённый интерфейс iEXExchanger.
В таблице отображаются:
«Служба» — служба, над которой выполнялось действие;
«Действие» — выбранная команда;
«Администратор» — имя и E-mail сотрудника, выполнившего действие;
«Результат» — «Выполнено» или «Ошибка»;
«Дата» — время создания записи.
Для успешного действия дополнительно показываются состояния до и после выполнения. Для неуспешного действия отображается безопасный код ошибки.
Если имя и E-mail администратора отсутствуют, в столбце «Администратор» отображается «Система».
При отсутствии записей выводятся сообщения «Действий ещё не было» и «После первого управления службой запись появится здесь».
Границы журнала
Журнал показывает попытки управления, которые прошли через раздел «Службы». Он не является полным журналом systemd и не показывает изменения, выполненные вручную на сервере или другими системными процессами.
Запросы, заблокированные правами доступа или режимом чтения до начала выполнения, не изменяют службу.
Состояние строки на вкладке «Состояние служб» является основной проверкой результата. Не запускайте действие повторно только из-за того, что новая запись ещё не появилась в журнале.
Если возникла проблема
«Не удалось получить состояние служб»
Системный агент недоступен или не смог прочитать каталог служб.
Нажмите «Обновить».
Проверьте, появились ли строки служб.
Если ошибка повторяется, передайте серверному администратору время ошибки и текст сообщения.
Серверный администратор должен проверить «Агент обновлений», его локальное соединение и совместимость версий.
В столбце «Действия» указано «Управление недоступно»
Проверьте:
назначено ли право «Управление службами обменника»;
не включён ли общий режим чтения;
не работает ли активная учётная запись только в режиме чтения;
поддерживает ли выбранная служба действия.
Для строк «Агент обновлений» и «Резервное копирование» отсутствие действий является нормальным поведением.
Отображается восстановление соединения
Не создавайте новое действие. Интерфейс проверяет результат ранее принятой команды и не повторяет её.
Дождитесь успешного результата или подтверждённого сообщения об ошибке.
Появилось сообщение «Не удалось выполнить действие»
Прочитайте сообщение в окне.
Откройте вкладку «Состояние служб».
Нажмите «Обновить».
Проверьте фактическое состояние выбранной службы.
Откройте «Журнал действий» и найдите последнюю запись.
Перед повторным подтверждением устраните причину, указанную в сообщении или коде ошибки.
Служба остаётся в состоянии «Запускается»
После запуска или перезапуска подождите не менее 30 секунд. Состояние обновляется автоматически каждые 10 секунд.
Если служба не переходит в состояние «Работает», откройте «Подробности» и проверьте пояснение агента.
Служба перешла в состояние «Нестабильно»
Такое состояние означает, что служба перезапускалась не менее трёх раз и ещё не проработала 10 минут после последнего запуска.
Не выполняйте повторные перезапуски без диагностики. Передайте серверному администратору название службы, количество перезапусков, время работы и пояснение из «Подробности».
Коды ошибок журнала
agent_unavailable
Системный агент или его локальное соединение недоступны
Проверьте состояние агента и повторите загрузку
agent_protocol_error или protocol_mismatch
Версии Backend и системного агента несовместимы
Сверьте установленные версии iEXExchanger и агента
update_workflow_busy
Выполняется обновление или восстановление
Дождитесь завершения операции
release_deletion_busy
Выполняется удаление релиза
Дождитесь завершения удаления
service_action_busy
Уже выполняется другое действие над службой
Дождитесь его завершения
maintenance_active
Включён режим технического обслуживания
Завершите обслуживание перед управлением службами
system_mutation_busy
Сервер занят другой изменяющей операцией
Дождитесь завершения текущей операции
service_action_failed
Служба не подтвердила успешное состояние
Обновите состояние и проверьте серверный журнал службы
agent_restarted
Агент был перезапущен во время действия
Проверьте фактическое состояние и только затем создайте новое действие
agent_state_failed
Агент не смог надёжно сохранить или прочитать результат
Не повторяйте действие до проверки фактического состояния
service_catalog_failed
Агент не смог подготовить доверенный каталог служб
Проверьте установку и состояние системного агента
service_status_failed
Не удалось прочитать состояние службы
Проверьте службу и повторите обновление
maintenance_status_failed
Не удалось проверить режим обслуживания
Требуется серверная диагностика
service_action_capacity
Защищённый журнал агента достиг допустимого объёма
Требуется обслуживание системного агента
idempotency_conflict
Идентификатор подтверждения уже связан с другим действием
Закройте ошибку, обновите состояние и подтвердите новое действие
invalid_service_action
Выбранное действие не разрешено для этой службы
Используйте только кнопку, доступную в текущей строке
Проверка результата
«Запустить»
После периода запуска отображается «Работает», а в «Подробности» служба имеет активное состояние
«Остановить»
Отображается «Остановлена», а в столбце «Действия» появляется «Запустить»
«Перезапустить»
Сначала может отображаться «Запускается», затем — «Работает»; время работы начинается заново
«Запустить сейчас»
В «Подробности» указан успешный результат и обновлена длительность последнего выполнения
«Включить расписание»
Отображается «Работает», указана дата следующего запуска и доступно «Отключить расписание»
«Отключить расписание»
Отображается «Отключена» и доступно «Включить расписание»
Действие завершено, если строка службы показывает ожидаемое состояние после обновления. Запись «Выполнено» в «Журнал действий» служит дополнительным подтверждением.
Последнее обновление
Это было полезно?