Команды Monitor
Раздел показывает локальный журнал команд, полученных от Aggregator, и результаты их выполнения.
[Скриншот 1: журнал команд Monitor]
Рекомендуемый pull-режим
При pull-режиме Monitor сам обращается к Aggregator, получает ожидающие команды, выполняет их и отправляет результат. Центральному серверу не требуется открывать входящее соединение к административной части клиента.
Какие команды поддерживаются
- собрать метрики;
- собрать и отправить метрики;
- запустить бэкап через настроенный адаптер;
- проверить восстановление;
- очистить/удалить бэкап;
- обновить ограниченный набор настроек Monitor;
- проверить обновления;
- очистить выбранный тип кэша;
- перепроверить ресурсы, базу и авторизации;
- применить политику мониторинга;
- проверить или установить обновление модуля SenDev;
- изменить whitelist;
- проверить Python-метрики.
[Скриншот 2: детали результата команды]
Почему список фиксированный
CommandService не предоставляет универсальной команды «выполнить PHP» или «выполнить shell». Это принципиально уменьшает риск превращения канала мониторинга в удалённую консоль. Каждая команда имеет заранее известную обработку и ожидаемые параметры.
Работа с журналом
- Проверьте имя команды и время получения.
- Посмотрите итоговый статус.
- При ошибке откройте подробный результат.
- Сопоставьте с журналом Monitor.
- Если команда повторяется с ошибкой, устраните причину, а не ставьте её бесконечно в очередь.
Важно: Удалённые команды следует использовать для типовых обслуживающих операций. Действия, меняющие код или данные проекта, должны оставаться контролируемыми и журналируемыми.
Команды, меняющие состояние
Команды clear_cache, backup_cleanup, delete_backup, apply_module_update и update_settings способны изменить состояние проекта. Для них нужен более строгий регламент, чем для collect_metrics или resource_check: кто инициировал, какой сайт, какие параметры и какой результат.
Ограниченное обновление настроек
Удалённая команда update_settings принимает только заранее разрешённый набор параметров Monitor: интервал, политику хранения бэкапов и адреса/режим получения команд. Она не является универсальным способом изменить любую Option модуля.
Идемпотентность
При сетевом сбое результат команды может прийти с задержкой. Для будущего Hub каждой команде нужен уникальный ID и защита от повторного выполнения опасных действий. Уже сейчас перед повторным запуском delete/update проверяйте фактический статус клиента.
[Скриншот 3: пример команды из Aggregator]