JASMINe Monitoring pour Weblogic

Transcription

JASMINe Monitoring pour Weblogic
JASMINe Monitoring
pour Weblogic
HOWTO
Table des matières
1. Introduction ............................................................................................................
2. MBeanCmd standalone ..........................................................................................
2.1. Connexion IIOP ...........................................................................................
2.2. Connexion t3 ...............................................................................................
3. MBeanCmd embarqué dans JASMINe Monitoring ....................................................
4. Problèmes connus .................................................................................................
1
1
1
2
2
3
1. Introduction
Ce document va vous guider pour permettre la supervision d'un serveur Oracle Weblogic
avec JASMINe Monitoring.
Les deux modes de supervision offerts par JASMINe Monitoring sont abordés :
• Le mode où les sondes (MBeanCmd) sont externes au serveur JASMINe Monitoring.
• Le mode où les sondes sont embarqués dans le serveur JASMINe Monitoring.
2. MBeanCmd standalone
Deux protocoles peuvent être utilisés pour que MBeanCmd puisse communiquer avec
Weblogic, chacun ayant ses avantages et inconvénients :
• IIOP
• Avantage : Ne nécessite aucune classe propre à WebLogic.
• Inconvénient : Uniquement pour superviser des attributs de type simple.
• t3
• Avantage : t3 est LE protocole de WebLogic.
• Inconvénient : Nécessite d'embarquer des bibliothèques WebLogic.
2.1. Connexion IIOP
1. Activer IIOP dans Weblogic :
1
JASMINe Monitoring pour Weblogic
• Weblogic 9 : il faut l'activer explicitement
• Weblogic 10 : activé par défaut.
Configurer un login/password pour IIOP via la console Weblogic.
1
2. Renseigner le fichier jmxurls.properties avec le(s) serveur(s) à superviser.
jasmine.jmx.url.wls10iiop=service:jmx:rmi:///jndi/iiop://[host]:7001/
weblogic.management.mbeanservers.runtime
jasmine.jmx.user.wls10iiop=[login]
jasmine.jmx.password.wls10iiop=[password]
3. Exécuter une commande MBeanCmd.
> java -jar mbeancmd.jar stat -p 3 -target wls10iiop -name
"com.bea:ServerRuntime=examplesServer,Name=examplesServer,Type=JRockitRuntime" -a
TotalNumberOfThreads
> 20/07/09 16:22:29 (I) Stat.process : Target wls10iiop - service:jmx:rmi:///jndi/iiop://
[host]:7001/weblogic.management.mbeanservers.runtime
20/07/09 16:22:29 (I) Stat.mbeanPoll : MBean discovery: succesful probe, wls10iiop
date;time;sname;server;domain;mbean;TotalNumberOfThreads
2009/07/20 16:22:29;1248099749367;service:jmx:rmi:///jndi/iiop://[host]:7001/
weblogic.management.mbeanservers.runtime;unknown_server_name;unknown_domain; com.bea:ServerRuntime=examplesServer,Name=examplesServer,Type=JRockitRuntime;37
2.2. Connexion t3
1. Même avec le protocole t3, il faut activer IIOP dans WebLogic (cf. la 1ère étape de
Section 2.1, « Connexion IIOP »).
2. Renseigner le fichier jmxurls.properties avec le(s) serveur(s) à superviser.
jasmine.jmx.url.wls10t3=service:jmx:rmi:///jndi/iiop://[host]:7001/
weblogic.management.mbeanservers.runtime
jasmine.jmx.user.wls10t3=[login]
jasmine.jmx.password.wls10t3=[password]
jasmine.jmx.protocol.providers.wls10t3=weblogic.management.remote
3. Inclure des classes Weblogic dans le classpath lors du lancement de la commande
MBeanCmd. Pour cela, il faut récuperer les jar wljmxclient.jar et wlclient.jar,
et les "passer" à la commande avec l'option :
-Djasmine.jmx.xclasspath=$LIB_PATH/wljmxclient.jar;$LIB_PATH/wlclient.jar
où $LIB_PATH est le répertoire contenant les librairies.
4. Lancer la commande MBeanCmd
java -Djasmine.jmx.xclasspath=C:\lib1\wljmxclient.jar;C:\lib2\wlclient.jar -jar
mbeancmd.jar ...
cf. la 3ème étape de Section 2.1, « Connexion IIOP » en ajoutant l'option d'inclusion des
librairies.
3. MBeanCmd embarqué dans JASMINe
Monitoring
1. Configurer le serveur JASMINe Monitoring pour
($JASMINE_MONITORING/conf/carol.properties).
le
lancer
en
IIOP
carol.protocols=iiop
2
JASMINe Monitoring pour Weblogic
carol.iiop.url=iiop://localhost:1199
Il faut également modifier le fichier $JASMINE_MONITORING/conf/eventswitchconfig.xml.
<property name="jndiProviderUrl" value="iiop://localhost:1199"/>
2. Définir le serveur Weblogic à superviser dans le fichier $JASMINE_MONITORING/conf/
jmxurls.properties.
• Si Weblogic est configuré en t3 :
jasmine.jmx.url.wlt3=service:jmx:t3://[host]:7001/jndi/
weblogic.management.mbeanservers.runtime
jasmine.jmx.user.wlt3=weblogic
jasmine.jmx.password.wlt3=weblogic
• Si Weblogic est configuré en IIOP :
jasmine.jmx.url.wls10iiop=service:jmx:rmi://[host]:7001/jndi/iiop://[host]:7001/
weblogic.management.mbeanservers.runtime
jasmine.jmx.user.wlt3=weblogic
jasmine.jmx.password.wlt3=weblogic
3. Créer le ressource adapteur (RA) pour la gestion du pool de connexion JMX.
cd $JASMINE_MONITORING/JMX_connection_pool_adapter/bin
generate-ra.sh -j service:jmx:t3://[host]:7001/jndi/
weblogic.management.mbeanservers.runtime -o $JASMINE_MONITORING/deploy/aa20_jmx_wlt3
4. Configurer la supervision du serveur Weblogic. Pour cela, ajouter des commandes
MBeanCmd
dans
le
fichier
$JASMINE_MONITORING/conf/eventswitchconfig.xml.
stat -name "com.bea:ServerRuntime=examplesServer,Name=examplesServer,Type=JRockitRuntime"
-a TotalNumberOfThreads -jasmine "vm://MBeanCmd_dispatcher" -target wlt3
Note
Il n'y a pas besoin d'inclure les bibliothèques Weblogic tant que l'on se contente
de lire des attributs de type simple. C'est le cas pour la sonde, qui récupère
essentiellement des entiers, des réels ou des chaînes.
4. Problèmes connus
• Si on utilise JASMINe en JRMP, avec accès à WebLogic en t3 (ce qui requiert les classes
WLS), il y a une interférence entre les classes WLS et JOnAS. Il faut alors utiliser JASMINe
en IIOP. Problème : Cela court-circuite la sécurité WebLogic et on peut à se connecter
sans passer de login/password.
• sur une connexion JMX Remote, la méthode getAttribute(String att) fonctionne, mais pas
la méthode getAtrributes(String[] atts), qui retourne une liste d'attributs. Elle lève une
exception ArrayIndexOutOfBoundsException. Des problèmes de ce genre apparaissent
avec JACORB 2.2.3 (version utilisée par JOnAS) mais semblent corrigés avec JACORB
2.3.1.
• Lorsque JASMINe est configuré en IIOP, les événements JASMINe ne sont pas persistés
dans la base, à chaque fois apparaît une trace: 2009-07-17 23:11:15,538 : WARNING :
JasmineEventEJB3Wrapper.3 : JasmineEventEJB3Wrapper.saveJasmineEvent : EJBs
are not ready ... the message is not persisted. Un coutournement consiste à démarrer un
2ème serveur en JRMP, contenant l'Eventswitch, et à configurer le routage pour que les
sondes publient dans l'eventswitch du 2ème serveur.
3
JASMINe Monitoring pour Weblogic
Dans ce cas, une collision de port pour l'agent de l'eventswitch doit être gérée. Pour cela,
il faut modifier les fichiers $JASMINE_MONITORING/conf/eventswitch.xml.
<mule-environment-properties ... serverUrl="tcp://localhost:60000"/>
<mule-environment-properties ... serverUrl=""/> //(désactive l'écoute)
4

Documents pareils