Пятница, 18:00. Сайт на Битриксе лежит. Менеджеры не видят заказы, клиенты жалуются, а DevOps узнаёт о проблеме в понедельник из письма. Типичная ситуация: база упала из-за slow queries, агенты не обработали почтовые события, а диск забит кэшем. Встроенный модуль Монитор производительности (perfmon) показывает метрики только в админке — он не алертит в Telegram, не строит дашборды за произвольный период и не интегрируется с дежурной командой. Решение — внешние системы: Zabbix или Prometheus с Grafana. Мы настраиваем такой мониторинг 1С-Битрикс более 10 лет, выполнили свыше 50 проектов. Один час простоя интернет-магазина обходится в среднем в 50 000 рублей выручки — грамотный мониторинг окупается за считанные дни.
Что мониторим
Метрики делятся на три уровня: инфраструктурные, прикладные и бизнесовые.
Инфраструктурные (сервер):
- 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):
- Количество заказов за последний час (резкое падение = проблема)
- Ошибки оплаты (записи в логе платёжных систем)
- Количество брошенных корзин
Эти метрики позволяют оперативно реагировать на сбои и предотвращать потерю выручки. Экономия от предотвращения одного инцидента составляет от 100 000 рублей.
Почему мониторинг критичен для Битрикс-сайта?
Без мониторинга вы узнаёте о проблеме от клиентов. С мониторингом — за 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 шага
- Аудит и метрики — анализируем текущую инфраструктуру, определяем критические метрики (инфраструктурные, прикладные, бизнесовые). Составляем карту мониторинга.
- Создание скриптов и интеграция — пишем bash/PHP-скрипты для сбора метрик, настраиваем конфигурацию Zabbix/Prometheus, триггеры и алерты в Telegram/Slack.
- Дашборд и документация — разрабатываем дашборд в Grafana (если выбран Prometheus), тестируем сценарии сбоев, передаём документацию и обучаем дежурную команду.
Что входит в настройку
- Аудит текущего состояния сайта и сервера
- Определение перечня критичных метрик
- Создание скриптов для сбора метрик (bash/PHP)
- Настройка триггеров и алертов в Telegram/Slack
- Разработка дашборда в Grafana (если выбран Prometheus)
- Тестирование и документация
- Обучение дежурной команды
Гарантируем, что после настройки вы будете получать уведомления о проблемах за 5-10 минут до их влияния на пользователей.
Сроки и стоимость
Срок настройки — от 1 до 3 дней в зависимости от сложности инфраструктуры и количества метрик. Стоимость рассчитывается индивидуально после аудита. Закажите аудит сегодня — получите консультацию по выбору системы мониторинга. Типичная экономия от внедрения — более 200 000 рублей в год.
По данным официальной документации 1С-Битрикс, внедрение внешнего мониторинга сокращает время простоя в среднем на 80%.







