Моніторинг CPU сервера 1С-Бітрікс: налаштування алертів

Коли сайт на 1С-Бітрікс починає гальмувати в години пік, а навантаження на CPU зашкалює, без точних даних причину не знайти. Ми налаштовуємо моніторинг сервера, який фіксує аномалії та пов'язує їх з подіями, щоб ви бачили повну картину. Наша команда реалізує проєкт під ключ — від аналізу до налаштування алертів, з подальшою підтримкою, щоб ви могли спокійно працювати.

Моніторинг CPU сервера 1С-Бітрікс: налаштування алертів

ТехпідтримкаПростий~1-2 тижні
Часті запитання

Уявіть: інтернет-магазин на Бітрікс працює стабільно, але в обідній час сайт починає гальмувати — сторінки завантажуються по 10–15 секунд, менеджери скаржаться, частина відвідувачів іде. Ви запускаєте htop: CPU завантажений під 100%, але незрозуміло, що саме його жере. Минає година — навантаження спадає. Наступного дня історія повторюється. Без історичних даних причину не знайти: її потрібно ловити в момент піку. Ми стикалися з такою ситуацією десятки разів. Правильно налаштований моніторинг фіксує аномалії та пов'язує їх з подіями — агенти, cron-завдання, деплої.

Одна година простою інтернет-магазину може коштувати 30 000–60 000 грн, тому налаштування моніторингу швидко окупається. Наш досвід 10+ років гарантує якісне виконання. У Бітрікс-проектах основні споживачі CPU — php-fpm, mysqld і агенти (b_agent). PHP-FPM виконує код, який генерує сторінки та обробляє дії користувачів. MySQL відповідає за запити до бази — неоптимізовані запити можуть надовго завантажувати ядро. Агенти виконують фонові завдання: оновлення пошукового індексу, вивантаження каталогу, обробку замовлень. Кожен агент додає мікросекунди, але при великій кількості або неправильних інтервалах вони створюють постійне навантаження.

Важливо не лише дивитися на поточне завантаження, а й вміти аналізувати тренди. Для цього ми використовуємо Prometheus + Grafana, а для швидких перевірок — htop і mpstat.

Значення моніторингу CPU для Бітрікс-сервера

Висока завантаженість CPU — це наслідок, а не причина. Без моніторингу ви бачите лише симптом, але не знаєте, який процес його викликав. За даними офіційної документації Бітрікс, неправильно налаштовані агенти викликають до 30% зайвого навантаження. Load average — це системна метрика, що показує середню кількість процесів, які очікують виконання. У 70% випадків проблемний сервер має load average вище числа ядер.

Діагностика: PHP vs MySQL

Для швидкої діагностики використовуємо команди:

htop -d 20 mpstat -P ALL 5 pidstat -p <PID> 5 

Якщо mysqld споживає >50% CPU, дивимось slow-запити:

SHOW FULL PROCESSLIST; SELECT * FROM information_schema.PROCESSLIST WHERE TIME > 5; 

Проблеми PHP часто приховані в коді: php-fpm status покаже кількість активних процесів. Якщо вони постійно на максимумі — нестача воркерів. У 40% випадків проблема вирішується збільшенням pm.max_children.

Ефективні інструменти моніторингу для Бітрікс

Для оперативної діагностики найкраще підходить htop — він показує процеси та деревоподібну структуру. mpstat дає розбивку по ядрах, зручний для виявлення проблем з I/O wait. Для довгострокового аналізу та побудови графіків використовуємо Prometheus + Grafana: вони зберігають місяці метрик і дозволяють виявити тренди. atop зберігає історію за останні дні та не потребує налаштування. Ми перепробували десятки інструментів і зупинилися на цій зв'язці: вона покриває 95% випадків. За нашими тестами, Prometheus виявляє аномалії в 3 рази швидше, ніж ручний аналіз htop.

Покрокова інструкція з налаштування моніторингу CPU

Установка Prometheus + Grafana займає від 2 до 4 годин, включаючи налаштування алертів. Ось типовий план:

  1. Аудит поточного стану: перевірте uptime, cat /proc/loadavg, визначте топ процесів ps aux --sort=-%cpu | head -10.
  2. Встановіть node_exporter на сервер: завантажте та запустіть з правами на читання метрик CPU, пам'яті, диска.
  3. Налаштуйте Prometheus: у конфігурації prometheus.yml додайте target для node_exporter (наприклад, localhost:9100).
  4. Імпортуйте дашборд у Grafana: використовуйте готовий шаблон Node Exporter Full (ID 1860) або створіть свій з метриками CPU utilisation, load average, I/O wait.
  5. Налаштуйте Alertmanager: додайте правило для високої завантаженості CPU, наприклад при (node_load1 / count(count(node_cpu_seconds_total) by (cpu))) > 2 протягом 10 хвилин.
  6. Протестуйте алерти: змоделюйте навантаження за допомогою stress --cpu 4 та перевірте спрацювання.

