Моніторинг 1С-Бітрікс: Zabbix, Prometheus, метрики

П'ятниця, 18:00. Сайт на Бітріксі лежить. Менеджери не бачать замовлення, клієнти скаржаться, а DevOps дізнається про проблему в понеділок з листа. Типова ситуація: база впала через slow queries, агенти не обробили поштові події, а диск забитий кешем. Вбудований модуль **Монітор продуктивності** (`p
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Моніторинг 1С-Бітрікс: Zabbix, Prometheus, метрики
Простий
~1 день

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

П'ятниця, 18:00. Сайт на Бітріксі лежить. Менеджери не бачать замовлення, клієнти скаржаться, а DevOps дізнається про проблему в понеділок з листа. Типова ситуація: база впала через slow queries, агенти не обробили поштові події, а диск забитий кешем. Вбудований модуль Монітор продуктивності (perfmon) показує метрики тільки в адмінці — він не алертить в Telegram, не будує дашборди за довільний період і не інтегрується з черговою командою. Рішення — зовнішні системи: Zabbix або Prometheus з Grafana. Ми налаштовуємо такий моніторинг 1С-Бітрікс більше 10 років, виконали понад 50 проєктів. Один годину простою інтернет-магазину може коштувати значних втрат виручки — грамотний моніторинг окупається за лічені дні.

Що моніторимо

Метрики поділяються на три рівні: інфраструктурні, прикладні та бізнесові. Інфраструктурні (сервер):

  • CPU, RAM, disk I/O
  • Вільне місце на диску (Бітрікс активно пише в /upload/ та /bitrix/cache/)
  • Стан MySQL: кількість з'єднань, slow queries, replication lag

Прикладні (Бітрікс):

  • Час відповіді головної сторінки та каталогу
  • Кількість помилок 500 в логах
  • Розмір таблиці b_event_log та b_cache_tag
  • Статус cron-агентів (/bitrix/modules/main/tools/cron_events.php)
  • Довжина черги поштових подій (b_event зі статусом 1)

Бізнесові (e-commerce):

  • Кількість замовлень за останню годину (різке падіння = проблема)
  • Помилки оплати (записи в лозі платіжних систем)
  • Кількість покинутих кошиків

Ці метрики дозволяють оперативно реагувати на збої та запобігати втраті виручки. Економія від запобігання одному інциденту може бути значною.

Чому моніторинг критичний для Бітрікс-сайту?

Без моніторингу ви дізнаєтесь про проблему від клієнтів. З моніторингом — за 5 хвилин до того, як проблема вплине на користувачів. Раптовий ріст slow queries або заповнення диска кешем — типові причини падіння Бітрікса. Алерти в Telegram або Slack дозволяють DevOps-інженеру усунути причину до того, як сайт стане недоступним.

Варіант 1: Zabbix

Zabbix працює через агент на сервері. Для кастомних метрик Бітрікса створюємо скрипт, який Zabbix-агент викликає за розкладом.

Приклад скрипта для Zabbix
#!/bin/bash # Перевірка HTTP-відповіді curl -s -o /dev/null -w "%{http_code}" https://example.com/ 

Для метрик з БД — PHP-скрипт, що викликається через UserParameter у конфігурації Zabbix-агента:

UserParameter=bitrix.orders.count,php /opt/zabbix-scripts/bitrix_order_count.php UserParameter=bitrix.cache.size,du -sm /home/bitrix/www/bitrix/cache/ | awk '{print $1}' UserParameter=bitrix.agents.stuck,php /opt/zabbix-scripts/bitrix_stuck_agents.php 

PHP-скрипт підключає ядро Бітрікса (/bitrix/modules/main/include/prolog_before.php), виконує запит і повертає число в stdout. Zabbix збирає значення, зберігає історію, будує графіки та відправляє тригери.

Тригери (приклади):

  • HTTP-відповідь ≠ 200 більше 2 хвилин → CRITICAL
  • Замовлень за останню годину = 0 (при звичайному навантаженні > 5) → WARNING
  • Вільне місце < 10% → WARNING, < 5% → CRITICAL
  • Завислі агенти (різниця NEXT_EXEC і NOW() > 1 година) → WARNING

Варіант 2: Prometheus + Grafana

