Настройка интеграции с системами мониторинга (Zabbix, Prometheus) 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка интеграции с системами мониторинга (Zabbix, Prometheus) 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка интеграции с системами мониторинга (Zabbix, Prometheus) 1С-Битрикс

Сайт на Битриксе упал в пятницу вечером, а узнали об этом в понедельник из письма клиента. Классическая ситуация, если нет мониторинга. Штатный модуль «Монитор производительности» (perfmon) показывает метрики в админке, но не умеет отправлять алерты, строить графики за произвольный период и интегрироваться с дежурной командой. Для этого нужны внешние системы — Zabbix или Prometheus.

Что мониторим

Метрики для Битрикс-сайта делятся на три уровня:

Инфраструктурные (сервер):

  • CPU, RAM, disk I/O — базовые системные метрики
  • Свободное место на диске (Битрикс любит забивать /upload/ и /bitrix/cache/)
  • Состояние MySQL/PostgreSQL: количество соединений, slow queries, replication lag

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

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

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

  • Количество заказов за последний час (резкое падение = проблема)
  • Ошибки оплаты (записи в логе платёжных систем)
  • Количество брошенных корзин

Вариант 1: Zabbix

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

Скрипт /opt/zabbix-scripts/bitrix_metrics.sh для базовых проверок:

#!/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 (graph), заказы в час (stat), ошибки (alert list), место на диске (gauge).

Что выбрать

Zabbix — если уже развёрнут в компании. Поддерживает push и pull, имеет встроенные шаблоны для Linux, MySQL, nginx. Тяжелее в настройке, но мощнее в плане discovery и корреляции событий.

Prometheus + Grafana — если инфраструктура в Docker/Kubernetes или команда предпочитает cloud-native стек. Легче стартовать, лучше визуализация, проще горизонтальное масштабирование.

Настройка базового мониторинга (5-7 метрик, алерты в Telegram/Slack) занимает один рабочий день при условии, что Zabbix или Prometheus уже развёрнуты.