OverOps: мониторим падения backend'а в реальном времени!
В этой статье пойдет речь о таком замечательном инструменте как OverOps.
Данная платформа позволяет подключить мониторинг вашего JVM приложения без каких либо затруднений. После подключения этой платформы Вы сможете оперативно получать уведомления о падениях и возникших исключениях в вашем приложении. Необязательно это должено быть backend приложение, это так же может быть и JavaFX и Swing приложение.
Введение
OverOps работает в облаке, для привязке своего прилоежния к нему нужно просто скачать демон-приложение overops, установить его у себя на ПК локально (или на сервере если мы ловим ошибки только в продакшене), и запустить ваше приложение со специальным флагом JVM. На сайте платформы описаны инструкции для интеграции со многими технологиями и фрейморками, фреймворками таким как Play, серверами как TomCat, и даже написано как интегрироваться с Intellij Idea и Eclipse.
Регистрация
Для регистрации нужно перейти на официальный сайт и там жмем кнопочку "SIGN UP". Там требуется указать компанию в которой Вы работаете, но это им нужно исключительно для статистики и Вы можете указать там вымышленную контору.
Личный кабинет
После авторизации в OverOps Вы увидите следующий dashboard.
На этом дашборде вы сможете увидеть ошибки которые валились в вашем приложении. Вы так же можете их фильтровать, показывать ошибки за день, за час, за неделю и так далее. OverOps позволяет интегрироваться со множеством систем, таких как Jira, Slack, HipChat, Grafana и так далее. Чтобы при возникновении исключения можно было создать по нему таску в вашей jira и отправить автоматическое сообщение в чат команды, чтобы быстро среагировать на ошибку. OverOps умеет так же показывать исходный код в котором произошла ошибка и даже строку.
Основное отличие OverOps от подобных проектов в том, что он снимает снимок кучи и накладывает его на байткод, таким образом вы можете видеть что происходило в коде и какие значения принимали переменные, и подробный stack трейс ошибки. Так же вы можете как на bitbucket создать свою команду и сделать рассылку всем кто должен оперативно узнавать об ошибках в системе и реагировать на них.
Всем ошибкам можно присваивать label'ы, чтобы выделять их в списке. Их можно увидеть слева снизу в меню. OverOps так же может показывать ошибки которые происходили при работе с базой данных.
Информация об ошибках
Специально для этой статьи я сделал тестовое приложение и заставил валить его исключения. На скрине выше вы сможете увидить список ошибок которые выдало мое приложение. Давайте провалимся в исключение NullPointerException. Для этого надо кликнуть на него.
Слева вы можете видеть цепочку исполнения и файл в котором произошло исключение. Справа вы видите исходный код. Последний файл в списке (сверху) - это файл в котором произошла ошибка, если вы начнете листать вниз, то вы будете "всплывать" вверх по дереву исключения. В окне с фиолетовым header'ом вы сможете узнать какие значения принимали перменные при возникновении исключения. Выше есть график, который показывает как часто появляется NPE в вашем проекте. У меня был всего один всплеск, когда я специально генерировал это исключение :).
В OverOps можно мониторить несколько проектов. Эта платформа имеет большое множество функций который вы можете посмотреть в документации. При первой авторизации в системе, Вам будет предложено настроить интеграцию. Вы сможете это сделать сразу или отложить на потом. Так же слева сверху в углу вы сможете увидеть, работает ли ваше приложение или нет.
Советую Вам познакомиться поближе с этой системой. На этом все, всем спасибо, пока ;)
никуя се, 100 баксов в месяц ))
Там можно бесплатно юзать, если приложение одно
Если подключается более одного, то 100 баксов в месяц) но все подобные системы платные, тот же NewRelic
14 дней триал там
Опять же, для нескольких проектов, у меня backend на play там уже 63 дня мониторится