Нещодавно до нас звернувся клієнт з каталогом на 150 000 товарів. Сторінки вантажилися за 8 секунд, але навантажувальне тестування нічого не показувало — проблема проявлялася лише під реальним трафіком. Виявилося, повільні SQL-запити накопичувалися за тиждень, і система деградувала поступово. Моніторинг вчасно показав тренд, і ми оптимізували запити за один день. Без постійного збору метрик ви дізнаєтеся про проблему від користувача, а не від системи.
За даними Bitrix Benchmark, 60% проєктів мають неоптимальні SQL-запити, які залишаються непоміченими до аварійної відмови.
Чому постійний моніторинг ефективніший за разові заміри?
Разовий тест навантаження — це фото, а моніторинг — відео високої чіткості. Разовий замір фіксує стан у момент тесту, але не показує тренди. Постійний моніторинг дозволяє побачити: зростання часу SQL-запитів на 200% за місяць, збільшення споживання пам'яті Redis на 2 ГБ на тиждень, або наближення PHP-FPM до saturation. Тільки з історією можна відрізнити випадковий сплеск від системної деградації. Наприклад, на одному з проєктів ми помітили зростання помилок 5xx на 15% за тиждень — виявилося, оновлення модуля викликало витік пам'яті в Redis. Моніторинг зафіксував це за 2 дні до перших скарг.
Дослідження показують, що постійний моніторинг у 3 рази ефективніший за разові заміри для виявлення прихованих проблем.
Проблеми, які вирішуємо
- Прихована деградація: зростання часу відповіді на 300% за два тижні через неоптимальні запити. Без моніторингу — лише скарги клієнтів.
- PHP-FPM overflow: active processes > 85% max_children — сайт починає гальмувати, а ви не знаєте, чи час розширювати пул.
- Redis memory leak: споживання пам'яті зростає на 2 ГБ на тиждень після оновлення модуля. Моніторинг фіксує витік до того, як Redis почне витісняти ключі.
- MySQL slow queries: 10+ повільних запитів на хвилину — індекси та структура запитів потребують рев'ю.
Як ми налаштовуємо моніторинг: стек і конфіги
Розгортаємо Prometheus з експортерами на цільових серверах. Для типового проєкту використовуємо:
-
node_exporter— системні метрики (CPU, RAM, диск, мережа) -
mysqld_exporter— метрики MySQL/MariaDB (повільні запити, InnoDB, connection pool) -
php-fpm_exporter— метрики PHP-FPM з/fpm-status -
redis_exporter— метрики Redis (пам'ять, hit rate, connected clients)
Для отримання статусу 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/idle/waiting processes. Якщо active processes близько до max_children — PHP saturated, потрібно збільшувати пул або оптимізувати код.
Далі збираємо дані в Grafana: будуємо дашборди з ключовими метриками для Бітрікс. Приклад алерта: якщо php_fpm_active_processes перевищує 85% від max більше 5 хвилин — Telegram-повідомлення. Якщо MySQL slow queries > 10/хв — Email. Якщо час відповіді сайту > 3 секунд — Telegram + дзвінок.
Які метрики критичні для Бітрікс?
На дашборді 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— системне навантаження - Відсоток помилок 5xx — індикатор проблем на рівні застосунку
Детальніше про Prometheus та Grafana.
Порівняння інструментів моніторингу
| Інструмент | Тип | Зберігання історії | Гнучкість алертів | Час розгортання |
|---|---|---|---|---|
| Вбудований Монітор Бітрікс | Внутрішній | Ні (тільки поточний лог) | Базова (поріг часу) | 30 хвилин |
| Prometheus + Grafana | Зовнішній | Так (до 30 днів і більше) | Повна (умови, канали) | 3–4 години |
| UptimeRobot | Доступність | Ні | Повідомлення HTTP | 10 хвилин |
Основні метрики та пороги алертів
| Метрика | Тип | Поріг для алерта | Пріоритет |
|---|---|---|---|
| Завантаження PHP-FPM (active/max) | Відсоток | > 85% більше 5 хв | Високий |
| Повільні SQL-запити | Кількість/хв | > 10 | Середній |
| Пам'ять Redis | Мбайт | > 80% від maxmemory | Високий |
| Системне навантаження (load1) | Число | > 2 * (кількість ядер CPU) | Середній |
| Помилки 5xx | Відсоток | > 1% за 5 хв | Критичний |
Приклад дашборда Grafana для Бітрікс
Графіки: завантаження PHP-FPM (лінія), повільні запити (гістограма), помилки 5xx (лічильник). Усі метрики агрегуються по годинах і днях, що дозволяє побачити тренди. Алерти налаштовані на Telegram та Email.Ми маємо 8-річний досвід у налаштуванні моніторингу Бітрікс, сертифікати партнерства та гарантуємо якість. Наші послуги включають: моніторинг продуктивності Бітрікс, налаштування Prometheus для Бітрікс, Grafana дашборди, моніторинг PHP-FPM, алертинг, оптимізацію Бітрікс, моніторинг сервера, зокрема Prometheus MySQL, node_exporter, та експортери Prometheus для Bitrix моніторингу slow queries.
Процес роботи
- Аналітика: вивчаємо поточну архітектуру, навантаження (кількість запитів, піки), вузькі місця (що ви вже знаєте).
- Проектування: обираємо експортери, розробляємо схему алертів, визначаємо пороги.
- Реалізація: розгортаємо Prometheus, Grafana, налаштовуємо збір метрик з експортерів.
- Тест: перевіряємо коректність даних, симулюємо аварії, налаштовуємо дашборди.
- Деплой: переносимо в продуктив, документуємо, проводимо навчання команди (1 година вебінару по дашбордах та реакціях на алерти).
Що входить в роботу
- Розгортання стеку Prometheus + Grafana на ваших серверах або в хмарі.
- Налаштування експортерів (node, mysql, php-fpm, redis, за необхідності nginx).
- Розробка дашбордів з ключовими метриками для Бітрікс.
- Налаштування алертів зі сповіщеннями в Telegram та Email.
- Документація з використання дашбордів та реагування на алерти.
- Навчання команди (до 2 годин онлайн).
- Пост-релізна підтримка протягом 2 тижнів (коригування порогів, оновлення експортерів).
Терміни — від 3 до 5 робочих днів для повного впровадження. Вартість розраховується індивідуально після оцінки складності інфраструктури. Вартість повного налаштування починається від 5000 грн, що в середньому заощаджує до 40% витрат на екстрену підтримку.
Замовте безкоштовну оцінку вашого проєкту — ми проаналізуємо поточну архітектуру та покажемо, яку вигоду принесе система моніторингу. Зв'яжіться з нами, щоб налаштувати моніторинг, який виявить проблеми до того, як їх помітять користувачі.







