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

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Моніторинг CPU сервера 1С-Бітрікс: налаштування алертів
Простий
~1-2 тижні
Часті запитання

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

Етапи розробки

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1074

Уявіть: інтернет-магазин на Бітрікс працює стабільно, але в обідній час сайт починає гальмувати — сторінки завантажуються по 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+ проектів з оптимізації та підтримки Бітрікс.

Техпідтримка 1С-Бітрікс: з чого починається реальна допомога

Обмін з 1С через \Bitrix\Sale\Exchange зупинився в п'ятницю ввечері. Залишки на сайті — вчорашні, клієнти замовляють товар, якого немає. Менеджер пише в чат «1С не завантажується», але проблема — в PHP-процесі, який впав через memory_limit при імпорті 40 000 SKU. На діагностику та виправлення потрібно 20 хвилин, якщо знаєш, куди дивитися. Без підтримки — до понеділка сайт торгує повітрям. Ми — команда з 7-річним досвідом обслуговування проектів на 1С-Бітрікс. За цей час провели понад 50 успішних впроваджень і врятували не один сайт від простоїв.

Чому техпідтримка 1С-Бітрікс критична?

Бітрікс — живий продукт. Виходять патчі безпеки, змінюються версії модулів, кастомізовані рішення потребують сумісності. Чим довше сайт живе без обслуговування, тим вищий ризик:

  • Вразливості. Бітрікс випустив патч для модуля vote (CVE-2022-XXXX). Без підтримки його ставлять «коли руки дійдуть» — через 3 місяці. За цей час сайт можуть зламати. Ми накочуємо критичні патчі протягом 48 годин — але тільки після перевірки на staging, тому що оновлення main до 24.x ламало CIBlockElement::GetList з кастомними властивостями.
  • Ліцензія. Закінчилася — втрата доступу до оновлень та маркетплейсу. Відстежуємо терміни, повідомляємо за 60/30/14 днів.
  • Моніторинг. Не просто «сайт пінгується». Перевіряємо ключові сценарії: додавання в кошик (sale.basket.add), оформлення замовлення, обмін з 1С, робота пошуку. Якщо API 1С повернув 500, а сторінка віддає 200 — пінг-моніторинг цього не побачить.
  • Бекапи. Створюються автоматично, але хто перевіряє відновлення? Раз на квартал розгортаємо на тестовому сервері та прогоняємо smoke-тести.

Оновлення ядра раз на місяць знижує кількість вразливостей у 3 рази порівняно з щоквартальним підходом. Це не маркетинг — це статистика з нашої практики.

Що входить в техпідтримку 1С-Бітрікс?

Регулярні роботи (включені в абонент):

  • Моніторинг: uptime + сценарії (кошик, замовлення, обмін 1С)
  • Бекапи: pg_dump / mysqldump + rsync файлів → ізольоване сховище. Перевірка відновлюваності
  • Оновлення ядра Бітрікс та модулів: \Bitrix\Main\ModuleManager::isModuleInstalled() — перевірка залежностей, накат на staging, тестування, деплой
  • PHP та серверне ПЗ — оновлення на виділеному сервері. Перехід між мажорними версіями PHP — з перевіркою deprecated-викликів у кастомному коді
  • Аналіз /bitrix/admin/event_log.php та серверних логів — превентивне усунення помилок
  • SSL, домен — перевипуск та продовження
  • Щомісячний звіт: що зробили, що знайшли, що рекомендуємо

Роботи за запитом (з годинного банку):

  • Баги: «картка товару не відкривається на Safari» — діагностика, фікс, деплой
  • Контент: банери, сторінки, категорії, товари
  • Інтеграції: нова платіжка, нова доставка, новий маркетплейс (Wildberries API, Ozon Seller API)
  • Оптимізація: CIBlockElement::GetList з 20 JOIN гальмує → рефакторинг на D7 ORM з фасетним індексом
  • SEO-доробки: мета-теги, Schema.org, sitemap
  • Консультації: «Який модуль Бітрікса обрати для розстрочки?»

Як ми оновлюємо ядро Бітрікс?

