Как и обещал в начале статьи, делюсь контактами Феди и Самата
Привет, меня зовут Алексей Кафтанов, я — руководитель команды FullStack. Мы занимаемся разработкой мобильных и web-приложений. Делаем много интересного и нужного для людей, а самое главное — строим экосистему «ВкусВилл». Но сейчас — не совсем про заказную разработку.
From Wikipedia, the free encyclopedia
Revision 1.2 was the last version of the APM specification, released in 1996. A CPI is the successor to APM. Microsoft dropped support for APM in Windows Vista. The Linux kernel still mostly supports APM, though support for APM CPU idle was dropped in version 3.0.
Раз вы дочитали до этого момента, уверены на 99,99%, что тема вам интересна. Если хотите попробовать созданный нашей командой APM Wizard, пройдите регистрацию на сайте.
Не хотите передавать ваши персональные данные? Без проблем, просто ставьте «+» к этому посту, и я вышлю ссылку на приглашение в личных сообщения на vc.ru, когда сервис заработает.
The CPU core (defined in APM as the CPU clock, cache, system bus and system timers) is treated specially in APM, as it is the last device to be powered down, and the first device to be powered back up. The CPU core is always controlled through the APM BIOS (there is no option to control it through a driver). Drivers can use APM function calls to notify the BIOS about CPU usage, but it is up to the BIOS to act on this information; a driver cannot directly tell the CPU to go into a power saving state.
Время на прочтение
Всем привет! В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom.
Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от Broadcom в комплексе с другим их продуктом, зонтичной AIOps-системой DX Operations Intelligence, позволит создать единое окно мониторинга для разнокалиберного ПО и инфраструктуры. Под катом текст и скриншоты.
Для мониторинга производительности приложений Broadcom поставляет два решения: DX APM и DX AXA. Первое работает с бэкэндом, второе с фронтэндом и мобильными приложениями.
The layers in APM
APM uses a layered approach to manage devices. A PM-aware applications (which include device drivers) talk to an OS-specific APM driver. This driver communicates to the APM-aware BIOS, which controls the hardware. There is the ability to opt out of APM control on a device-by-device basis, which can be used if a driver wants to communicate directly with a hardware device.
Communication occurs both ways; power management events are sent from the BIOS to the APM driver, and the APM driver sends information and requests to the BIOS via function calls. In this way the APM driver is an intermediary between the BIOS and the operating system.
Power management happens in two ways; through the above-mentioned function calls from the APM driver to the BIOS requesting power state changes, and automatically based on device activity.
In APM 1.0 and APM 1.1, power management is almost fully controlled by the BIOS. In APM 1.2, the operating system can control PM time (e.g. suspend timeout).
Изучает данные о том, как пользователи взаимодействуют с IT-продуктом. О том насколько он функционален, адаптивен и даже о том, какие эмоции он вызывает. Вся эта информация в итоге помогает повысить вовлеченность пользователей.
Ключ-Астром будет полезен при проведении UX-исследований. С его помощью вы сможете выяснить
А еще «Ключ-Астром» точно измеряет, сколько времени требуется вашей веб-странице, чтобы визуально полностью загрузиться и быть готовой к использованию.
The APM specification defines system power states and device power states.
System power states
APM defines five power states for the computer system:
Device power states
APM also defines power states that APM-aware hardware can implement. There is no requirement that an APM-aware device implement all states.
The four states are:
С «ВкусВилл» мы работаем давно и очень плотно. Такое сотрудничество оставляет свой след. Их подход к работе, выстраиванию бизнес-процессов и отношений внутри команд вдохновляет. Чтобы понять бизнес, нужно всегда обращаться к его ценностям и эволюционной цели. Об эволюционной цели «ВкусВилл» можно почитать здесь.
А в данной статье мы поделимся эволюционной целью, которую сформулировали для нашего продукта – APM Wizard.
Есть определенные отраслевые стандарты, которые позволяют любому разработчику наблюдать за ключевыми показателями эффективности приложения и своевременно их корректировать. В концепции эволюционной цели ее достижение может быть отделимо от самого бизнеса, поэтому созданный нами инструмент может быть проработан и другими организациями.
Верим, что в IT-сообществе важную роль играет взаимопомощь. Мы стремимся создать вдохновляющую среду, в которой каждый разработчик может свободно экспериментировать и создавать приложения, веб-сервисы без ограничений. Мы готовы поддержать условных «инди» разработчиков, обеспечивая бесплатный доступ к APM Wizard. Для низконагруженных приложений с небольшим количеством хостов мониторинг останется абсолютно бесплатным как сегодня, так и в будущем. Наша миссия заключается в том, чтобы предоставить коллегам-разработчикам возможность полностью реализовать свои творческие идеи и воплотить их в функциональные приложения, не сталкиваясь с финансовыми преградами.
Эти данные показывают, какие функции продукта популярны, а какие игнорируются? Какие сценарии приводят, например, к покупке, а какие – к отказу? Как меняется поведение пользователей после обновления продукта? С помощью этих метрик можно улучшить финансовые, маркетинговые и пользовательские характеристики сайта.
Одна из ключевых метрик. Она отображает качества работы приложения. Apdex основывается на времени обработки и наличии ошибок. Чем быстрее обрабатываются операции и чем меньше при этом ошибок – тем выше apdex.
Статистика по крэшам и ошибкам
Статистика по крэшам и ошибкам нужна, чтобы удержать текущих пользователей. С помощью этих данных контролируется стабильность работы приложения, выявляются неполадки и расставляются приоритеты. Ошибки, влияющие на ключевые метрики получают максимальный приоритет и исправляются в первую очередь.
CR (conversion rate) – эта метрика показывает сколько человек от общего числа посетителей совершили целевое действие на странице.
RR (retention rate) Коэффициент удержания – эта метрика показывает процент вернувшихся пользователей от изначально пришедших. С ее помощью можно определить эффективность рекламных кампаний, определить активность ботов на сайте, выявить ошибки, отталкивающие клиентов.
ROI (return on investment) Возврат инвестиций – с его помощью рассчитывается рентабельность продукта. Он позволяет определить, сколько вложенных средств вернулось в виде прибыли.
We give some use cases of application performance monitoring (APM) below.
Real user monitoring
Component monitoring, or application component deep-dive monitoring, comprehensively tracks the entirety of IT infrastructure. An application’s complete performance is monitored and analyzed. Monitored resources include memory usage, servers, CPU utilization, and network components.
Infrastructure monitoring
You can use APM tools to collect data from IT infrastructure, such as servers (server monitoring), containers (container monitoring), databases (database monitoring), virtual machines (VM monitoring), and other backend systems. It is done to detect performance problems and find the root cause of application errors.
Read about infrastructure as a service (IaaS) »
Analytics
Effective APM provides data for analytics that enterprises can use to fix or improve their applications. Some APM tools use artificial intelligence and machine learning (AI/ML) algorithms to conduct predictive analysis, diagnose root causes of errors, and link complex application performance problems.
Read about machine learning on AWS »
SLA monitoring
Service level agreements (SLAs) are critical to a contract between an IT services provider and a client. They set out the required levels of service that are agreed upon by both parties. A PM can monitor the performance metrics in SLA frameworks, which helps providers ensure they are meeting expectations. It also highlights areas where providers are in danger of falling below the standards outlined in the SLA.
Метрики поведенческой аналитики позволяют оценить действия пользователей на сайте. Приводят ли они к желаемому результату? Ведут ли себя пользователи так, как планировалось и, если нет, то что им мешает? Анализ этих данных позволит понять, куда нужно развивать сайт, какие опции добавить, а какие убрать, что в итоге позволит повысить его эффективность.
Показывает, собственно, сколько людей заходили на сайт за определенный период времени: день, неделю, месяц, год. Это основной показатель эффективности.
TSS (Time Spent on Site) Время проведенное на сайте
Время с начала визита до последнего активного действия. Если у нас есть, допустим, новостной сайт и нам важно, чтобы пользователь по долгу читал экспертные лонгриды, тогда высокие показатели – это хорошо. Но если у нас есть интернет-магазин, то долгое пребывание в нем показывает, что пользователю сложно сформировать решение о покупке.
PPV (Pages per Visit) Глубина просмотра страниц
Эта метрика отражает заинтересованность в контенте на сайте. Чем больше пользователь переходит с одной страницы на другую – тем выше ее показатели. Опять же, это не всегда может быть хорошо. Возможно наш пользователь заплутал и не может понять, как ему уже купить эту хлеборезку.
BR (Bounce Rate) Показатель отказов
Процент пользователей, посмотревших одну страницу, не совершивших при этом никаких действий и ушедших с сайта. Высокие показатели могут говорить о плохом контенте, невыгодном предложении, нецелевом трафике и т.д.
Топ просмотренных страниц, товаров или услуг на сайте, отсортированный по убыванию. С его помощью вы можете оценить интересы аудитории сайта.
Количество пользовательских действий
Отзывы о товарах, заказы, клики на рекламу, скроллы и т.д. Здесь отображается статистика пользовательских действия на сайте в целом. Ведут ли они себя так, как вам нужно или занимаются ерундой и их надо подтолкнуть к кнопке с корзиной?
Отображает процент пользователей, совершивших целевое действие на странице. Для каждого проекта они разные. Это может быть покупка, переход по ссылке, регистрация и т.д.
(Не?)занудный текст о том, что такое APM
Application Performance Management – это набор технологий и методик, который позволяет разработчикам отслеживать, анализировать и оптимизировать производительность своих приложений. A PM предоставляет ценную информацию о различных аспектах работы приложений, таких, как время отклика, задержки, использование ресурсов и другие метрики, которые помогают выявить узкие места и проблемы производительности.
Одной из ключевых возможностей APM считается трейсинг. Трейсы представляют собой детальные записи о прохождении запросов и транзакций через систему приложения. Они позволяют отследить каждый шаг выполнения запроса, включая время выполнения каждого компонента и возможные задержки. Такой подход дает разработчикам полное представление о процессе обработки запросов и помогает идентифицировать узкие места и причины снижения производительности.
Трейсы объединяются в спаны. Спан – это набор технологий и методик, которые помогают разработчикам отслеживать и улучшать производительность приложений. Он предоставляет информацию о времени отклика, задержках и использовании ресурсов, помогая выявить проблемы и узкие места в производительности.
APM предоставляет еще один инструмент – «Карта сервисов». Карта сервисов – это визуальное представление архитектуры приложения, которое показывает связи и взаимодействия между различными компонентами и сервисами в системе. Она помогает разработчикам лучше понять сложные взаимосвязи между компонентами, отслеживать зависимости и оценивать влияние каждого компонента на производительность приложения в целом.
Зачем разработчикам использовать APM? Выделили три ключевых преимущества:
Погружение в контекст
Чтобы не прыгать с места в карьер, введу в контекст и расскажу историю. Кого-то она удивит, а других чему-то научит.
Однажды, когда наступила зима 2020 года и мы даже не догадывались, какое интересное время ждет нас впереди, начали только появляться первые признаки пандемии (помните, была такая), мобильное приложение «ВкусВилл» еще не стало лидером доставки в России, а было простым приложением с базовым набором функций: посмотреть адреса магазинов, составить список покупок, воспользоваться системой лояльности, просканировать QR-код в магазинах.
С началом пандемии все локальные проблемы стали влиять на бизнес глобальнее. Например, для такого важного действия как сканирование QR-кода для начисления бонусов в магазине все-таки была неудобная альтернатива – покупатель должен был продиктовать номер телефона. Единственной альтернативой для доставки товаров было оформление заказа у конкурентов.
Тогда мы решили, что нам нужно усилиться и получить помощь со стороны, поэтому позвали внешних консультантов – Самата Галимова и Федора Борщева (ссылки на коллег в конце статьи). Ребята подсказали огромное количество идей для Highload, но ключевое – посмотрели на наши мониторинги, покачали головой, вздохнули и предложили выбросить это все далеко и желательно навсегда и немедленно подключить APM.
Как мы работали с DataDog
DataDog мы подключили и настроили буквально за несколько недель: добавили продуктовые серверы, смотрели ошибки, которые приходили от агентов PHP и агентов инфраструктуры. Вместе с ошибками приходили трейсы, которые просматривали разработчики. Любое отклонение от показателя выполнения выше 300 мс. исправляли в тот же день.
По инфраструктуре команда смотрела трафик, нагрузку на всю инфраструктуру и выявляла нестабильность работы сервиса.
Кроме этого, настроили алармы на все ошибки 500+ – их получали от агентов, установленных в приложении. Отдельно выделили все инфраструктурные алармы по нагрузке SQL-серверов: превышение порогов использования процессора, памяти и других метрик.
DataDog понравился наличием очень крутых агентов, но мы столкнулись с проблемой получения только тех трейсов, которые в эти агенты были «вшиты». Например, мы не могли получить проприетарные метрики по базам данных, по Redis etc.
Одна из проблем, с которой пришлось столкнуться, заключалась в получении трейсов ошибок бэкенда. Мы получали стандартные, без возможности углубиться в теме. Например, на основе эндпоинта API не могли получить название конкретной хранимой процедуры T-SQL, которая в этом эндпоинте задействована. А в случае получения кода ответа меньше 500 не было обозначения в качестве проблемы.
Мы не волшебники, а только учимся
APM Wizard уже почти, но все еще не DataDog. Резюмирую то, что у нас получилось сделать:
Сейчас в процессе довольно много вещей:
Наметили основную цель – проверить MVP, насколько у нас получилось сделать коробочное решение, которое легко можно развернуть не только на наших проектах.
В 2022 году с российского рынка ушли более 200 IT-компаний. В их числе оказались и те, что отвечали за веб-аналитику. Бизнесу приходится адаптироваться к новым реалиям. Кто-то создает зарубежные аккаунты через третьих лиц, кто-то пользуется VPN, но кто-то предпочитает искать инструменты для сбора данных среди отечественных сервисов.
Ключ-Астром – российская программно-интеллектуальная платформа от компании «Рускомтехнологии». Она сочетает инфраструктуру и облако, производительность приложений и мониторинг цифрового опыта в единое автоматизированное решение. Это APM-решение полезно для айтишников, разработчиков, тестировщиков и членов бизнес-команды, но также может применяться и для веб-аналитики.
«Ключ-Астром» закрывает четыре основных вида аналитики:
Но и это не все! «Ключ-Астром» от стандартных сервисов отличает еще пятый вид веб-аналитики, о котором мы расскажем в конце.
Интеграция DX APM и DX AXA с DX Operational Intelligence
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 выполняется в административной консоли. Консоль поддерживает мультитенантную архитектуру, которая позволяет использовать один экземпляр консоли для администрирования нескольких предприятий или нескольких бизнес-единиц в рамках предприятия. В этой модели каждое предприятие может быть настроено индивидуально как арендатор со своим собственным набором конфигураций.
Консоль администрирования — это веб-инструмент для управления операциями и системой, который предоставляет администраторам согласованный унифицированный интерфейс для выполнения следующих задач:
Broadcom безвозмездно предоставит в пользование продукт DX Operational Intelligence Foundation (DX OI) при приобретении лицензий DX APM. D X 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
Канал в Youtube
Как работает платформа “Ключ-Астром”
В центре платформы «Ключ-Астром» движок, через который проходит вся информация. В нем используется детерминированный ИИ, который радикально отличается от традиционного машинного обучения — он выполняет автоматический анализ на базе ресурсно сервисной модели, которая кстати строится и обновляется системой автоматически. Это причинно-следственная связь, а не корреляция. Полученный анализ корневого случая является точным и может быть воспроизведен шаг за шагом.
Движок искусственного интеллекта обрабатывает все данные, вне зависимости от технологий или платформ который используется в ИТ ландшафте Заказчика.
ИИ постоянно мониторит изменяющуюся среду системы в режиме реального времени. Он обнаруживает отношения сущностей при запуске с нулевой ручной настройкой. Даже контейнерные процессы, выполняющие микросервисы в динамических средах Kubernetes, отображаются автоматически.
Расширенная наблюдаемость сочетает в себе контекстную информацию с искусственным интеллектом и автоматизацией. “ Ключ-Астром” расширяет три столпа наблюдаемости (метрики, журналы и следы) с помощью информации о UX и топологии, поэтому ИИ понимает полный контекст наблюдаемых данных и дает точные ответы.
В результате вы получаете:– Обнаружение зависимостей и полную трассировку; – Моментальную / обновляемую визуализацию всего стека;– Обнаружение аномалий;– Поиск ошибок в режиме реального времени.– Объединение работы кода и самочувствия пользователей.
Благодаря тому, что «Ключ-Астром» объединяет работу кода и самочувствия пользователей в единое действенное уведомление, вы можете:
– Точно сказать, какой уровень сервиса вы предоставляете внешнему пользователю;– Узнать, как чувствует себя клиент внутри системы;– Понять, насколько понравятся вашим клиентам будущие обновления.
Все эти детали представлены в контексте и вы ясно видите, взаимосвязи внутри системы.
Так почему же, при всех перечисленных плюсах некоторые компании до сих пор игнорируют промышленные решения для APM-мониторинга в пользу отдельных open source решений?
Во-первых, из-за ситуации в мире, на рынке сейчас царит сплошная неопределенность. Open source кажется компаниям хорошим решением, потому что он никуда не уйдет. Во-вторых, open source – это бесплатно, а от такого тяжело отказаться. В-третьих, APM – технология, объединяющая бизнес и IT, но проблема в том, что IT не всегда хочет показывать бизнесу свою работу. Именно поэтому на рынке так популярен Zabbix. Ну и наконец, сейчас слишком мало опубликованных примеров, в которых компания внедрила бы в систему промышленное решение и окупила его. Все потому, что большинство успешных внедрений осуществляют банки, а они неохотно делятся своими секретами.
Дорогая игрушка или ценный инструмент?
Некоторые утверждают, что это все просто дорогая игрушка. Такие люди обычно ждут, что промышленное решение само, как по волшебству настроит им процессы внутри компании, а когда этого не происходит — расстраиваются. Цель автоматизации — уменьшить сложность IT, самой же команде все равно нужен план изменений. Если вы не знаете, как ваша команда может использовать инструменты автоматизации IT, то они так и будут лежать у вас мертвым грузом.
Стратегия автоматизации IT должна начинаться с разделения рабочего процесса, типов операций, которые они будут выполнять, и того, как команды могут лучше всего отслеживать и оптимизировать их в производственной среде.
Еще один плюс промышленного решения в том, что с его настройкой вам поможет команда специалистов по внедрению.
Но что самое главное, автоматизация процессов с помощью AIOps позволяет IT-администраторам уделять больше времени инновациям, а не постоянному «тушению пожаров».
Сферы применения промышленного решения:
Скупой платит трижды
Сперва может показаться, что промышленное APM-решение стоит каких-то заоблачных денег, но, как показывает практика, суммарная стоимость разрозненных open-source решений и их поддержка обходятся в разы дороже. Оплата разработчиков, штат аналитиков, штат администраторов, плюс специалисты баз данных, виртуализации, отдельные девопсы, отдельная поддержка, отдельные инфраструктурщики — их оплата многим выше, чем подписка на промышленное решение. Всю эту армию умников легко заменит 1-2 человека, отвечающих за интеграцию “Ключ-Астром”.
Как посчитать окупаемость промышленного решения? Возьмем для примера «Ключ-Астром« компании »Рускомтехнологии». Первые 19 месяцев идет возврат инвестиций за счет исправления ошибок, улучшения сервиса и ускорения вывода новых продуктов. Через полтора года система уже начнет приносить дивиденды за счет уменьшения простоя IT-сервисов, оптимизации операционной деятельности и возможности выпускать качественные релизы быстрее конкурентов.
Как же мы сделали для «ВкусВилл» лучшее* APM в России
Нескромно, согласен. Точнее будет так: *лучшее в России, с учетом тех конкурентов, которых мы нашли но, продукт которых не попробовали, потому что он выглядел хуже нашего.
Long story short, начало типичное: было все хорошо, а потом стало плохо, и это плохо нужно было как-то исправить.
Вот так было и у нас: в какой-то момент пропала возможность оплачивать DataDog. А, как вы понимаете, DataDog задавал тон работе, как ковер в художественном фильме «Большой Лебовски».
Отдел DevOps взял на себя задачу повторить весь функционал, которым мы пользовались, причем в короткий срок.
Сейчас в системе зарегистрировано более 300 графиков. Ключевые 50 из них вынесены на отдельный дашборд: графики утилизации всей инфраструктуры, работы всех бэкендов, все графики по ошибкам, ключевые бизнес-метрики по типу количества заказов в единицу времени.
Дополнительный анализ от “Ключ-Астром”
И, наконец, аналитика, которая отличает “Ключ-Астром” от других сервисов. Используя “Ключ-Астром” вы можете выяснить, как влияют на пользователей технические показатели сайта. В основе “Ключ-Астром” лежит механизм автоматического определения инцидентов. Используя машинное обучение и искусственный интеллект, он выявляет проблемы с доступностью и производительностью приложений, сервисов и инфраструктуры, указывая корневые причины и воздействие на конечных пользователей.
Отражает ключевые данные о работе сайта, такие как скорость загрузки страниц, нагрузка на сайт, тип устройства, операционная система, корректность отображения в различных браузерах.
Решение от Ключ-астром может мониторить не только возникающие ошибки, но и прогнозировать потенциальные. Например, замедление загрузки пользовательских действий, рост ошибок, аномалии по количеству запросов в приложении и т.д.
Состояние инфраструктурных показателей сервера для хостов. Для баз данных – долгие запросы или ошибки. Мониторинг подключенных к сайту сервисов: сервис поиска, сервис оплаты, сервер авторизации.
Объем трафика и количество его потребителей.
Показывает удовлетворенность работой системы в разных регионах.
Уникальность “Ключ-Астром”, в том что платформа связывает технические и маркетинговые метрики. Мониторинг пользовательского опыта “Ключ-Астром” позволяет получить более детальную информацию о поведении пользователей в режиме реального времени. Теперь и у IT-команды, и у аналитиков, и у отделов продаж будут наглядные данные, соответствующие их профилям, и одновременно доступные всем командам для обсуждений и исправлений. Это глобально отличает аналитику APM от стандартных аналитических платформ. Данные о пользовательском опыте соединяются здесь с работой бэкенда системы.
Также «Рускомтехнологии» предлагают небольшим компаниям и отдельным специалистам SaaS платформу DESK, основанную на платформе «Ключ-Астром», но с тарифами, доступными для малого и среднего бизнеса. Месяц на ее тестирование предоставляется совершенно бесплатно.
Accelerate the software development lifecycle from pipeline to production
Get deep visibility into your cloud-native and distributed applications — from microservices to serverless architectures — and quickly identify and resolve root causes of issues. Seamlessly adopt APM to automatically identify anomalies, map service dependencies, and simplify investigations into outliers and abnormal behavior. Оптимизируйте код своего приложения благодаря широкой поддержке популярных языков, OpenTelemetry и распределенной трассировки.
Начните потоковую передачу, просмотр и анализ трассировок APM из своих приложений с помощью Elastic Cloud за считанные минуты.
Узнайте, почему Elastic был назван провидцем в магическом квадранте Gartner 2021 года по мониторингу производительности приложений.
Получите краткое описание новейших функций и посмотрите Elastic APM в действии с помощью демонстрации от экспертов.
Повышение качества кода с помощью сквозной распределенной трассировки
Собирайте и анализируйте распределенные транзакции, охватывающие микросервисы, бессерверные и монолитные архитектуры, включая поддержку AWS Lambda, автоматическое инструментирование и популярные языки, такие как Java, . NET, PHP, Python, Go и другие. Изучите каждый уровень — от клиента до приложения и облачных сервисов — с помощью расширенных метаданных транзакций и тегов для более быстрого анализа. Минимизируйте время простоя и оптимизируйте качество обслуживания клиентов, аннотируя транзакции данными клиентов и маркерами развертывания.
Никогда не пропустите ни одной проблемы благодаря более продуманной выборке
Масштабируемая и гибкая архитектура обеспечивает полную точность, 100% сбор выборки транзакций, хранение, аналитику и поиск с добавленными дисками для масштабирования выборки вверх или вниз по мере необходимости. Получите детальный контроль над условиями выборки с помощью хвостовой выборки транзакций для оптимальной видимости.
Быстрое выявление проблем приложения с помощью сопоставления зависимостей
Выявляйте проблемы с производительностью с помощью автоматизированного и контролируемого визуального представления всех зависимостей, включая облако, обмен сообщениями, хранилище данных, сторонние службы и данные об их производительности. Детализируйте аномалии, детали транзакций и показатели для более глубокого анализа.
Ускорьте анализ первопричин с помощью машинного обучения и AIOps
Автоматическое обнаружение аномалий с использованием машинного обучения, а также корреляция задержек, ошибок и сбоев упрощают поиск проблем (даже тех, которые трудно определить периодические проблемы!) По сравнению с традиционными методами мониторинга.
Уверенное развертывание благодаря прозрачности конвейера CI/CD
Идентифицируйте и количественно оценивайте изменения производительности приложений с постоянной видимостью во время новых развертываний или развертываний «синих против зеленых». Найдите основную причину проблемы, ограничившись выпуском, версией или проблемными узлами, а также получите доступ к контекстным трассировкам, журналам и метрикам. Получите представление о заданиях, подверженных ошибкам, медленных сборках и нестабильных тестах с помощью плагинов OpenTelemetry на основе открытых стандартов, предоставленных Elastic для Jenkins, Maven и Ansible.
Удобная для разработчиков поддержка открытых стандартов
Поддержка открытых стандартов включает встроенную поддержку протокола OpenTelemetry, контекста трассировки W3C и Jaeger. OpenTelemetry и открытые стандартные источники данных защитят ваши инвестиции в наблюдение в будущем, обеспечивая максимальную гибкость и снижая стоимость будущих усилий по интеграции.
Управление производительностью приложений DX (APM), предназначенное для повышения производительности приложений, написанных на Java, . NET, C++, PHP, Node.js, Python, Go и использующие другие технологии. Полный список применяемых технологий можно просмотреть Руководство по совместимости. Ниже приведена область задач, которая закрывает DX APM.
Основные особенности DX APM:
В спектр задач, решаемых DX APM, входят:
DX APM предоставляет различные варианты визуализации данных:
Просмотр опыта. Представление данных с точки зрения оценки опыта конечных пользователей. Данные представлены в видео Карты опыта. Карта опыта обеспечивает верхнеуровневый обзор состояния здоровья для транзакций. Транзакции объединены в Карту опыта по заданным атрибутам.
Так выглядит набор Карт опыта:
А так отдельная карта опыта:
Map View — транзакционная карта приложения. Слева направо отображается прохождение транзакций от конечного пользователя к приложениям сервера, базам данных и т. д., в зависимости от структуры приложения. Карта строится автоматически после установки агентов на серверы приложений.
В DX APM есть возможность интеллектуальной группировки компонентов приложений по атрибутам, что помогает переходу и адаптации вида транзакционной карты для каждого ролика пользователей. Например, можно сделать специальное представление для ответственной определенной части приложения.
Если приложение микросервисное, DX APM распознает используемые технологии в рамках поддерживаемых и создаст соответствующую визуализацию.
Ещё одно важное преимущество решения от Broadcom — наличие универсального агента Universal Monitoring Agent (UMA) для различных технологий. U MA устанавливается единожды на кластер, где развернуто микросервисное приложение, далее агент сам отслеживает динамические изменения и ведет мониторинг как инфраструктурных компонент кластера (nodes, pods, containers) так и осуществляет технологический мониторинг приложений в части исполнения кода. С точки зрения автоматизации мониторинга — самое оно.
Расследование проблем DX APM
DX APM для ускорения поиска первопричины проблемы в снижении производительности использует в работе запатентованные технологии: Differential Analysis, Timeline View и Assisted Triage, Topology View/Layers. Во многих случаях упреждающие оповещения (на основе аномального поведения), генерируемые DX APM, позволяют избежать реальных проблем в будущем.
Assisted Triage сигнализирует о наличии проблем и аномалий в работе приложений и в автоматическом режиме предоставляет заключение о первоисточнике проблемы, тем самым обеспечивая root-cause analysis. Аномалии указывают на нестрандартное поведение в работе приложении, но при этом воздействия на опыт конечных пользователей еще нет. Так выглядит работа Assisted Triage
Для детального анализа оповещений, генерируемых Assistage Triage, и выявления проблемных компонентов в транзакционной цепочке по клику на оповещение можно перейти в центр расследований Analysis Notebook. Тут, на представлении в виде таймлайна можно увидеть процесс развития проблемы и возникновение параллельных событий.
Так выглядит сопоставление проблемных транзакций с компонентами приложения и инфраструктурой.
Функция Timeline позволяет быстро увидеть изменения в архитектуре приложения во времени в контексте проблем с производительностью, не покидая Map View. Особенно это эффективно при обновлении релиза приложения — позволит увидеть все проблемы разом.
При возникновения проблем в работе приложения, разработчикам будет интересно и полезно проанализировать транзакционные трейсы. D X APM предусматривает как функционал автоматической записи трейсов Smart Instrumentation, так и возможности запуска ручной трассировки. D X APM автоматически записывает трассировки транзакций при возникновении следующих событий:
Использование коммерческими решения открытых решений — заметный тренд последнего времени. D X APM поддерживает технологию OpenTracing. При этом решение получает данные о показателях и трассировках транзакций из приложений, оснащенных трассировщиками, совместимыми с OpenTracing. Как результат, можно видеть в UI DX APM целостную транзакционную цепочку (MAP) и сквозной транзакционный трейс. Это особенно актуально для распределённых микросервисных приложений.
Ещё одной важной функцией при расследовании проблем снижения производительности в работе приложения является анализ SQL-запросов к базам данных и мониторинг производительности баз данных. D X APM предоставляет такие возможности для наиболее популярных баз данных, таких как Oracle, MS SQL и некоторых других.
Business Payload Analyzer
Business Payload Analyzer (BPA) — это запатентованная функция сбора и анализа данных (Payload транзакций), которая помогает использовать бизнес-контекст для именования транзакций. На рисунке 23 представлено позиционирования BPA по отношению к AXA и APM. По сути, как и AXA (через Browser agent и мобильный SDK) BPA является поставщиком метаданных для APM и помогает в определении бизнес-транзакций.
Физически, BPA является плагином, который устанавливается на web-сервер приложения. Плагин собирает сырые http-данные (после дешифрования серверов https-трафика) каждого запроса и ответа и заливает их в DX APM для дальнейшей обработки и формирования бизнес-транзакций. В текущей версии DX APM 20.2 плагин BPA доступен для:
Коротко о статье
Мы сделали хороший аналог зарубежным APM. Вот и решили, что не стоит сдерживаться и жадничать, а лучше поделиться с сообществом нашим опытом. По ссылке запись на бета-тестирование продукта, который мы строили-строили и почти построили. Оценивайте и делитесь ОС!
Пока не претендуем на звание «Лучший APM 2023 года», даем честное слово, что скоро его докрутим. Объективно, APM Wizard не такой крутой, как DataDog или NewRelic, но – самое главное – он доступен в России.
Если уже знаете о том, что такое APM – жмяк. Если пока нет, ниже в статье можно восполнить пробел в знаниях.
Power management events
There are 12 power events (such as standby, suspend and resume requests, and low battery notifications), plus OEM-defined events, that can be sent from the APM BIOS to the operating system. The APM driver regularly polls for event change notifications.
Application performance monitoring (APM) is just one way to observe your apps
DX AXA (Application Experience Analytics) ориентирован на мониторинг взаимодействия пользователeй с фронтэндом через браузер или мобильное приложение на своём гаджете. Данные, собираемые AXA, могут быть использованы как разработчиками для оптимизации работы приложений, так и бизнес-аналитиками для формирования отчетности о доступности сервисов и планирования бизнес-KPI. Фокус AXA в задаче мониторинга опыта конечных пользователей представлен на рисунке ниже.
DX AXA получает данные по транзакциям пользователей мобильных приложений с помощью интеграции SDK в приложение. В список поддерживаемых платформ включены: Android, iOS, WatchOS. Стоит отметить, что процедура встраивания инструментария SDK в приложения Android очень проста, осуществляется в web-интерфейсе AXA в несколько кликов мыши и не требует привлечения разработчиков.
Также AXA покрывает мониторинг и web-транзакций пользователей с помощью Browser Agent. Browser agent — это snippet (скрипт), который встраивается в домашнюю страницу приложения, и при взимодейсвии пользователя с приложением собирает и отправляет метрики взаимодействия на сервер AXA для анализа. Таким образом, это не требует установки агента на рабочих станциях конечных пользователей. Browser agent имеет широкий спектр возможностей по кастомизации и сбору данных. При этом поддерживаются web-транзакции во всех популярных браузерах.
Основной спектр задач, который решает AXA для команд эксплуатации являются:
В список функций, предназначенных для разработчиков приложений входят:
1. Просмотр скриншотов и видео взаимодействия пользователя с приложением,
оптимизация приложений на основе анализа наиболее популярных действий пользователя в приложении.
2. Сегментация сбоев по платформе, устройству. Индикация и детальные данные по App Crashes, HTTP и JavaScript Errors.
3. Просмотр параметров производительности для каждой сессии пользователя.
4. Функция Resource Waterfall обеспечивает более глубокое понимание производительности веб-приложений, отображая подробную информацию о времени загрузки всех компонентов веб-сайта.
Фунционал по разработке отчетности и визуализации данных способен удовлетворить требования бизнеса по планированию доходов и оценке затрат на модернизацию приложений:
DX AXA имеет глубокую интеграцию с продуктом DX Application Performance Management (APM) для расследования проблем, не связанных с фунционированием фронтэнда. D X AXA при этом является дополнительным поставщиком данных для DX APM по транзакциям, совершаемым пользователями с помощью мобильных приложений.
Сами с APM усами
Часто IT-команды в компаниях пытаются сами написать софт по оценке производительности. Что поделать, человек — существо творческое, не может он спокойно усидеть, рвется покорять и созидать. Не хотят айтишники использовать готовы, хотят творить здесь и сейчас! По итогу, вместо того, чтобы заниматься автоматизацией, команда тушит локальные пожары.
Плюс к этому, автоматизация IT-процессов без интеграции AIOps может создавать проблемы. Без AIOps (Artificial Intelligence for IT Operations — Искусственный интеллект для решения IT-операций) система настолько же интеллектуальна, как и люди, которые ее программируют. При этом искусственный интеллект, основанный на машинном обучении, нуждается в этом самом обучении. Это требует громадных усилий по обработке данных, а также работы по созданию моделей машинного обучения.
Как убедить бизнес приобрести промышленное APM-решение?
Возьмем для примера одну финтех организацию. Для контроля работы систем она использует:
Graylog — для просмотра логов действий
Elastic/Kibana — визуализация данных
Google Analytics/Yandex Metrika — бизнес-показатели
Контроль на аппаратном уровне
Вместо всего этого изобилия можно было успешно использовать промышлен «Ключ-Астром».
Унифицированный подход к автоматизации ИТ-процессов необходим, чтобы избежать плохо интегрированных, разрозненных сервисов. Так компания получает связанные между собой данные, что позволяет принимать руководству более точные решения, которые в итоге влияют на ее прибыль.
Начать стоит хотя бы с того, что с помощью оповещений IT-команда сможет выявлять проблемы до того, как они отразятся на работе пользователей.
Также APM поможет следить за транзакциями приложений, поможет продиагностировать пользовательский опыт и обеспечит безупречный пользовательский интерфейс.
Еще одно преимущество наблюдаемости для бизнеса — это оценка и оптимизация IT-затрат. Инфраструктура IT уже не может существовать в отрыве от целей и задач бизнеса. Важно, чтобы IT-департамент, внедряя какие-то решения, был интегрирован в общую стратегию компании и следовал ей. С помощью инструментов наблюдаемости бизнес может оптимизировать затраты на IT, а это в свою очередь ведет к снижению издержек, ускорению выхода новых продуктов и уменьшению простоя сервисов из-за ошибок. Платформа в результате станет единой точкой принятия решений, входа и настройки, благодаря тому, что объединяет собой бизнес и IT.