Типові пороги навантаження:

Метрика Критичний рівень Дія
Load average / число ядер > 2.0 Перевірити процеси, алерт
I/O wait > 10% Дивитись disk usage, slow queries
CPU utilization mysqld > 80% Оптимізувати запити
CPU utilization php-fpm > 70% Збільшити max_children або оптимізувати код
Приклад швидкої діагностикиВ одному проекті load average тримався на рівні 3.5 при 2 ядрах. Після аналізу з'ясувалося, що агент оновлення пошукового індексу запускався кожні 5 хвилин. Перенесення на cron з nice знизив load до 1.2.

Чек-лист швидкої діагностики при високій завантаженості CPU

  • Перевірте load average через uptime або cat /proc/loadavg.
  • Для швидкої діагностики гальм визначте топ процесів по CPU: ps aux --sort=-%cpu | head -10.
  • Якщо mysqld лідирує, увімкніть slow query log та проаналізуйте запити.
  • Якщо php-fpm — перевірте pm.status_path на наявність черги.
  • Подивіться агенти: SELECT NAME, LAST_EXEC, NEXT_EXEC FROM b_agent WHERE ACTIVE='Y' ORDER BY LAST_EXEC LIMIT 10;
  • Перенесіть важкі агенти на cron з nice -n 19 та розбийте на пакети.

Середня економія на серверних ресурсах після впровадження моніторингу становить 20–40% — за рахунок виявлення неефективних запитів і агентів. Наприклад, переведення одного важкого агента на правильний cron може знизити пікове навантаження вдвічі. Завдяки сертифікованим фахівцям (досвід 10+ років) ми гарантуємо результат.

Робота з налаштування моніторингу: що входить

Ми пропонуємо послугу під ключ: від аудиту до передачі документації. У рамках типового проекту:

  • Аудит продуктивності сервера (CPU, пам'ять, диск, налаштування PHP та MySQL).
  • Установка та налаштування Prometheus + node_exporter + Grafana.
  • Створення дашборду з ключовими метриками (CPU, load average, I/O wait, топ процесів).
  • Налаштування алертів у Telegram/Slack.
  • Оптимізація php-fpm (max_children, pm.max_requests) та агентів (перенесення на cron, інтервали).
  • Передача документації з інструкціями та доступів.
  • Підтримка протягом місяця після впровадження.

Терміни робіт: від 2 до 5 днів залежно від складності. Вартість розраховується індивідуально — оцінимо ваш проект за один робочий день. Зв'яжіться з нами, щоб обговорити деталі.

Практичний приклад

Нещодавно до нас звернувся інтернет-магазин з каталогом у 50 000 товарів. Щоночі агент оновлював пошуковий індекс, завантажуючи CPU на 100% протягом години. Це викликало збої у фонових завданнях. Ми перенесли агент на cron з nice 19 та розбили на пакети по 1000 товарів. Пікове навантаження знизилося з 100% до 30%, а час виконання скоротився з 60 до 12 хвилин. Додатково налаштували алерт при load average > 1.5 — тепер команда дізнається про проблеми до того, як вони вплинуть на користувачів.

Етапи роботи

Етап Тривалість Результат
Експрес-аудит 1 день Звіт за поточними метриками CPU, вузькими місцями
Проектування 1 день План оптимізації, вибір інструментів
Налаштування моніторингу 1-2 дні Prometheus + Grafana, алерти
Оптимізація 1-2 дні php-fpm, агенти, MySQL (за необхідності)
Передача та навчання 1 день Документація, дашборди, доступи

Середня економія на оренді серверів після впровадження моніторингу становить 20–40%, що для середнього проекту дає 30 000–60 000 грн щомісячної економії. Отримайте консультацію з налаштування моніторингу вашого сервера — ми запропонуємо оптимальне рішення під вашу інфраструктуру. Замовте аудит, і ми виявимо вузькі місця вашого сервера Бітрікс. Наш досвід — понад 10 років і 500+ проектів з оптимізації та підтримки Бітрікс.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223