Статьи

Полное руководство по инструментам отслеживания ошибок: Rollbar против Raygun против Sentry против Airbrake против Bugsnag против OverOps

Rollbar против Raygun против Sentry против Airbrake против Bugsnag против OverOps

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

Что такое инструмент отслеживания ошибок? Что вы на самом деле можете сделать с этим? Каковы различия между инструментами? Ответы на эти вопросы, а также некоторые другие актуальные вопросы ждут вас в следующем посте. Будьте готовы раздавить некоторые ошибки.

Инструменты отслеживания ошибок на помощь

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

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

Смешайте несколько новых инструментов со старыми, и мы получили текущие инструменты отслеживания ошибок, которые вам необходимо знать:

1. Роллбар

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

На панели инструментов представлены все новые и повторно активированные ошибки в вашем приложении (или элементы, как их называет Rollbar), которые можно просмотреть с помощью графика возникновения. В подробном представлении указывается, сколько раз возникала каждая ошибка, количество уникальных IP-адресов, на которые она влияла, и была ли она критической или нет.

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

Приборная панель-дуга

Панель управления Rollbar

Поддерживаемые языки и рамки

Rollbar имеет длинный список поддерживаемых языков, включая JavaScript, Angular, Node.js, Python, Ruby, Django, PHP, Clojure, .NET, Android, iOS, Haskell, Drupal, Rails и многие другие.

На стороне Java вам нужно будет использовать java-rollbar, набор модулей Maven, который позволяет сообщать о проблемах в Rollbar во всем, что может использовать Java. Важно отметить, что поддержка Java все еще находится в стадии разработки, и Rollbar заявляет, что эта библиотека была написана « кем-то, кто знает C # намного лучше, чем Java ».

Особенности

Одна из вещей, которая привлекла наше внимание — это Rollbar Zero . Так же, как концепция очистки вашей электронной почты, компания призывает вас просмотреть и «очистить» каждую произошедшую ошибку. Вы можете отключить или скрыть определенные элементы, о которых вы знаете, определить серьезность каждой ошибки и получить уведомление, если ошибка повторяется. Каждая ошибка может быть отправлена ​​члену команды, о котором нужно позаботиться, оставляя приборную панель чистой и безошибочной.

Если вы хотите увидеть ошибку глазами своей системы, Replays создаст повторный запрос GET, который включает тот же URL-адрес, заголовки, файлы cookie и другую информацию, необходимую для ее воспроизведения. Кроме того, Person Tracking позволяет просматривать историю событий для каждого интересующего вас пользователя.

Интеграции

  • Datadog
  • Flowdock
  • Github
  • Помощь Скауту
  • Logentries
  • Logstash
  • Mailgun
  • PagerDuty
  • слабина
  • Trello
  • Webhooks

ценообразование

Бесплатная версия предлагает до 5000 событий Rollbar в месяц, что достаточно для небольшого проекта. Следующие этапы определения цены — 49 долл. США в месяц, 149 долл. США в месяц, 299 долл. США в месяц и 599 долл. США в месяц в зависимости от количества интересующих вас мероприятий.

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

2. Райгун

Raygun предлагает 2 услуги: мониторинг реальных пользователей (aka Pulse) и отчеты о сбоях. Pulse отслеживает сеансы, проблемы с производительностью и узкие места, каждый из которых имеет возможность настроить оповещение, когда они происходят внутри кода. Он имеет отдельную панель управления, которая также информирует вас о времени загрузки из определенных стран, браузеров и устройств.

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

Raygun краш-отчетности

Панель отчетности Raygun’s Crash

Поддерживаемые языки и рамки

Здесь вы найдете поддержку .NET, Android, Drupal, Go, iOS, JavaScript, Node.js, PHP, Python, Ruby, Unity и других.

Если вы ищете поддержку Java, вам нужно добавить библиотеку Raygun4Java в ваше приложение. Эта библиотека позволит вам отправлять исключения прямо на панель управления Raygun. Это немного хлопотно, но в документации Raygun есть дополнительное объяснение.

Особенности

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

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

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

Raygun-импульсный

Панель приборов Raygun’s Pulse

Интеграции

  • Асана
  • Assembla
  • BitBucket
  • Костер
  • HipChat
  • Внутренняя связь
  • JIRA
  • PagerDuty
  • слабина
  • Trello
  • Webhooks
  • Zendesk

