Előző 14.1 Mérő szerver típusok specifikumai Következő

14.1.14 JMX mérő szerverek

A JMX mérő szerver aktív és discovery-re képes PVSR modul. A mérő szerver figyelembe veszi az eszköznél beállított timeout értéket, a szerver ezt használja az eszköz SSH lekérdezéséhez. Az eszközöknek az alap attribútumaikon kívül az alábbi paraméterei vannak (zárójelben megadva az adott paraméter név kódját, lásd 7.5.6 Nem SNMP adatgyűjtők paraméterei):

 

A PVSR a JMX szervereket lokális és távoli PVSR JMX agent-en keresztül is képes monitorozni. Amennyiben a PVSR a lokális JMX agent-et használja, úgy az „IP cím”, „Felhasználó” és „Jelszó” paramétereknek a lokális PVSR gépre kell vonatkoznia, és a JMX szerver címét a „JMX host” mezőben kell megadni. Azonban ha a PVSR a JMX szervert is futtató gépre felinstallált JMX agent-et használja, úgy az „IP cím”, „Felhasználó” és „Jelszó” paramétereknek a JMX-t is futtató szerverre kell vonatkoznia és a „JMX host” paramétert „localhost”-ra kell állítani. Néhány esetben (például Alfresco Java szerver) a JMX szerver nem a standard JMX URL-t használja. Ilyen esetben bár ki kell tölteni a „JMX port” és „JMX host” paramétereket is, de a helyes URL-t a „JMX URL” paraméterben kell megadni, és a PVSR nem veszi figyelembe a külön megadott port és host értékeket.

 

  • IP cím (JMX EQ 1 IP): Egysoros szöveg mező, amely a nem adminisztrátor felhasználók számára is látható. A mező a JMX agent IP címe, kötelező paraméter.
  • Felhasználó (JMX EQ 2 USERNAME): Egysoros szöveg mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező a JMX agent csatlakozáshoz használt felhasználó név, kötelező paraméter.
  • Jelszó (JMX EQ 3 PASSWORD): Egysoros szöveg mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező a JMX agent csatlakozáshoz használt felhasználó jelszó, ha nincsen kitöltve, akkor kulcsos autentikációval próbál belépni a távoli gépre.
  • JMX port (JMX EQ 4 PORT): Egész szám mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező az eszközön lévő JMX szerver TCP portja. Kötelező paraméter, alapértelmezett értéke 1099.
  • JMX agent path (JMX EQ 5 AGENT PATH): Egysoros szöveg mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező a JMX mérő szerver elérési útvonalát tartalmazza. Kötelező paraméter, alapértelmezett értéke „/apps/jmx-agent/jmx-agent.sh”.
  • Java path (JMX EQ 6 JAVA PATH): Egysoros szöveg mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező a JMX mérő szervert futtató Java elérési útvonalát tartalmazza. Kötelező paraméter, alapértelmezett értéke „java”.
  • Java classpath (JMX EQ 7 CLASS PATH): Egysoros szöveg mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező a JMX mérő szervert futtató Java classpath-át (Java osztályok elérési útvonalait) tartalmazza. Kötelező paraméter, alapértelmezett értéke „.:lib:config”, ezeket mindenképpen tartalmaznia is kell. JBOSS4 szerver típus esetén tartalmaznia kell a JBOSS_HOME/lib and the JBOSS_HOME/server/default/lib könyvtárak pontos útvonalát.
  • JMX szerver típus (JMX EQ 8 SERVER TYPE): Legördülő mező, amely a nem adminisztrátor felhasználók számára nem látható. A mező a JMX szerver típusát tartalmazza
  • JMX host (JMX EQ 9 HOST): Szöveg mező, az „IP cím”-re történő SSH belépés után erre a host-ra csatlakozik a mérő szerver. Kötelező mező, az alapértéke localhost, ami az esetek jelentős hányadában megfelelő is.
  • JMX Felhasználó  (JMX EQ 11 JMXUSERNAME): opcionális felhasználó név a JMX authentikációhoz
  • JMX Jelszó (JMX EQ 12 JMXPASSWORD): opcionális felhasználó jelszó a JMX authentikációhoz
  • JMX URL (JMX EQ 10 JMXURL): Néhány esetben (például Alfresco Java szerver) a JMX szerver nem a standard JMX URL-t használja. Ilyen esetben bár ki kell tölteni a „JMX port” és „JMX host” paramétereket is, de a helyes URL-t a „JMX URL” paraméterben kell megadni, és a PVSR nem veszi figyelembe a külön megadott port és host értékeket.
  • Trusted Store file (JMX EQ 9 TRUSTED STORE FILE): opcionális file név, ha meg van adva, akkor a PVSR ezt használja az SSL kommunikációhoz
  • Trusted Store jelszó (JMX EQ 9 TRUSTED STORE PASSWORD): ha a trusted store file meg van adva, akkor a PVSR ezzel a jelszóval használja azt

 

Természetesen a működéshez először fel kell installálni a JMX agent-et a megfelelő szerverre. A telepítéshez a jmx-agent-app.zip file-t fel kell másolni a cél gépre (ajánlott a /apps könyvtár használata), majd ki kell adni az alábbi utasítást:

 

