Настройка мониторинга производительности 1С-Битрикс
Мониторинг производительности — это не разовая диагностика, а постоянный контроль: когда деградация началась, что изменилось, где критическая точка. Без мониторинга проблема обнаруживается клиентом, а не командой.
Встроенный мониторинг Битрикс
Модуль «Производительность» (perfmon) ведёт журнал медленных страниц. Настройка: Настройки → Производительность → Монитор производительности.
Порог по умолчанию — 2 секунды. Страницы медленнее порога попадают в лог с деталями: время SQL, количество запросов, время компонентов. Таблица b_perf_hit — можно запрашивать напрямую для агрегации.
SELECT URL, AVG(SQL_TIME) avg_sql, AVG(QUERIES_COUNT) avg_queries, COUNT(*) hits
FROM b_perf_hit
WHERE HIT_DATETIME > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY URL
ORDER BY avg_sql DESC
LIMIT 20;
PHP-FPM статус
Добавьте в конфиг PHP-FPM пула:
pm.status_path = /fpm-status
В nginx:
location /fpm-status {
allow 127.0.0.1;
deny all;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Endpoint /fpm-status показывает активные/ожидающие воркеры. active processes близко к max_children — PHP saturated.
Prometheus + Grafana
Стек для профессионального мониторинга. За 3–4 часа настройки получаете дашборды с историей.
Экспортеры:
-
node_exporter— CPU, RAM, диск, сеть -
mysqld_exporter— метрики MySQL/MariaDB -
php-fpm_exporter— метрики PHP-FPM из/fpm-status -
redis_exporter— метрики Redis
Ключевые метрики для Битрикс в Grafana:
-
php_fpm_active_processes / php_fpm_max_active_processes— загрузка PHP-FPM -
mysql_global_status_slow_queries— количество медленных запросов -
redis_memory_used_bytes— использование памяти Redis -
node_load1/node_load5— системная нагрузка
Алертинг
Настройте оповещения для критических событий:
| Условие | Порог | Канал |
|---|---|---|
| PHP-FPM active > 85% max | 5 минут | Telegram |
| MySQL slow queries > 10/мин | — | |
| Disk I/O wait > 30% | 3 минуты | Telegram |
| Время ответа сайта > 3 с | 2 минуты | Telegram + звонок |
| Ошибки 5xx > 1% запросов | — | Telegram |
Простой внешний мониторинг доступности: UptimeRobot (бесплатный, проверка раз в 5 минут) или Betteruptime. Проверяет HTTP-статус и уведомляет при недоступности.







