У нас есть веб-приложение на Java, и мы хотели бы настроить базовый мониторинг с целью расширения этого мониторинга в будущем. Наш план следующий:
(1) Сбор общей информации (например, памяти и потоков) о виртуальной машине веб-контейнера, в котором выполняется приложение.
(2) Контролировать «состояние» приложения. Это довольно расплывчато, но, по крайней мере, мы хотели бы посмотреть, если веб-приложение еще работает и может отвечать на запросы.
(3) В будущем мы хотели бы собрать больше информации, относящейся к нашему приложению. Опять же, это довольно расплывчато, но вы можете предположить, что мы можем захотеть сделать определенные статистические данные, собранные внутри приложения, доступными для службы поддержки.
Обычно веб-приложение развертывается в среде Tomcat 5.5 или 6. Быстрый поиск в сети показывает, что JMX может быть включен для Tomcat и что JConsole затем можно использовать для подключения к серверу. Это дает нам много базовой информации, которая решает пункт (1). Кроме того, некоторая информация доступна в разделе MBeans для «Каталины», и, углубляясь в это, я могу, по крайней мере, посмотреть, например, сколько запросов получил конкретный сервлет. Это не совсем то, что мы хотим для пункта (2), но, по крайней мере, дает нам некоторую информацию. Кажется, там довольно много информации, но ее довольно сложно интерпретировать с помощью JConsole. Возможно, есть лучший инструмент для интерпретации MBean-компонентов, представленных Tomcat.
Для пункта (3) на первый взгляд кажется, что мы могли бы написать наши собственные MBean-компоненты, а затем сделать их доступными для чего-то вроде JConsole. Лично это будет связано с тем, что я узнаю о JMX, что я очень рад сделать, но у меня есть проблема. Посмотрев вокруг, я заметил, что большинство учебников по этой теме не обновлялись в течение нескольких лет, и инструменты с открытым исходным кодом, кажется, томятся без последних обновлений. Так что мой главный вопрос прост. Что вы думаете о JMX? Есть ли у него будущее или оно заменено чем-то другим? Учитывая, что у нас уже есть наше веб-приложение, но мы начинаем с нуля для консоли управления, должны ли мы выбрать JMX или есть что-то более подходящее с лучшим будущим?
Я задаю этот вопрос без личного топора, мне просто интересно услышать ваше мнение и опыт. Я уверен, что нет единого правильного ответа, но я думаю, что информированное обсуждение было бы полезно.
Заранее спасибо,
Адам.