Search
Write a publication
Pull to refresh
Московский кредитный банк
Банк, где понимают клиента

Как мы подбирали ключи. Внедрение мониторинга APM Ключ-Астром

Level of difficultyMedium
Reading time4 min
Views2.2K

Краткая справка: Ключ-Астром – система мониторинга класса АРМ (application performance monitoring). Штука платная, лицензируется по объему оперативной памяти на серверах приложений и по сессиям мобилок или веб-приложений.

Полезна для мониторинга работы приложений, под капотом ИИ, который оперативно перестраивает пороги и следит за серьезными изменениями, например, рост количества ошибок и ухудшение времени отклика операций. Также находит связь между событиями и объединяет их в проблемы, обозначая все затронутые ИТ-системы, стоящие на мониторинге. И указывает количество затронутых пользователей.

Используется для:

  • Сквозного транзакционного мониторинга

  • Поиска первопричины сбоя

  • Узких мест

  • Поиска наиболее медленно выполняющейся операции в цепочке

  • Сбора клиентского пути (клиентского опыта)

  • Сравнению работы новых релизов с текущим PROD-ом.

История: В 2021 году мы очень удачно отыграли конкурс, где Ключ-Астром победил AppDynamics. Если бы получилось наоборот, то в 2022 году наш АРМ превратился бы в тыкву )

Процесс внедрения: Внедрение прошло не сложно. Отказоустойчивый кластер на 3 ЦОД-а собрали. «Прокси» раскидали по подсетям. Установка агентов не заняла много времени, но для нормальной работы нужно перегружать приложения. Сами агенты тут называются Едиными, что означает, что они унифицированы для всех поддерживаемых технологий и внедряются сами, автоматически. На высококритичных системах, в нашем случае, приходилось ждать по неделе и больше для того, чтобы попасть в технологическое окно для перезапуска приложения.

Тестировать на препроде обязательно, были прецеденты укладывания приложения на бок, подтекания памяти из криво написанных микросервисов. Но здесь, скорее, не вина агента, а особенности приложения. На БД агенты ставить не обязательно – запрос видно со стороны приложения. Надо ставить агенты на все серверы в цепочке для получения трейсинга , в том числе и на балансировщики, (типа nginx).

Также на первых порах возникают вопросы со стороны ИБ. Они сильно возбуждаются на установку агентов под root-правами. Но дальше агент работает и обновляется в non-root

С обучением персонала чуть сложнее. Система как книга «Шантарам», кому-то понятна и проста, а у кого-то есть проблемы с восприятием. Хотя UX/UI более-менее понятный. Так что нужно несколько итераций, чтобы загнать ключевых людей из 2-3 линии поддержки в Ключ.

Далее идет настройка алертов. В нашем случае мы настраивали алерты в корпоративный мессенджер. И начинается работа с «серым шумом». В некоторых случаях нужно настроить частоту проверок, а часто нужно собрать фактуру и идти в разработку чтобы они подумали, почему их так «колбасит».

На картинке представлен вид с проблемами (событиями) за 24 часа

При хорошо настроенной системе очень приятно видеть e2e-транзакции с участием многих систем. И поиск точек отказа и узких мест сильно упрощается.

Также есть интересные медийные вещи, которые помогают с постмортом. Выглядит, конечно, сладенько, но когда у вас массовый инцидент затронул 15 систем — и все они на мониторинге, то этот фильм по тому откуда все началось, как развивалось и как затухало можно пересматривать много раз )) Посмотрите это на видео.

Самая трудоёмкая задача — это настройка сбора клиентского опыта.

Для чайников: это сбор времени начала и конца пользовательских операций, получения кодов ошибок. Используется как бизнесом для дальнейшего анализа и создания реакций менеджеров на определенные действия (как пример мониторинг ошибок VIP-клиентов) или на превышение времени выполнения операций. Самый простой пример – время авторизации (ошибки), загрузка основного экрана с продуктами.

И чтобы это качественно настроить, надо пройти страшных людей под названием ИБ. Настроить прохождение WAF-а, побиться, чтобы нигде не резались header-ы. У нас это заняло прямо очень много времени, несколько раз присоединялся бизнес, чтобы ускорить ИБ.

Чтобы все это хорошо работало, в большинстве случаев нужна помощь разработки. Действия автоматом попадает в систему, но как вы поймете, что имел в виду разработчик, назвав это beatle.juice.002? Так что собираете пожелания от бизнеса и закидываете в бэклог разработчикам. И после этого волшебным образом появляются действия «Выдача кредита» или другие операции с временем выполнения и кодами ошибок "три раза неправильно ввел пароль" ).

Что делать с этим клиентским опытом?

Мы через elastic выгружаем его в корпоративное хранилище, где с ним могут работать аналитики от бизнеса.

Ещё можно строить дашборды прямо в Ключе. Как пример простого использования — мы построили воронку получения карты МИР. Очень интересно всем было обнаружить, на каком этапе квеста отваливается большинство желающих )

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

Пример Трейса

Какие неожиданные возможности еще дает система?

  • Мы её использовали, чтобы искать dblinks.

  • Иногда очень помогает возможность посмотреть, какой сервис в какой момент времени кушает CPU, RAM или генерирует много трафика.

  • Один раз система помогла найти Garbage collector, который при запуске укладывал систему.

  • То есть их система поиска первопричин проблем действительно работает.

    Матрицу использования системы в нашей компании можно представить так:

Какие интересные аспекты работы системы мы открыли при использовании?

Есть старые системы, которые автоматом не залетают на мониторинг. Самый простой пример — старый Siebel, у которого на фронте java, а на бэке C#. Фронт прекрасно мониторится, а вот бэк – черный ящик. И тут каждый сам решает, что с этим делать. Отключить бэк или разметить его, приложив определенные усилия разрабов.

Систему можно использовать на внутренних web-приложениях, где все хотят видеть «яндекс.метрику», но ИБ не дает ее туда пустить. Система выдает все то же после настройки, только не грузит так сайт. И как плюс — каждую пользовательскую операцию можно разобрать по маршрутам её прохождения (оттрассировать ее).

Последние новости — появились плагины для расширенного мониторинга БД и сети, модуль поиска уязвимостей. БД успели посмотреть, выглядит интересно, но серьезных выводов пока не готов озвучивать, пилоты на реальных системах впереди.

Если все звучит слишком хорошо, помните, система платная и требует настройки. Но опенсурс требует еще большей настройки )

З.Ы. За подготовку статьи спасибо Альберту и Людмиле!

Tags:
Hubs:
Total votes 3: ↑3 and ↓0+4
Comments2

Articles

Information

Website
mkb.ru
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Chitanava