Оновлення — процес, що не терпить шаблонів. Спочатку перевіряємо сумісність кастомних модулів з новою версією \Bitrix\Main\Application. Якщо в коді використовуються deprecated-методи — фіксимо їх до деплою. Staging-оточення точна копія прода, включаючи налаштування кешування та черги агентів. Після тестів викочуємо, моніторимо логи error_log та подій. При найменшому відхиленні — відкат за 5 хвилин. — Інструкція з оновлення ядра на dev.1c-bitrix.ru

Які типові завдання вирішуємо в рамках техпідтримки?

Контент. Банери до «Чорної п'ятниці» — за день, тому що маркетолог згадав у четвер. Нова категорія з фільтрами через catalog.smart.filter. Лендінг під рекламну кампанію — з готових компонентів, без дизайнера, за 4-6 годин.

Функціонал. Поле «прикріпити файл» в form.result.new — 2 години. Форма запису на консультацію з інтеграцією в AmoCRM через webhook — 4-6 годин. Підключення JivoSite / Carrot Quest — 1-2 години.

Верстка. «Поїхав» блок на iPhone з Dynamic Island — Safari рендерить env(safe-area-inset-top) по-своєму. Оновили ядро Бітрікс — зламався CSS картки товару, тому що компонент catalog.element оновив HTML-структуру. Чинимо.

Інтеграції. Обмін з 1С: агент CAgent по catalog.import.1c впав по таймауту при 50 000 товарів — розбиваємо імпорт на пакети через STEP. API СДЕК оновився з v1.1 на v2 — переписуємо обробник sale.delivery.handler. Новий еквайринг — налаштовуємо sale.paysystem.handler.

Серверні. Перехід між мажорними версіями PHP: grep по deprecated (each(), create_function(), {$var} строковий доступ), фікс, тестування. SSL: certbot не продовжив — cron-задача не відпрацьовувала через зміну шляху до Python. DKIM/SPF/DMARC для поштового домену — щоб сповіщення про замовлення не потрапляли в спам.

Терміни та вартість

Параметр Старт Бізнес Профі
Годин / місяць до 5 до 15 до 40
Реакція 8 роб. годин 4 роб. години 1 година 24/7
Моніторинг Щотижневий Щоденний Real-time
Бекапи Щотижневі Щоденні Щоденні + інкрементальні
Оновлення ядра Щоквартально Щомісячно У міру виходу
Виділений менеджер Ні Так Так
Звіт Щомісячний Щомісячний Щомісячний + аналітика
Перенесення годин ні В межах кварталу В межах півріччя

Вартість розраховується індивідуально під обсяг завдань. Додаткові години за ставкою з договору. Можлива зміна пакету: підвищення — в будь-який момент, пониження — з початку наступного місяця. Нестандартні вимоги обговорюємо окремо. Зв'яжіться з нами — підберемо оптимальний варіант.

Екстрена підтримка — коли горить

Сайт ліг, оплата не проходить, виявлено злам.

  • Гаряча лінія — Telegram + телефон. Для преміум-клієнтів — виділений номер чергового інженера
  • Реакція від 15 хвилин на критичні інциденти
  • Поза чергою — критичні інциденти обробляються раніше поточних завдань, незалежно від залишку годин
  • Постмортем — після усунення фіксуємо, що зламалося, чому і як запобігти. Документуємо в базі знань проекту
Як передати проект від іншої команди? Беремо проекти будь-яких розробників. Починаємо з аудиту — «міни» є завжди. - Код: grep по `mysql_query` (так, і зараз зустрічається), несанкціоновані `eval()`, SQL без `ForSql()`, хардкод паролів в `init.php` - Інфраструктура: права на файли, конфігурація Nginx/Apache, налаштування PHP, схема деплою - Документація: збираємо архітектуру, нестандартні рішення, інтеграції - Доступи: сервер, хостинг, домен, DNS, платіжки, 1С — складаємо реєстр

Приймання — 3-5 робочих днів. Після нього — повноцінна підтримка.

Які бекапи і як часто? Залежно від тарифу: від щотижневих до щоденних + інкрементальні. Обов'язково перевіряємо відновлення на тестовому сервері раз на квартал.
Чи можна змінити тариф у процесі? Так. Підвищення — в будь-який момент, пониження — з початку наступного місяця.

Замовте техпідтримку зараз — отримайте первинний аудит в подарунок та гарантію безперебійної роботи вашого проекту на 1С-Бітрікс.