Тестируем не совсем реальный (или совсем нереальный) мониторинг от New Relic и Appdynamics

    Привет, хабранарод! Почему совсем нереальный? Да потому что мониторинг имитирует действия реальных пользователей, но выполняется по специальному алгоритму из заданных локаций. Сами вендоры называют этот механизм Synthetics, поэтому дальше в статье будем стараться придерживаться именно такой терминологии – синтетический мониторинг.

    New Relic и Appdynamics – прямые конкуренты, являются лидерами квадранта Gartner и реализуют достаточно схожий функционал. У обоих вендоров есть возможность мониторинга транзакций в приложениях, они умеют выполнять проверки на стороне браузера конечного пользователя, умеют встраиваться в мобильные приложения и, наконец, обладают одной из ключевых возможностей современного мониторинга – умеют выполнять алгоритмизированные действия в веб-интерфейсе приложения.

    В предыдущих статьях по основным принципам мониторинга бизнес-приложений и расширению функционала Zabbix мы уже касались синтетического мониторинга и, нужно сказать, если ваш бизнес растет и веб-приложение обслуживает большое количество клиентов, Synthetics для вас must have. Либо он есть, либо будет. Вы же не хотите жалоб от клиентов (а в худшем случае – отказа от использования вашего сервиса), правда?

    image

    Как известно, ключевым отличием двух вендоров является наличие on-premise версии у Appdynamics (New Reliс работает только из облака). Но в случае с Synthetics все переворачивается с ног на голову. Appdynamics может выполнять алгоритмы проверки только из облака: на выбор разные континенты, разумеется, кроме Антарктиды (смотрите метки на карте). Небольшое примечание: это может показаться костылем, но Appdynamics предлагает использовать для мониторинга внутренних ресурсов три специальные точки наблюдения со статичными IP-адресами.

    image

    А вот с New Relic вы можете развернуть точку наблюдения как в облаке, так и у себя локально на полярной станции и проверять закрытые корпоративные ресурсы (например, заводить кредитные заявки в CRM):

    image

    Следующим отличием двух решений является используемый язык для алгоритмизации. Если в NewRelic это JavaScript, который выполняет эмуляцию браузера Google Chrome на базе Selenium, то в Appdynamics это Python также основанный на Selenium, но браузер можно выбрать из распространенных. И тут стоит добавить небольшой нюанс: оба решения используют Webdriver, но параметры этой штуки (user-agent, разрешение экрана и прочее) позволяет настраивать только New Relic, в Appdynamics используются параметры по умолчанию.

    New Relic по умолчанию игнорирует системы аналитики, поэтому если нужно что-то включить, используйте следующий алгоритм:

    Обход аналитики
    //Allow Google Analytics scripts to run
    $browser.addHostnameToWhitelist(hostnameArr: ['google-analytics.com']);
    
    //Visit https://docs.newrelic.com
    $browser.get('https://docs.newrelic.com');
    


    В Appdynamics такого функционала из коробки нет, но в случае необходимости его возможно реализовать внутри вашего скрипта.

    После каждого шага транзакции Appdynamics сохраняет скриншот веб-страницы. New Relic сохраняет только последний экран. На просторах интернета нашелся один японский способ, который будет актуален для обоих решений. Умелец из страны восходящего солнца описывает способ загрузки файлов на Google Drive через API.

    В Appdynamics есть возможность использовать только стандартные библиотеки Python. New Relic позволяет использовать также популярные модули Node.js.

    И основные выжимки в табличном виде:
    Особенность New Relic Appdynamics
    Синтетический мониторинг из облака да да
    Произвольный выбор точки наблюдения да нет
    Язык алгоритмизации JavaScript Python
    Настройка Webdriver да нет
    Коробочное игнорирование систем аналитики да нет
    Сохранение скриншотов экрана после каждого шага транзакции нет да
    Возможности расширения алгоритмов с помощью внешних библиотек/модулей да нет

    Конечно, систем транзакционного мониторинга на рынке вагон и маленькая тележка и определить, какая подойдет именно вам, может оказаться не так-то просто. Кроме систем по работе с вебом, существуют также те, которые умеют запускать толстые клиенты, проводить OCR-анализ интерфейса и выдавать прочие радости.

    Пожалуйста, обращайтесь с вопросами в комментариях. А если задача требует чуть более вдумчивого подхода, наш консалтинг он, как светлое будущее, – совсем не за горами.

    Автор статьи: Антон Касимов, архитектор систем управления
    Инфосистемы Джет
    168.65
    Системный интегратор
    Share post

    Comments 0

    Only users with full accounts can post comments. Log in, please.