ценообразование

Вот где это становится сложным: Raygun рассматривает Pulse и Crash Reporting как две разные службы, каждая со своим ценовым планом. И нет, там нет предложения.

Пульс цены начинается от $ 99 / месяц за 100 000 сеансов в месяц. С другой стороны, в отличие от загрузки страниц, пользовательский сеанс — это время между тем, когда пользователь посещает ваше приложение, и тем, когда он уходит. Следующий шаг — 198 долларов в месяц для 200 000 сеансов, а затем большой скачок до 495 долларов в месяц для 500 000 сеансов.

Отчет о сбоях начинается с 49 долларов США в месяц для 25 000 событий ошибок в месяц и до 5 приложений. $ 149 / месяц даст вам 250 000 событий ошибок в 20 приложениях, а за $ 499 / месяц вы можете собрать 3 000 000 событий ошибок в 50 приложениях.

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

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

3. Часовой

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

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

Караул-панель

Sentry’s Dashboard

Поддерживаемые языки и рамки

JavaScript, Node.js, Python, Go, PHP, Ruby, C #, Objective-C и даже Swift.

Raven является Java-клиентом для Sentry, и он использует популярные библиотеки журналов для захвата и преобразования файлов журналов. Библиотека берет эту информацию и отправляет соответствующие данные в экземпляр Sentry. Компания настоятельно рекомендует использовать одну из поддерживаемых сред ведения журналов для сбора и отправки сообщений в Sentry.

Особенности

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

Интеграции

  • HipChat
  • GitHub
  • слабина
  • Trello
  • Heroku
  • Костер
  • JIRA
  • PagerDuty
  • GitLab

ценообразование

Любители могут использовать Sentry бесплатно, до 5000 событий в день. Следующий шаг цен варьируется от 29 до 249 долларов США в месяц на сумму до 288 000 событий в день, а последний шаг предлагает неограниченные события за 999 долларов США в месяц.

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

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

4. OverOps

OverOps был сделан, чтобы дать разработчикам простой ответ на сложный вопрос: когда, где и почему перерыв в работе кода. Он фиксирует исключения и ошибки и является ЕДИНСТВЕННЫМ решением, показывающим состояние переменной, которая его вызвала, на всех методах и машинах.

С помощью OverOps вы можете получить представление о реальном коде, который выполнялся в момент возникновения исключения или ошибки. Таким образом, у вас есть все, что вам нужно, чтобы найти, проанализировать и исправить ошибки, как только они появятся.

taleoo

Экран анализа ошибок OverOps

Поддерживаемые языки и рамки

OverOps предлагает поддержку всех языков JVM, включая Java, Scala, Clojure и Groovy, а также поддержку веб-контейнеров и сред.

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

Особенности

Если вы по-прежнему предпочитаете просматривать файлы журналов каждый раз, когда возникает ошибка, OverOps добавляет ссылку на каждую ошибку, которая приводит вас непосредственно к веб-панели мониторинга, показывая полный исходный код для каждого кадра в трассировке стека со значениями переменных, вызвавшими ошибку. Это. Вы можете установить приоритеты по частоте возникновения ошибок в кластере, если они связаны с новым или измененным кодом, и увеличивается ли эта частота.

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

Интеграции

  • JIRA
  • слабина
  • HipChat
  • PagerDuty
  • графитовый
  • графана
  • Nagios
  • Zabbix
  • Новая Реликвия
  • AppDynamics
  • DataDog

ценообразование

Вы получаете бесплатную пробную 14-дневную версию Pro, за которой следует учетная запись «Free Forever», которая поддерживает 1 пользователя и ограниченную диагностику. Счет Pro будет стоить 99 долларов США в месяц на JVM для ежемесячного плана или 79 долларов США в месяц на JVM для годового плана. Это предложение включает в себя до 50 пользователей и полный анализ первопричин.

Итог: OverOps — единственный инструмент, который дает вам полный исходный код, работающий в JVM в момент ошибки, с переменным и состоянием объекта во всем стеке вызовов. С другой стороны, в настоящее время он поддерживает только языки JVM. Попробуй бесплатно .

5. Воздушный тормоз

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

аэродинамический тормоз

Панель управления Airbrake

Поддерживаемые языки и рамки

