Использование JMX и Как использовать для существующих приложений - PullRequest
13 голосов
/ 10 февраля 2012

Мы распространяли веб-приложение, разработанное несколько лет назад на JDK 5.

Как JMX поможет этому приложению?

1) Поможет ли мне контролировать производительность (память, процессор и сетевой и дисковый ввод-вывод)?

2) Если это так, то приложение развернуто на нескольких серверах, как я могу отслеживать на одной панели?

3) Нужно ли вносить какие-либо новые изменения кода в существующее приложение или я могу осуществлять мониторинг без изменений кода?

4) Что еще мы можем сделать, кроме мониторинга производительности? Поскольку имя - это Management Extensions (MX), чем мы можем управлять и как? Кажется, основная цель не мониторинг, это управление?

Я не мог получить много информации о JMX из учебника, предоставленного на веб-сайте Oracle http://docs.oracle.com/javase/tutorial/jmx/overview/why.html. Кажется, какой-то деловой представитель подготовил это руководство, а не технарь.

Может ли кто-нибудь помочь мне понять этот материал JMX, ваши усилия искренне приветствуются.

Спасибо, Твой друг.

1 Ответ

18 голосов
/ 11 февраля 2012

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

  1. Да, он даст вам некоторые данные о производительности.См. http://docs.oracle.com/javase/1.5.0/docs/guide/management/overview.html для списка ресурсов.
  2. Это зависит от вашего сервера приложений.Если он поддерживает кластерные среды, он, вероятно, предоставит вам панель управления.
  3. Если у вас все в порядке со стандартными MBean-компонентами JVM и сервера приложений, вам не нужно вносить никаких изменений.Но вы можете написать свой собственный MBean, чтобы указать конкретный статус приложения и статистику или способы управления вашим приложением.См. http://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html
  4. Ну, вы можете делать все, что вам угодно, стандартизированным способом.

Посмотрите на jconsole (входит в JDK), чтобы увидеть, что JMX предлагает для вас!

...