unzip jmx-agent-app.zip

 

A mérő szerver UPTIME adatokat nem szolgáltat.

 

14.1.14.1 JMX szerver típusok

Kétféle típus adható meg, a JBOSS 4 és a Java 1.5. A két típusról az alábbi tudnivalók vannak:

JBOSS 4

A JBoss 4-es alkalmazásszervernek saját JMX szerver implementációja készült, ekkor még nem volt platformszinten implementálva a JMX szerver. A JBoss 4 JMX szervere Java processz szintű információkat nem tud gyűjteni.

Java 1.5

Az 1.5-ös Sun JVM-be belekerült egy JMX szerver, ami az adott alkalmazásszerver által adott mérési információkon kívül processz szintű (garbage collection) adatokat is szolgáltat. Ahhoz, hogy ezt a típusú mérést használni tudjuk, az adott Java processznek megfelelő kezdeti beállításokkal kell futnia. Ennek konfigurációja alkalmazásszerverenként eltérő. A példákban szereplő jmxremote.port paraméter értéke meg kell egyezzen a PVSR JMX port paraméter értékével.

14.1.14.1.1 JBOSS 4

A $JBOSS_HOME/bin/run.conf file végéhez kell az alábbi sorokat hozzáadni:

         ...

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

         JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"

         JAVA_OPTS=
"$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"

14.1.14.1.2 JBOSS 5

A $JBOSS_HOME/bin/run.conf file végéhez kell az alábbi sorokat hozzáadni:

         ...

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12346"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

 

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"

         JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver=true"

         JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"

 

A JBoss 5-nél módosítani kell az egyik JAR file-t, hogy működjön a JMX szerver:

         cd $JBOSS_HOME/bin/

         cp run.jar run.jar.safe

         mkdir run-jar

         cd run-jar/

         jar xf ../../lib/jboss-system-jmx.jar

         jar uvf ../run.jar  org/jboss/system/server/jmx/


 

LazyMBeanServer.class org/jboss/system/server/jmx/MBeanServerBuilderImpl.class

         cd ..

         rm -r run-jar

         ./run.sh 

14.1.14.1.3 JBOSS 6

A $JBOSS_HOME/bin/run.conf file végéhez kell az alábbi sorokat hozzáadni:

         ...

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12347"

 

         # Use the JBoss MBeanServerBuilder

         JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"

         JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"

 

         #Use the jboss logmanager

         JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"

         JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.logmanager.LoggerPluginImpl"

 

         export JBOSS_CLASSPATH="../lib/jboss-logmanager.jar"

14.1.14.1.4 Tomcat 5, 6, 7 verziók

$CATALINA_HOME/bin/catalina.sh közepén kell az alábbi pár sor, az "Execute The Requested Command" sor elé:

         ...

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

 

         # ----- Execute The Requested Command -----------------------------------------

         ...

 

14.1.14.2 Elérhető JMX mérések

Lehetőség van a felvett JMX eszköz által támogatott összes mérés változó lekérdezésére. A Beállítások -> Site és eszköz konfiguráció menüpont alatt válasszuk ki a JMX eszközt, majd a fenti legördülő menüből az Elérhető JMX mérések oldalt.

 

Az oldal betöltésekor discovery történik, ami után az adott eszközön elérhető mérés változók egyes adatai kerülnek felsorolásra három oszlopban: osztály neve, változó és részletes. Az első oszlopban a mérés osztálya található. A másodikban a mérési osztályhoz tartozó változók, amelyeket a mérés definíciókban lehet használni. A harmadikban pedig egy link található, amely a megfelelő mérés definíció szerkesztési oldalának gyors elérésére szolgál, valamint szerepel a mérés definíció leírása is. Annak a mérés definíciónak a szerkesztését tudjuk így elérni, amelyik első vagy második képletében szerepel az adott osztály és változó. Ha a harmadik oszlopban nem található adat, az azt jelenti, hogy az az osztály és változó nem szerepel mérés definícióban. Ha pedig több sor is látható, akkor az adott változó több mérés definícióban is szerepel.

A kapott információk alapján már könnyen elvégezhető a kívánt mérés típus PVSR-beli felvétele. Amennyiben egy mérés osztálya XXX és a változó neve YYY, akkor a PVSR mérés típus felvétele során a mérés képletben XXX@YYY.PORT névvel lehet hivatkozni a változóra, míg a Leíró OID értékét XXX@Index-re kell állítani. Például a JBOSS ActiveThreadCount mérés változó esetében az osztály neve org.jboss.system.server.ServerInfo, így a mérés képletben

#org.jboss.system.server.ServerInfo@TotalMemory.PORT#

szerepel, míg a Leíró OID-ban

org.jboss.system.server.ServerInfo@Index

14.1.14.3 Alap adatok oldal

A JMX-es mérésekhez Tomcat és JBoss alkalmazásszerverek esetén lekérhető egy „Alap adatok” oldal, amely alapvető információkat összegez az adott alkalmazásszerverről, illetve a host gépről mint pl.:

·       Host operációs rendszer, verziója

·       processzorok száma

·       alkalmazás szerver helye (könyvtár)

·       http szerverek port és ip cím adatai

·       futó alkalmazások neve, session adatai