Ruby, PHP, JavaScript, .NET, Python, Django, Node.js, iOS, Swift, Android, Go, Angular, Flask и некоторые другие имена.

Вы можете использовать Airbrake с Java через Maven и log4j, или добавив кувшин Airbrake в ваш путь к классам. Если вы хотите отправить невыполненные исключения в Airbrake, вам нужно использовать setUncaughtExceptionHandler, как показано в примере ниже:

1
2
3
4
5
Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    public void uncaughtException(Thread t, Throwable e) {
        logger.error(e);
    }
});

Особенности

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

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

Интеграции

  • Assembla
  • Bitbucket
  • Костер
  • Flowdock
  • GitHub
  • GitLab
  • HipChat
  • JIRA
  • Маяк
  • Pivotal Tracker
  • слабина
  • Trello
  • Webhooks
  • Zapier

ценообразование

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

Самый низкий тарифный план составляет $ 49 / месяц, и он включает 25 ошибок / минуту в 5 приложениях. За 75 ошибок в минуту в 15 приложениях взимается 99 долларов в месяц, а последний шаг стоит 249 долларов в месяц за 200 ошибок в минуту для неограниченного количества приложений.

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

6. Багснаг

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

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

bugsnag-панель

Панель инструментов Bugsnag

Поддерживаемые языки и рамки

Android, Go, iOS, .NET, Node.js, PHP, Python, Ruby, Unity.

Вы можете добавить Bugsnag в свое Java-приложение, используя Gradle, Maven или ручную установку jar. Также есть возможность добавить Java с помощью загрузочных проектов Spring и Spring, и вы можете посмотреть весь процесс здесь .

Особенности

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

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

Интеграции

  • DataDog
  • HipChat
  • слабина
  • Twilio
  • Assembla
  • Bitbucket
  • JIRA
  • Trello
  • PagerDuty
  • Webhooks

ценообразование

План для любителей предлагается бесплатно и поддерживает до 250 сообщений об ошибках в день для одного пользователя. Ценовой план Team начинается с 29 долл. США в месяц и может доходить до 499 долл. США в месяц, обеспечивая до 100 000 сообщений об ошибках в день для 30 членов команды. Как и другие услуги, безлимитный корпоративный план начинается с 999 долларов в месяц.

Итог: Bugsnag может сэкономить нам время, поскольку он просматривает файлы журнала для нас и создает панель ошибок и исключений, предлагая при этом лучший рабочий процесс.

7. StackHunter

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

Каждая ошибка включает в себя трассировку стека, HTTP-запрос, свойства JVM, атрибуты JMX и, конечно, когда и где это произошло. StackHunter отслеживает неперехваченные исключения, а также ошибки, регистрируемые через Log4J, Logback и их собственный API.

stackhunter-панель

Панель инструментов StackHunter

Поддерживаемые языки и рамки

Со стороны Java это инструмент, созданный специально для захвата исключений Java. Он поддерживает JDK 6 или выше и требует контейнер Servlet 2.5 или выше. Установка довольно проста, и после распаковки установочного пакета все, что вам нужно сделать, это развернуть файл war из server / stackhunter.war на ваш веб-сервер.

Особенности

StackHunter отслеживает исключения, автоматически подключаясь к Log4J и Logback, что позволяет захватывать исключения, которые вы уже регистрируете. Кроме того, этот инструмент предлагает единый веб-интерфейс, в котором вы можете просматривать все исключения.

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

Интеграции

  • Log4J
  • Logback

ценообразование

После бесплатной 30-дневной пробной версии цена начинается с единовременной платы в размере 499 долл. США за 1 отслеживаемое приложение и 1 отслеживаемую JVM с бесплатным обновлением в течение 1 года. Для 10 отслеживаемых приложений и 10 JVM цена подскочит до 2495 долл. США, а за 5 970 долл. США вы получите 25 отслеживаемых приложений и 25 отслеживаемых JVM — обе с бесплатными обновлениями в течение 1 года.

Итог: StackHunter — это небольшой бета-инструмент, созданный специально для Java, и, как он есть, базовый, он выполняет свою работу.

Последние мысли

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

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

Используя другие инструменты, о которых мы не писали? Есть что-нибудь еще, чтобы добавить об одном из инструментов, о которых мы написали? Мы будем рады выслушать вас в комментариях ниже.