Мониторинг реальных пользователей
Мониторинг реальных пользователей (англ. real user monitoring, RUM)[1] — технология пассивного мониторинга, позволяющая фиксировать всё взаимодействие пользователя с веб-сайтом либо с клиентом, который взаимодействует с сервером или облачным приложением. Отслеживание действий настоящих пользователей на сайте или в приложении важно для операторов с целью определить, обслуживаются ли пользователи быстро и без ошибок, а если нет — какая часть бизнес-процесса даёт сбой[2]. Провайдеры программного обеспечения как услуги (SaaS) и поставщики приложений (ASP) используют мониторинг реальных пользователей для контроля и управления качеством предоставляемых сервисов. Данные мониторинга используются для оценки фактического уровня обслуживания конечных пользователей, а также для выявления ошибок или замедления работы сайтов. Такие данные также применяются, чтобы выявить, приводят ли изменения на сайтах к желаемым результатам или вызывают сбои.
Организации часто используют мониторинг реальных пользователей для тестирования изменений в рабочей среде либо для прогнозирования изменений поведения на сайте или в приложении с помощью A/B-тестирования и других подходов. По мере перехода технологий к гибридным средам — например, облачным решениям, десктопным клиентам, виджетам и приложениям — становится всё важнее отслеживать использование программ с самой стороны клиента.
Технология охватывает различные типы платформ. Для мониторинга мобильных приложений применяются встраиваемые нативные SDK, которые отслеживают взаимодействия пользователя, время загрузки экранов и сбои[1][3]. В одностраничных приложениях (SPA) RUM поддерживает отслеживание асинхронных вызовов (XHR/AJAX), динамической загрузки контента и изменения маршрутов[1][4].
Собираемые метрики производительности напрямую связаны с бизнес-показателями. Инструменты RUM позволяют выявить влияние скорости загрузки и пользовательского опыта (UX) на коммерческие результаты, такие как уровень конверсии, показатель отказов и удержание клиентов[5][6][7].
Мониторинг реальных пользователей типично реализован как «пассивный мониторинг»: устройство RUM собирает веб-трафик, не вмешиваясь в функционирование сайта. Чаще всего для получения обратной связи от браузера либо клиента в страницу внедряется некий JavaScript или встраивается нативный код в приложение. Эти данные собираются от множества пользователей и агрегируются[8].
Принцип работы и техническая реализация
Для сбора данных в SPA применяются JavaScript-инъекции (внедрение скриптов или легковесных агентов). Часто используются решения на базе OpenTelemetry JavaScript/Browser SDK, которые автоматически инструментируют браузерные API (перехват XHR, Fetch, событий маршрутизации и действий пользователя) и передают собранную телеметрию через OTLP-экспортер[9].[10]
На мобильных платформах (iOS и Android) мониторинг реализуется через интеграцию нативных SDK (например, для Swift и Android). Они встраиваются в код приложения для сбора метрик производительности и пользовательских сессий, после чего отправляют данные на бэкенд, в том числе с поддержкой стандартов OpenTelemetry для создания единого конвейера телеметрии[9].[10]
Ключевые метрики
Системы мониторинга реальных пользователей (RUM) играют ключевую роль в измерении метрик Core Web Vitals, так как они собирают «полевые данные» (field data) непосредственно с устройств посетителей. Это позволяет учитывать реальные условия сети, производительность устройств и фактическое поведение пользователей[11][12]. К основным метрикам относятся:
- INP (Interaction to Next Paint) — измеряет общую отзывчивость страницы: время от взаимодействия пользователя (клик, касание, ввод) до следующего визуального обновления. В 2024 году эта метрика заменила FID. INP критически важна для RUM, так как её невозможно полноценно измерить лабораторными тестами; сбор данных о реальных взаимодействиях помогает выявлять задержки на слабых устройствах и при различных сценариях использования[13][11].
- LCP (Largest Contentful Paint) — оценивает воспринимаемую скорость загрузки: время от начала навигации до отрисовки самого крупного видимого элемента контента. RUM позволяет отслеживать LCP в реальных сетях и на различных устройствах, что даёт возможность фильтровать данные по регионам, типам устройств и страницам для точной диагностики проблем загрузки[13][12].
- CLS (Cumulative Layout Shift) — измеряет визуальную стабильность страницы, фиксируя неожиданные сдвиги макета во время загрузки и взаимодействия. RUM помогает выявлять сдвиги макета, с которыми сталкиваются пользователи в реальных условиях на экранах разных размеров, и точно определять элементы, вызывающие нестабильность[13][11].
Сравнение с синтетическим мониторингом
Мониторинг реальных пользователей (RUM) и синтетический мониторинг представляют собой два различных, но взаимодополняющих подхода к оценке производительности веб-приложений[14][15]. Базовое отличие подходов заключается в том, что RUM основывается на реальных действиях людей, а не программных симуляциях набора тестовых сценариев.
| Критерий | Мониторинг реальных пользователей (RUM) | Синтетический мониторинг |
|---|---|---|
| Цели | Оценка реального пользовательского опыта (UX), оптимизация Core Web Vitals, выявление проблем у фактических посетителей и анализ влияния производительности на бизнес-метрики[16].[15] | Проактивное выявление сбоев до того, как они затронут пользователей, контроль доступности (uptime), проверка соблюдения SLA и тестирование производительности[16]. |
| Методы сбора данных | Пассивный (реактивный) сбор «полевых данных». Осуществляется через внедрение JavaScript-кода, который собирает метрики непосредственно из браузеров реальных пользователей во время их взаимодействия с сайтом[14].[16] | Активный (проактивный) сбор «лабораторных данных». Использует автоматизированные скрипты, имитирующие поведение пользователей по заданному расписанию (24/7) из различных географических точек и контролируемых сред[14].[16] |
| Ограничения | Полностью зависит от наличия трафика (не работает до запуска в продакшен или при полном падении сайта); отсутствие возможностей для бенчмаркинга; ограничения браузерных API по сбору данных; большой объём собираемых данных[14]. | Ограничен только заранее написанными сценариями (не выявляет непредвиденные пути пользователей); результаты предсказуемы и не отражают реального разнообразия устройств, сетей и условий конечных пользователей[14]. |
Применение искусственного интеллекта
Современные системы мониторинга реальных пользователей (RUM) активно применяют искусственный интеллект и машинное обучение для анализа данных. Алгоритмы машинного обучения изучают исторические паттерны и адаптируются к нормальному поведению систем, что позволяет автоматизировать обнаружение аномалий (например, внезапных скачков задержек) и значительно снизить количество ложных срабатываний. Для точного выявления первопричин сбоев применяется каузальный (причинно-следственный) ИИ, анализирующий графы зависимостей. Кроме того, платформы мониторинга интегрируются с большими языковыми моделями (LLM), что позволяет ИИ-агентам напрямую анализировать производственные сигналы, генерировать объяснения проблем и предлагать варианты их исправления[17].[18][19]
Ещё одним направлением является использование ИИ для прогнозирования пользовательского опыта (Predictive UX) на основе данных о поведении. Технологии прогностического тестирования позволяют симулировать визуальное восприятие дизайна, диагностируя проблемы интерфейса без проведения длительных сессий с реальными пользователями[20]. Также ИИ применяется для адаптации интерфейсов в реальном времени, динамически настраивая макеты, пути навигации и контент в зависимости от текущих взаимодействий и контекста, что способствует созданию более интуитивного пользовательского опыта[21][22].
Конфиденциальность и защита данных
Для защиты пользовательских данных при пассивном мониторинге применяются современные методы анонимизации. К ним относятся маскирование данных и полей форм, скрытие IP-адресов, очистка записей сессий, токенизация и дифференциальная конфиденциальность[23][24]. На подходы к сбору информации также влияет развитие законодательства: в частности, Калифорнийский закон о конфиденциальности потребителей (CCPA) с 2026 года вводит обязательные кибераудиты и требует прозрачности сбора данных в реальном времени, включая работу стороннего кода[25][26].
ПО для мониторинга реальных пользователей
- Akamai mPulse Real User Monitoring (ранее SOASTA mPulse)
- AppDynamics Browser Real User Monitoring (BRUM) и Mobile Real User Monitoring (MRUM) (SaaS и Self-hosted)
- CloudFlare
- Datadog Real User Monitoring (RUM) (SaaS)[27]
- Dynatrace Real user monitoring (RUM) (SaaS и Self-hosted)[27]
- Google Analytics
- InfluxDB
- inspectIT
- internetVista
- Knoa Software User Experience Management
- Matomo (программное обеспечение), ранее — Piwik[28]
- New Relic New Relic Browser (SaaS)
- Pingdom
- Plumbr
- PostHog[29]
- Sematext
- Sentry[29]
- Stackify
- Vercel Speed Insights[29]
Примечания
Литература
- Oyama K., Takeuchi A., Ming H., Chang C. K. Иерархия концептов для обнаружения пользовательских проблем при мониторинге реальных пользователей // 2011 18th Asia-Pacific Software Engineering Conference, Хошимин, Вьетнам. IEEE, декабрь 2011. С. 163—170. doi:10.1109/APSEC.2011.32.