Мониторинг сайта на MODX
MODX Revolution — гибкая PHP CMS, популярная в России для корпоративных сайтов и кастомных проектов. Платформа стабильная, но как и любая CMS подвержена падениям из-за хостинга, плагинов или человеческого фактора.
Зачем мониторить MODX
Section titled “Зачем мониторить MODX”MODX часто используют для уникальных проектов где каждое падение особенно болезненно: индивидуальный дизайн, кастомные сниппеты, интеграции. Когда что-то ломается, разбираться приходится одному разработчику — желательно узнавать сразу, пока контекст свежий.
Типичные причины падения MODX
Section titled “Типичные причины падения MODX”1. Кэш испорчен
Section titled “1. Кэш испорчен”MODX активно использует кэш (core/cache/). Если папка переполнена или есть мусор — могут быть случайные 500-е ошибки. Очистка кэша обычно решает.
2. Плагин/сниппет сломался
Section titled “2. Плагин/сниппет сломался”Кто-то правил TV-параметр или сниппет → ошибка PHP в шаблоне → 500-я.
3. БД отвалилась
Section titled “3. БД отвалилась”MODX делает много запросов к БД при каждом хите. Если БД упала или превышен лимит подключений — сайт лежит.
4. Превышение памяти
Section titled “4. Превышение памяти”Чаще на shared-хостинге. MODX + 30 плагинов могут не уместиться в 128 МБ.
5. PHP-версия несовместима
Section titled “5. PHP-версия несовместима”После обновления PHP на хостинге MODX (особенно старые версии 2.x) могут падать. Нужно обновлять и MODX до совместимой ветки.
6. Тонна спама в формах
Section titled “6. Тонна спама в формах”В сниппеты для обратной связи активно льют спам. Если нет защиты — БД распухает, формы тормозят, сайт ложится.
Что мониторим у MODX
Section titled “Что мониторим у MODX”Стандартный набор:
- ✅ HTTP-доступность главной страницы
- ✅ SSL-сертификат (7 порогов уведомлений)
- ✅ Проверка из 3 регионов
Как добавить
Section titled “Как добавить”-
Зарегистрируйтесь в Monisite
-
Нажмите + Добавить сайт на дашборде
-
Введите URL сайта
-
Через минуту увидите первую проверку
Совет: легковесный health-эндпоинт
Section titled “Совет: легковесный health-эндпоинт”MODX-сайты часто имеют сложные главные страницы с динамическим контентом из БД. Полноценная главная — не лучший выбор для мониторинга каждую минуту.
Сделайте простой health-эндпоинт:
Способ 1. Простой PHP-файл в корне:
Создайте /health.php рядом с MODX (не внутри core/):
<?phpheader('Content-Type: text/plain');echo "OK";?>Используйте https://example.com/health.php в Monisite.
Способ 2. Лёгкий ресурс в MODX
Создайте в админке простой ресурс «status» с шаблоном без сложной логики (просто статичный HTML «OK»). Мониторьте https://example.com/status/.
Минус способа 1 — проверяет только что PHP жив, но не MODX. Минус способа 2 — нагружает MODX чуть больше, но проверяет ядро.
Что делать если MODX упал
Section titled “Что делать если MODX упал”1. Очистить кэш:
Через FTP/SSH удалить содержимое:
core/cache/*Это решает 30% проблем без всякого разбирательства.
2. Включить debug:
В core/config/config.inc.php:
$modx_error_handler_class = 'modErrorHandler';$modx_error_handler_options = array( 'log_target' => 'FILE', 'log_level' => xPDO::LOG_LEVEL_INFO,);После — посмотреть лог в core/cache/logs/error.log.
3. Отключить плагины:
Через БД (если админка не открывается):
UPDATE modx_site_plugin_events SET disabled = 1;Сайт поднимется без плагинов. Дальше включать по одному.
4. Проверить БД:
mysql -u user -p> SHOW PROCESSLIST;Если видите много долгих запросов от MODX — оптимизируйте сниппеты которые их генерируют.
5. Логи сервера:
sudo tail -100 /var/log/nginx/error.logsudo tail -100 /var/log/php8.2-fpm.logЗащита от спама в формах
Section titled “Защита от спама в формах”Базовая защита (для встроенных форм MODX):
- honeypot — невидимое поле, заполняется только ботами
- reCAPTCHA / SmartCaptcha — стандартная защита
- rate-limit в nginx — не более N запросов в минуту с одного IP
Это снизит нагрузку и количество фейковых 503.
Чем поможет Monisite
Section titled “Чем поможет Monisite”MODX часто хостится у небольших агентств или фрилансеров. Они не сидят 24/7 перед монитором ваших сайтов. Внешний мониторинг — единственный способ узнать о падении сразу.
- Каждую минуту проверка из 3 регионов
- Уведомления в Telegram, MAX, email
- Мониторинг SSL
- Бесплатно, без лимита сайтов