Статьи

Лучшая новая альтернатива Relic для мониторинга приложений

Мне повезло работать в крупной организации, которая поддерживает свои инженерные работы с помощью отличного, хотя и дорогостоящего инструмента. New Relic — один из инструментов, которые я имею в своем распоряжении для мониторинга и устранения неполадок в моих приложениях. New Relic предлагает множество продуктов для мониторинга, но главным из них является мониторинг производительности приложений или решение APM.

В этой статье я хотел бы поделиться тем, что нашел при сравнении функций и удобства использования New Relic с AppOptics . AppOptics — это APM-решение, предлагаемое SolarWinds. Моя цель при сравнении этих продуктов состояла в том, чтобы найти сопоставимую и более дешевую альтернативу New Relic. Я буду сравнивать возможности обоих инструментов, чтобы увидеть, как они складываются друг с другом.

Особенности, которые я буду сравнивать

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

Я использую New Relic в качестве инструмента для просмотра и анализа производительности микросервисов, которые я развернул в облаке AWS. Клиент New Relic собирает множество метрик от каждого узла. Он предоставляет мне представление о данных производительности на уровне приложения и позволяет углубляться в данные каждого экземпляра. Как правило, это микросервисы на основе Java, поэтому помимо метрик приложений и системы меня интересуют также метрики JVM.

Вот некоторые из метрик, которые я нашел наиболее полезными для устранения неполадок и оптимизации производительности:

  • Метрики производительности приложений
  • Метрики оборудования
    • Использование процессора
    • объем памяти
    • Использование диска
    • Сетевой ввод / вывод
  • Метрики JVM
    • Использование кучи и памяти без кучи
    • Число потоков
    • Вывоз мусора

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

Регистрация и установка клиента

И New Relic, и AppOptics предлагают 14-дневную бесплатную пробную версию , и ни один из них не требует кредитной карты для регистрации. Я смог подписаться на обе пробные версии в течение нескольких минут и обнаружил, что процесс одинаков для обоих продуктов. Я решил использовать пробные версии обоих продуктов, чтобы обеспечить общую основу для сравнения.

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

Рисунок 1. Языки, поддерживаемые AppOptics

Рисунок 2. Языки, поддерживаемые New Relic

За исключением поддержки Go от New Relic, оба предложили одинаковый выбор языка и поддержку операционной системы. Для установки обоих клиентов требуется, чтобы у вас был root-доступ к целевому устройству, а инструкции, объясняющие, как загрузить и установить клиенты, были подробными и конкретными.

Одно из различий между этими двумя процессами установки заключалось в том, что AppOptics позволяла мне загружать Java-агент прямо на мой хост-компьютер. Процесс включал выполнение пары настроенных операторов из командной строки. После этого процесса все, что мне нужно было сделать, это включить агент Java в качестве параметра при запуске приложения, и данные начали поступать в AppOptics, как только я перезапустил свое приложение.

В моем случае я запускал простой проект SpringBoot, который был построен с использованием Gradle. Я установил агент AppOptics в / opt / appoptics, а затем добавил следующую функцию в мой файл build.gradle .

1
2
3
bootRun {
        jvmArgs = ["-javaagent:/opt/appoptics/appoptics-agent.jar"]
}

Установка New Relic потребовала от меня загрузки zip-файла с веб-сайта New Relic на мою машину для разработки. Я использовал SCP для загрузки файла в мой экземпляр EC2. После этого процесс установки был похож на AppOptics.

Агент New Relic, похоже, поддерживает автоматическую установку на Tomcat, Glassfish и пару других серверов приложений, но, к сожалению, я не использовал сервер приложений. В итоге я разархивировал агент New Relic в / opt / newrelic, а затем добавил следующую функцию в мой файл build.gradle .

1
2
3
bootRun {
        jvmArgs = ["-javaagent:/opt/newrelic/newrelic.jar"]
}

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

Рисунок 3. Панель инструментов готова и готова к сравнению

Начальные впечатления

Я использую New Relic в течение трех лет, и когда я впервые открыл панель обзора услуг в AppOptics, она показалась мне очень знакомой. Давайте начнем с главной страницы, рассматривая список доступных сервисов для каждого инструмента.

Честно говоря, я предпочел немного больше домашнего экрана AppOptics. При добавлении нового сервиса вы выбираете имя в качестве первого шага, тогда как New Relic назначает имя по умолчанию, которое вы можете позже редактировать. Обе службы показывали необходимые метрики рядом с названием приложения. AppOptics включает графику, и я заметил, что запросы измеряются секундами, а не минутами.

Рисунок 4. Список сервисов AppOptics

Рисунок 5. Новый список приложений Relic

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

