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