Мониторинг веб-приложения в Tomcat - (не мониторинг Tomcat) - PullRequest
2 голосов
/ 29 декабря 2010

Я ищу идеи о том, как лучше контролировать приложение, работающее в Tomcat. Я не обращаюсь к Tomcat Monitoring, а скорее проверяю, активно ли «веб-приложение».

Я знаю, что есть несколько инструментов для мониторинга Tomcat (lamdbaprobe, Nagios и т. Д.), Но я хочу отслеживать фактическое приложение, которое выполняется в Tomcat. Причина этого в том, что существует несколько ситуаций, когда Tomcat может работать, но приложение не может быть доступно

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

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

Ответы [ 4 ]

1 голос
/ 29 декабря 2010

JMX - это то, что вы должны выбрать.

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

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

Связь основана на стандарте, вокруг множество инструментов, говорящих "JMX over RMI", например, jconsole или jvisualVM. У большинства программ мониторинга есть плагины JMX (Nagios и другие - мы используем Hyperic).

EDIT

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

class MyInfo {
  public int getCurrentValue() {
    // lookup this value wherever yoy want
    return 42;
  }
}

Написать интерфейс

interface MyInfoMBean {
  public int getCurrentValue();
}

Напишите ContextListener, который регистрирует этот MBEan при запуске веб-приложения.

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

1 голос
/ 29 декабря 2010

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

1 голос
/ 29 декабря 2010

Вы пробовали использовать JVisualVM? Он поставляется с Oracle SDK и может дать вам то, что вам нужно.

0 голосов
/ 31 июля 2015

Я только что открыл новый инструмент мониторинга производительности приложений

https://github.com/scouter-project/scouter/

Сервисный мониторинг действительно отличается от мониторинга Tomcat.SCOUTER - это инструмент мониторинга службы веб-приложений.Вы можете проверить производительность (также данные профилей / sqls) каждой отдельной транзакции (запроса на обслуживание) на диаграмме разброса ответов (диаграмма XLOG)

...