Налаштування APM (Application Performance Monitoring) для 1С-Бітрікс

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

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

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

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

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

Налаштування APM (Application Performance Monitoring) для 1С-Бітрікс

APM — це постійне спостереження за продуктивністю додатку в реальному часі: час відповіді, кількість помилок, повільні запити, деградація під навантаженням. На відміну від профайлерів (Xdebug, Blackfire), які запускаються вручну, APM працює безперервно й сигналізує ще до того, як клієнти почнуть скаржитися.

З чого складається APM для Бітрікс

Для 1С-Бітрікс практично використовуються два стеки: Elastic APM (open-source, self-hosted) та New Relic / Datadog (SaaS). Принцип однаковий — PHP-агент перехоплює виконання запитів і відправляє метрики в центральне сховище.

Elastic APM — схема:

PHP-agent (elastic-apm-php) → APM Server → Elasticsearch → Kibana (APM UI)

Установка PHP-агента:

# Debian/Ubuntu
curl -L -O https://github.com/elastic/apm-agent-php/releases/download/v1.x.x/apm-agent-php_Linux_x86-64.deb
dpkg -i apm-agent-php_Linux_x86-64.deb

У php.ini:

extension=elastic_apm.so
elastic_apm.server_url=http://apm-server:8200
elastic_apm.service_name=bitrix-site
elastic_apm.environment=production
elastic_apm.transaction_sample_rate=0.1

transaction_sample_rate=0.1 — профілюється 10% запитів. На навантажених сайтах 100% дає помітне навантаження.

Що моніторить APM у Бітрікс

Агент автоматично перехоплює:

  • Вхідні HTTP-запити — час відповіді, статус, URL, метод.
  • SQL-запити — до b_iblock_element, b_sale_order, b_crm_deal та всім іншим таблицям. Видно: час, тіло запиту, план виконання.
  • Зовнішні HTTP-викликиcurl_exec, file_get_contents. Запити до 1С, платіжних систем, зовнішніх API.
  • Винятки\Bitrix\Main\SystemException, необроблені помилки.

Для користувацьких операцій (довгий скрипт імпорту, важка агрегація) створюємо span вручну:

use Elastic\Apm\ElasticApm;

$transaction = ElasticApm::getCurrentTransaction();
$span = $transaction->beginCurrentContextSpan('import.products', 'custom');
// ... логіка імпорту ...
$span->end();

Ключові метрики та алерти

Після налаштування в Kibana APM UI доступні:

  • Response time — середній та 95-й перцентиль часу відповіді за URL.
  • Throughput — запитів на хвилину.
  • Error rate — відсоток запитів з помилками.
  • Apdex — індекс задоволення: співвідношення швидких (< T), допустимих (< 4T) та повільних запитів.

Алерти налаштовуються в Kibana Alerting: якщо p95 response time перевищує 3 секунди понад 5 хвилин — сповіщення в Slack або email.

Строки налаштування

Етап Строк
Установка APM Server + Elasticsearch 1 день
Налаштування PHP-агента, перші дані 2–4 години
Налаштування дашбордів та алертів 1 день
Тонке налаштування (sampling, користувацькі span) 1–2 дні

APM не замінює профайлування — він показує що деградує та коли. Профайлер пояснює чому.