JSPWiki logo
Strona główna
Zbieranina
Serwisy
Porady
Projekty
Humor sektora IT
TODO
Nowości
Ostatnie zmiany
Kontakt

Find pages
Unused pages
Undefined pages
Page Index

Set your name in
UserPreferences

Edit this page


Referenced by
Java Tomcat_j 2 ee_s...
Jmx Console
News_blogentry_23100...
Porady




JSPWiki v2.2.33


Jmx


JMX - zarządzanie i monitorowanie aplikacji

JMX jest to technologia Javy pozwalająca na monitorowanie i zarządzanie zasobami. Przez zasoby można rozumieć aplikacje, urządzenia, sterowniki, usługi. Praktycznie dowolny obiekt Javy można udostępnić jako zasób. Więcej o technologii JMX można znaleźć na stronach Suna.

Wraz z Javą 1.5 dostarczana jest aplikacja jconsole pozwalająca na m.in. dostęp do drzewa MBeanów w danej JVM.

Co to jest MBean?

MBean jest zarządzalnym obiektem, zasobem, dostępnym poprzez JMX API. Udostępnia od odpowiednie metody pozwalające na dostęp do określonych informacji. Za pomocą MBeanów można badać stan zasobów, wywoływać określone metody, zmieniać stan obiektów. Wszystkie operacje mogą być także przeprowadzane nawet na zdalnych obiektach - pod warunkiem, że ich JVM pozwala na zarządzanie nimi.

Samodzielne stworzenie MBeana jest tak proste jak utworzenie interfejsu określającego wymaganą funkcjonalność, napisanie klasy implementującej ten interfejs, oraz na koniec zarejestrowanie ww klasy w serwerze MBeanów. Tyle. Od tej chwili obiekt jest dostępny narzędziom monitorującym.

Polecam uwadze aplikację jmx-console pozwalająca za pomocą interfejsu web na przeglądanie i zarządzanie MBeanami.

Zdalny dostęp do jconsole przez tunel ssh

Często zachodzi potrzeba śledzenia pracy JVM pracującej na odległym serwerze, do którego dostęp mamy tylko przez ssh. Nic prostrzego.

Oczywiście najpierw zdalna JVM musi być uruchomiona z parametrami pozwalającymi na śledzenie jej pracy, osobiście używam takiej konfiguracji (fragment pliku startowego Tomcata):

CATALINA_OPTS="-Dcom.sun.management.jmxremote \
        -Dcom.sun.management.jmxremote.port=4445 \
        -Dcom.sun.management.jmxremote.ssl=false \
        -Dcom.sun.management.jmxremote.authenticate=false \
        -Djava.rmi.server.useLocalHostname=true"
JVM uruchomiona z takimi uruchamia agenta JMX nasłuchującego na porcie 4445. Nie ustawiam żadnych haseł - kontrolę dostępu załatwiam na poziomie firewalla, po prostu i tak nikt inny nie połączy się na ten port. We współdzielonym środowisku należałoby jednak jakieś hasło ustawić.

Na swojej stacji uruchamiam ssh z opcją tworzącą tunel:

ssh -L 4445:adres.serwera:4445 user@adres.serwera

Teraz mogę się już połączyć aplikacją jconsole do zdalnej JVM podając adres localhost:4445.




Go to top   Edit this page   More info...   Attach file...
This page last changed on 08-Dec-2006 10:28:34 GMT by mikolajr.