Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные)

Всем привет! В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom.

image

Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от Broadcom в комплексе с другим их продуктом, зонтичной AIOps-системой DX Operations Intelligence, позволит создать единое окно мониторинга для разнокалиберного ПО и инфраструктуры. Под катом текст и скриншоты.
Для мониторинга производительности приложений Broadcom поставляет два решения: DX APM и DX AXA. Первое работает с бэкэндом, второе с фронтэндом и мобильными приложениями.


Архитектура DX APM


DX Applications Performance Management (APM) предназначен для мониторинга производительности приложений, написанных на Java, .NET, C++, PHP, Node.js, Python, Go и использующих другие технологии. Полный список поддерживаемых технологий можно посмотреть в Compatibility Guide. На ниже приведена область задач мониторинга, которые закрывает DX APM.

kvsoydzjosmcv5tw6j17ll-mgne.png

Основные особенности DX APM:

  • Распределенная (микросервисная) архитектура решения;
  • Простота в установке, использовании и обновлении;
  • Простота развертывания агентов, в том числе для микросервисных приложений, развернутых в кластере Kubernetes или Openshift;
  • Способность преждевременно выявлять нештатные ситуации до того, как это отразится на опыте конечных пользователей;
  • Автоматический поиск первопричины отказа или возникновения нештатных ситуаций как на программном так и на инфраструктурном уровнях;
  • Является поставщиком необходимой и достаточной информации для разработчиков, операционных подразделений заказчика и бизнес-ориентированных групп.

В спектр задач, решаемых DX APM входят:
  • Мониторинг производительности приложений;
  • Мониторинг опыта пользователей и бизнес-контекста;
  • Мониторинг отклика БД, инфраструктурных компонентов приложения и внешних сервисов;
  • Аналитика и root cause analysis.

rpyz3erl21b5k22jrikfsfvhvx0.png

DX APM предоставляет различные варианты для визуализации данных:

Experience View. Представление данных с точки зрения оценки опыта конечных пользователей. Данные представлены в виде Experience Cards. Experience card предоставляет верхнеуровневый обзор здоровья для транзакций. Транзакции объединены в Experience Card по заданным атрибутам.

Так выглядит набор Experience Cards:
l34xcfpx2fgst4c3lxzbjfehjkk.png

А так отдельная Experience Card:
nkwqpgglkuz2bldmwx4pujndke4.png

Map View — транзакционная карта приложения. Слева направо отображает прохождение транзакций от конечного пользователя до сервера приложений, базы данных и т.д, в зависимости от архитектуры приложения. Карта строится автоматически после установки агентов на серверы приложений.

pvcp-alqn26dzjo9he9h1h1rttw.png

В DX APM есть возможность интеллектуальной группировки компонент приложения по атрибутам, что помогает упростить и адаптировать вид транзакционной карты приложений для каждой роли пользователей. Например, можно сделать специальное представление для ответственных за определённую часть приложения.

tqwk5se0eso77g-2rcc9yg1ztzu.png

Если приложение микросервисное, DX APM распознает используемые технологии в рамках поддерживаемых и создаст соответствующую визуализацию.

uvgbb7u-5xkd_t7u2_mfkygnc6k.png

Ещё одно важное преимущество решения от Broadcom — наличие универсального агента Universal Monitoring Agent (UMA) для различных технологий. UMA устанавливается единожды на кластер, где развернуто микросервисное приложение, далее агент сам отслеживает динамические изменения и ведет мониторинг как инфраструктурных компонент кластера (nodes, pods, containers) так и осуществляет технологический мониторинг приложений в части исполнения кода. С точки зрения автоматизации мониторинга — самое оно.

8kk9kz9qlvkxmxr4hol8i0cik0m.png

Расследование проблем DX APM


DX APM для ускорения поиска первопричины проблемы в снижении производительности использует в работе запатентованные технологии: Differential Analysis, Timeline View и Assisted Triage, Topology View/Layers. Во многих случаях упреждающие оповещения (на основе аномального поведения), генерируемые DX APM, позволяют избежать реальных проблем в будущем.

Assisted Triage сигнализирует о наличии проблем и аномалий в работе приложений и в автоматическом режиме предоставляет заключение о первоисточнике проблемы, тем самым обеспечивая root-cause analysis. Аномалии указывают на нестрандартное поведение в работе приложении, но при этом воздействия на опыт конечных пользователей еще нет. Так выглядит работа Assisted Triage

vum5gtq4kvozzlrgehbjur6pvsk.png

Для детального анализа оповещений, генерируемых Assistage Triage, и выявления проблемных компонентов в транзакционной цепочке по клику на оповещение можно перейти в центр расследований Analysis Notebook. Тут, на представлении в виде таймлайна можно увидеть процесс развития проблемы и возникновение параллельных событий.

g4txgwzp40m_p6hkqt-zhyj3vqo.png

Так выглядит сопоставление проблемных транзакций с компонентами приложения и инфраструктурой.