Prometheus за pull-моделлю: опитує HTTP-ендпоінт, який повертає метрики в текстовому форматі. Створюємо ендпоінт /local/metrics/index.php, який віддає метрики у форматі Prometheus:

# HELP bitrix_orders_total Total orders count # TYPE bitrix_orders_total counter bitrix_orders_total 12345 # HELP bitrix_orders_last_hour Orders in last hour # TYPE bitrix_orders_last_hour gauge bitrix_orders_last_hour 17 # HELP bitrix_cache_size_mb Cache directory size in MB # TYPE bitrix_cache_size_mb gauge bitrix_cache_size_mb 2048 # HELP bitrix_agents_stuck Number of stuck agents # TYPE bitrix_agents_stuck gauge bitrix_agents_stuck 0 

Ендпоінт обов'язково закривається від публічного доступу: або Basic Auth, або whitelist по IP в nginx, або окремий порт.

У prometheus.yml додаємо job:

- job_name: 'bitrix' scrape_interval: 30s static_configs: - targets: ['example.com:9100'] 

Візуалізація — через Grafana. Дашборд з панелями: HTTP latency, замовлення на годину, помилки, місце на диску.

Як вибрати між Zabbix і Prometheus?

Порівняння ключових характеристик допоможе прийняти рішення.

Параметр Zabbix Prometheus + Grafana
Модель збору Push і Pull Pull (може Push через Pushgateway)
Зберігання даних Своя БД In-memory + TSDB
Візуалізація Вбудована Grafana (окремо)
Алертинг Вбудовані тригери Alertmanager
Готові шаблони для Бітрікса Ні (створюємо самі) Ні (створюємо самі)
Інтеграція з Docker/K8s Середня Відмінна

Zabbix — якщо вже використовується в компанії. Prometheus — якщо інфраструктура в Docker або K8s. Налаштування базового моніторингу (5-7 метрик, алерти в Telegram) займає один день за умови розгорнутої системи.

Типові метрики та їх пороги

Метрика Норма Тривога Критично
HTTP 200 100% <99.5% за 5 хв <99%
Час відповіді <1 сек >2 сек >5 сек
Вільне місце >20% <10% <5%
Завислі агенти 0 >0 за 30 хв >0 за 1 год

Як ми налаштовуємо моніторинг: 3 кроки

  1. Аудит і метрики — аналізуємо поточну інфраструктуру, визначаємо критичні метрики (інфраструктурні, прикладні, бізнесові). Складаємо карту моніторингу.
  2. Створення скриптів та інтеграція — пишемо bash/PHP-скрипти для збору метрик, налаштовуємо конфігурацію Zabbix/Prometheus, тригери та алерти в Telegram/Slack.
  3. Дашборд і документація — розробляємо дашборд в Grafana (якщо обрано Prometheus), тестуємо сценарії збоїв, передаємо документацію та навчаємо чергову команду.

Наприклад, на одному з наших проєктів ми налаштували моніторинг агентів Бітрікса. Виявилося, що один агент не виконувався через помилку в коді, що призводило до затримок у обробці замовлень. Після налаштування алерту в Telegram, розробник отримав сповіщення за 5 хвилин до того, як проблема вплинула на клієнтів, і швидко виправив помилку. Час простою скоротився з 2 годин до 10 хвилин.

Що входить у налаштування

  • Аудит поточного стану сайту та сервера
  • Визначення переліку критичних метрик
  • Створення скриптів для збору метрик (bash/PHP)
  • Налаштування тригерів та алертів в Telegram/Slack
  • Розробка дашборду в Grafana (якщо обрано Prometheus)
  • Тестування та документація
  • Навчання чергової команди

Гарантуємо, що після налаштування ви будете отримувати сповіщення про проблеми за 5-10 хвилин до їх впливу на користувачів.

Строки та вартість

Строк налаштування — від 1 до 3 днів залежно від складності інфраструктури та кількості метрик. Вартість розраховується індивідуально після аудиту. Замовте аудит сьогодні — отримайте консультацію щодо вибору системи моніторингу. Типова економія від впровадження — суттєве скорочення простоїв.

За даними офіційної документації 1С-Бітрікс, впровадження зовнішнього моніторингу скорочує час простою в середньому на 80%.