Java-клиент Jolokia

Я новичок в JMX. Я разработал веб-сервис, используя Glassfish в качестве сервера. Теперь я хочу контролировать свое приложение;

Моей первой мыслью было использование Jconsole и JVM в качестве инструмента удаленного мониторинга. После продолжения моих исследований я нахожу следующие статьи:

http://www.javacodegeeks.com/2012/02/client-side-server-monitoring-with.html

Доступ к JMX через альтернативы HTTP

Это говорит о том, что я должен использовать мост, такой как Jolokia, причину которого я явно не понимаю. JConsole + mbeans недостаточно?

Я продолжаю свои исследования и создал java-проект на их примере:

  public static void main(String[] args) throws MalformedObjectNameException, J4pException {
        J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia/");
        J4pReadRequest req = new J4pReadRequest("java.lang:type=Memory",
                "HeapMemoryUsage");
        J4pReadResponse resp = j4pClient.execute(req);
        Map<String, String> vals = resp.getValue();
        System.out.println("Memory usage: used: " + vals);

    }

Это сработало, я получаю сообщение, связанное с использованием моей памяти. Но я не знаю, что было целью.

Каков наилучший способ мониторинга моей веб-службы?


person Goldbones    schedule 19.12.2014    source источник
comment
Я бы начал с вопроса, что я хочу контролировать? чем продолжить, как мне это сделать   -  person Dror Bereznitsky    schedule 21.12.2014


Ответы (1)


Я рекомендую использовать JVisualVM. Он действительно прост в использовании и дает отличную информацию. Просто запустите приложение, а затем запустите JVisualVM, и он обнаружит запущенное приложение Java. Вы можете нажать на нее, чтобы получить все виды информации в графической форме. Используйте его для мониторинга памяти, потоков, сборки мусора и создания дампов кучи.

Инструмент, о котором вы упомянули, Jolokia предоставляет способ мониторинга приложения с меньшим воздействием, но, похоже, вам нужно будет больше кодировать. JVisualVM предоставляет много информации из коробки.

Возможно, вам придется учитывать влияние JVisualVM на производительность, но я бы не стал беспокоиться об этом поначалу, если только ваш сайт не имеет высокой посещаемости. Вы также можете выбрать, что отслеживать для снижения воздействия.

person dan b    schedule 27.12.2014