izjpv5ud_yoo6qduqkttg-xlxws.png

Функция Timeline позволяет быстро увидеть изменения в архитектуре приложения во времени в контексте проблем с производительностью, не покидая Map View. Особенно это эффективно при обновлении релиза приложения — позволит увидеть все проблемы разом.

8xei17bmxrniqx5n4xilrwdejwq.png

При возникновения проблем в работе приложения, разработчикам будет интересно и полезно проанализировать транзакционные трейсы. DX APM предусматривает как функционал автоматической записи трейсов Smart Instrumentation, так и возможности запуска ручной трассировки. DX APM автоматически записывает трассировки транзакций при возникновении следующих событий:

  • В случае ошибок;
  • В случае нестабильного поведения в работе приложения (на основе изменяющегося времени отклика между компонентами приложения или так называемого Differential Analysis).

jsmiinwxxdhblcdqcb8xcxv5xp0.png

Использование коммерческими решения открытых решений — заметный тренд последнего времени. DX APM поддерживает технологию OpenTracing. При этом решение получает данные о показателях и трассировках транзакций из приложений, оснащенных трассировщиками, совместимыми с OpenTracing. Как результат, можно видеть в UI DX APM целостную транзакционную цепочку (MAP) и сквозной транзакционный трейс. Это особенно актуально для распределённых микросервисных приложений.

6pzhp7w47qjdl9ky6b2ecw2lorq.png

Ещё одной важной функцией при расследовании проблем снижения производительности в работе приложения является анализ SQL-запросов к базам данных и мониторинг производительности баз данных. DX APM предоставляет такие возможности для наиболее популярных баз данных, таких как Oracle, MS SQL и некоторых других.

wtvmmwuhxc_fvydh1okxonp12p8.png

Business Payload Analyzer


Business Payload Analyzer (BPA) — это запатентованная функция сбора и анализа данных (Payload транзакций), которая помогает использовать бизнес-контекст для именования транзакций. На рисунке 23 представлено позиционирования BPA по отношению к AXA и APM. По сути, как и AXA (через Browser agent и мобильный SDK) BPA является поставщиком метаданных для APM и помогает в определении бизнес-транзакций.

mwdv0rv0wlsxizg8o7lfty_6pm4.png

Физически, BPA является плагином, который устанавливается на web-сервер приложения. Плагин собирает сырые http-данные (после дешифрования серверов https-трафика) каждого запроса и ответа и заливает их в DX APM для дальнейшей обработки и формирования бизнес-транзакций. В текущей версии DX APM 20.2 плагин BPA доступен для:

  • Apache Web Server Plugin for Linux and Windows;
  • IIS Plugin;
  • Nginx Web Server Plugin.


DX AXA (Application Experience Analytics) ориентирован на мониторинг взаимодействия пользователeй с фронтэндом через браузер или мобильное приложение на своём гаджете. Данные, собираемые AXA, могут быть использованы как разработчиками для оптимизации работы приложений, так и бизнес-аналитиками для формирования отчетности о доступности сервисов и планирования бизнес-KPI. Фокус AXA в задаче мониторинга опыта конечных пользователей представлен на рисунке ниже.

_zrqlgzbpoidgfpdiufuh1qkhkq.png

DX AXA получает данные по транзакциям пользователей мобильных приложений с помощью интеграции SDK в приложение. В список поддерживаемых платформ включены: Android, iOS, WatchOS. Стоит отметить, что процедура встраивания инструментария SDK в приложения Android очень проста, осуществляется в web-интерфейсе AXA в несколько кликов мыши и не требует привлечения разработчиков.

Также AXA покрывает мониторинг и web-транзакций пользователей с помощью Browser Agent. Browser agent — это snippet (скрипт), который встраивается в домашнюю страницу приложения, и при взимодейсвии пользователя с приложением собирает и отправляет метрики взаимодействия на сервер AXA для анализа. Таким образом, это не требует установки агента на рабочих станциях конечных пользователей. Browser agent имеет широкий спектр возможностей по кастомизации и сбору данных. При этом поддерживаются web-транзакции во всех популярных браузерах.

o9a9sq6f-m8a9_gjfextuiz6oji.png

Основной спектр задач, который решает AXA для команд эксплуатации являются:

  • Сегментация данных по версии приложения, провайдеру / wifi, местоположению, платформе, ОС;
  • Оповещения в режиме реального времени о снижении в производительности в работе приложений, пользовательскго опыта и нарушнении SLA, и потенциальных рисков для доходов компании;
  • Ускорение выявления первопричины проблемы.

jzggcfdg78_2kaam4rsozgb1yt4.png

В список функций, предназначенных для разработчиков приложений входят:

1. Просмотр скриншотов и видео взаимодействия пользователя с приложением,
оптимизация приложений на основе анализа наиболее популярных действий пользователя в приложении.

zjpqvmd9puxlefcngfw2meaik-s.png