Оба инструмента используют в основном графические подходы к своим инструментальным панелям, а AppOptics представляет все данные в графической или табличной форме. С точки зрения эстетики и простоты интерпретации, я предпочел презентацию, предоставленную AppOptics. Четкие границы и согласованные форматы данных между всеми основными элементами облегчают мысленный переход между элементами данных.

Рисунок 6. Панель инструментов AppOptics

В то время как AppOptics казался более простым для просмотра, New Relic, казалось, предоставил больший доступ к моим данным. Далее мы рассмотрим мониторинг инфраструктуры, но я смог перейти непосредственно к информационной панели инфраструктуры для каждого из моих хостов непосредственно с основной информационной панели.

Рисунок 7. Новая панель инструментов Relic

Оба инструмента позволяют пользователю указывать временное окно для данных и предоставлять некоторые дополнительные ссылки — расположенные в верхней части панели мониторинга в случае AppOptics и из левого меню навигации для New Relic. Оба предлагают подробный обзор транзакций, обрабатываемых службой, вызовов удаленных служб и метрик базы данных. Мне не удалось найти какие-либо данные JVM на панели инструментов AppOptics. Согласно тому, что я обнаружил в сети, показатели производительности JVM предлагаются AppOptics, но, возможно, мне нужно было установить агент на сервер приложений, такой как Tomcat или Jetty.

Мониторинг инфраструктуры

Для обоих инструментов мониторинг инфраструктуры требовал дополнительных действий в дополнение к первоначальной установке клиента. AppOptics требовалась дополнительная команда для выполнения из командной строки, а New Relic требовалась бесплатная пробная версия продукта инфраструктуры . Новый Relic также использовал немного другой процесс установки, который требовал установки дополнительного репозитория yum . Каждый шаг был четко прописан в инструкции.

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

В New Relic вы можете перейти к хостам для каждого приложения с панели инструментов приложения, и я не смог найти список всех отслеживаемых хостов. Глядя на один экземпляр для этого сравнения, мне понравилась возможность видеть состояние моего экземпляра в сводной форме. Мне не удалось найти соединение между хостом и конкретным приложением. В ситуации, когда команда может поддерживать более 10 или 20 экземпляров, подход New Relic может упростить переход к конкретным экземплярам.

Специфические информационные панели для каждого хоста были представлены аналогично данным приложения. AppOptics использовала в основном графические панели в очень чистом и симметричном расположении, в то время как панель инструментов New Relic использовала различные типы отображения для просмотра данных — и хотя было доступно больше данных, для просмотра всех этих страниц требовалась навигация по различным вкладкам.

Рисунок 8. Панель инструментов инфраструктуры AppOptics

Рисунок 9. Новая панель инструментов инфраструктуры Relic

Оба инструмента предоставляют возможность исследовать данные на каждом графике, щелкая ссылку в правом верхнем углу каждого графика. Новая реликвия также имела возможность создавать оповещения из каждой метрики. Далее мы рассмотрим оповещения.

Автоматический мониторинг с оповещениями

Новая Relic и AppOptics предоставляют возможность добавлять оповещения. Я нашел процесс настройки оповещения в AppOptics более простым, чем процесс в New Relic. New Relic предоставляет возможность создавать оповещения о всех своих продуктах с дополнительными опциями. AppOptics не (например, возможность определить область предупреждения) ни для всех экземпляров, ни для целей в отдельных экземплярах.

Оба инструмента предлагают интеграцию оповещений со значительным набором сервисов уведомлений, от электронной почты до Slack, и, хотя AppOptics, похоже, имеет больше интеграций, оба сервиса перечислили основные сервисы, которые я регулярно наблюдаю в нашей отрасли.

Рисунок 10. Создание оповещения AppOptics

Рисунок 11. Создание оповещения о новой реликвии

Выводы

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

New Relic предлагает дополнительные продукты, такие как New Relic Synthetics и Insights, которые могут предоставить организациям дополнительные возможности мониторинга. Инструмент, кажется, предлагает больше точек данных. Однако я обнаружил, что не всегда интуитивно понятно, где находятся эти данные, и данные не обязательно были представлены в легко просматриваемом формате.

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

По сравнению с модульным подходом New Relic в доступной функциональности, я чувствовал, что AppOptics предоставил более целостное решение, которое было немного проще в установке и начало просмотра и анализа данных. AppOptics, вероятно, потребует более короткой кривой обучения для новых пользователей системы из-за ее интуитивно понятной навигации и более согласованного представления данных.

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

Однако, если вы беспокоитесь о бюджете и спрашиваете, является ли AppOptics сопоставимой недорогой альтернативой New Relic, я должен был бы ответить решительным «да». AppOptics предлагает более низкую стоимость, как для самого инструмента, так и для обучения, необходимого для обучения — все это без ущерба для функциональности по сравнению с New Relic.