2. Сегментация сбоев по платформе, устройству. Индикация и детальные данные по App Crashes, HTTP и JavaScript Errors.

ddetmtwwriosisgrdtssrbvxdhg.png

3. Просмотр параметров производительности для каждой сессии пользователя.

zmj9_5yfn1-_pcw7lifjf--wdhy.png

4. Функция Resource Waterfall обеспечивает более глубокое понимание производительности веб-приложений, отображая подробную информацию о времени загрузки всех компонентов веб-сайта.

vhuyhqmhm55sh6jighzh6ckzsek.png

Фунционал по разработке отчетности и визуализации данных способен удовлетворить требования бизнеса по планированию доходов и оценке затрат на модернизацию приложений:

  • Приоритезация проблем путем оценки влияния на доходы компании;
  • Возможность задания KPI для оценки ROI;
  • Дополнительные данные для формирования OPEX и CAPEX.

by7vtyzku8c0h0_ko0bhoh6b1ro.png

hqx67-2jgftqt6h50kwkfm639s0.png

DX AXA имеет глубокую интеграцию с продуктом DX Application Performance Management (APM) для расследования проблем, не связанных с фунционированием фронтэнда. DX AXA при этом является дополнительным поставщиком данных для DX APM по транзакциям, совершаемым пользователями с помощью мобильных приложений.

fntm81wvabfcj-nbvsiellcze-y.png


DX Operations Intelligence — это зонтичная система мониторинга, в которой реализованы функции Machine Learning и Artificial Intelligence (ML и AI) над поступающими в платформу данными. Одними из поставщиков таких данных (наравне с Zabbix, Prometheus и прочими) являются DX APM и DX AXA.

DX AXA и DX APM работают в составе платформы DX. Платформа DX устанавливается и работает под управлением кластеров Kubernetes или OpenShift. Установщик платформы DX — это консольное приложение, которое запускается пв докер-контейнере и поэтому имеет минимальные зависимости от операционной системы. Программа установки взаимодействует с кластером и выполняет все необходимые действия для создания готового к использованию экземпляра платформы DX. Установщик платформы DX также поддерживает развертывание с хоста, который не является частью кластера.
Используя установщик платформы DX, вы можете установить следующие компоненты:

  • Мониторинг производительности приложений DX APM
  • Мониторинг мобильных приложений DX AXA
  • Зонтичное решение DX OI

wqsqrrrc3kmsvcix621lwtfxk1k.png

Администрирование, масштабирование и обновление платформы DX выполняется в административной консоли. Консоль поддерживает мультитенантную архитектуру, которая позволяет использовать один экземпляр консоли для администрирования нескольких предприятий или нескольких бизнес-единиц в рамках предприятия. В этой модели каждое предприятие может быть настроено индивидуально как арендатор со своим собственным набором конфигураций.
Консоль администрирования — это веб-инструмент для управления операциями и системой, который предоставляет администраторам согласованный унифицированный интерфейс для выполнения следующих задач:

  • Создание и управление тенантами;
  • Мониторинг и управление ресурсами кластера и сервисами;
  • Создание учетных записей администраторов и пользователей и управление ими;
  • Управление учетными записями пользователей на основе LDAP;
  • Создание и управление учетными записями пользователей, не использующих LDAP;
  • Настройка параметров почтового сервера.

auozqhs1znjgmeenp2insrd7aay.png

fuh_n3nm2vdz-k6vg1mqafovwfm.png

Broadcom безвозмездно предоставит в пользование продукт DX Operational Intelligence Foundation (DX OI) при приобретении лицензий DX APM. DX OI Foundation позволит реализовать фукнции Machine Learning над поступающими в платформу данными (логи, метрики, аварийные сообщения, топология) и оценить/спрогнозировать доступность сервисов на базе анализа поступающих данных. Кроме того, DX OI Foundation может стать единой точкой концентрации аварийных сообщений и интеграции с системой Service Desk.

К сведению: по сравнению с полной версией DX OI, версия Foundation имеет ограничения по времени хранения данных, также есть ограничения по функциям Predictive Insights, Capacity Analytics и интеграции со сторонними системами через Open RESTful APIs. Для снятия этих ограничений необходимо отдельно приобрести лицензии на решение DX OI.

Ну, и напоследок, важное замечание: все перечисленные в этой статье решения Broadcom можно использовать как on-premise так и в SaaS-формате.

Если у вас появились вопросы или вы хотите узнать больше об этом решении, оставьте заявку на демонстрацию или пилотный проект удобным для вас способом на нашем сайте.

В ближайшее время мы проведём вебинар по DX APM и DX AXA. Если вы хотели бы узнать подробнее об этих решениях, оставьте заявку и вам вышлем приглашение как только анонсируем вебинар.

А ещё у нас есть:

Запись нашего вебинара по DX OI

Статья на Хабре о зонтичной AIOps-системе мониторинга DX OI

Группа в Facebook

Канал в Youtube

© Habrahabr.ru