Monitorizar con JConsole un Worker de wso2


En algun lado estamos teniendo problemas con los despliegues de las aplicaciones. Es frecuente que al desplegar una aplicacion en los test, halla fallos. Al mirar el log comprobamos que es debido a que no encuentra una determinada clase. Al volver a reiniciar el problema esta solucionado.

Para encontrar un ¿porque? voy a monitorizar el worker.

Tenemos un ELB (balanceador), un manager (administracion web, replicacion app) y dos nodos (worker).

Para monitorizar wso2 tienes que

1.- Ir a wso2/wso2worker/repository/conf/etc/jmx.xml, y hay que sustituir la linea resaltada, por la IP correcta.

<JMX xmlns="http://wso2.org/projects/carbon/jmx.xml">
    <StartRMIServer>true</StartRMIServer>

    <!-- HostName, or Network interface to which this RMI server should be bound -->
    <HostName>IP del servidor</HostName>

    <!--  ${Ports.JMX.RMIRegistryPort} is defined in the Ports section of the carbon.xml-->
    <RMIRegistryPort>${Ports.JMX.RMIRegistryPort}</RMIRegistryPort>

    <!--  ${Ports.JMX.RMIRegistryPort} is defined in the Ports section of the carbon.xml-->
    <RMIServerPort>${Ports.JMX.RMIServerPort}</RMIServerPort>
</JMX>

2.- En la documentación indican que si estas detrás de un Firewall, posiblemente no puedas ver los puertos en los que esta levantado. Es por ello que sugieren que comentes estos puertos. En el fichero de configuración de wso2, ubicado en: wso2/wso2worker/repository/conf/carbon.xml existen los campos:

        <JMX>
            <!--The port RMI registry is exposed-->
            <RMIRegistryPort>9999</RMIRegistryPort>
            <!--The port RMI server should be exposed-->
            <RMIServerPort>11111</RMIServerPort>
        </JMX>

Sugieren comentar primero el RMIServerPort y si no puedes acceder entonces que comentes el RMIRegistryPort.

3.-Arrancas el worker y te vas al log: wso2worker/repository/logs/wso2carbon.log. Esperas a que diga que ya esta levantado y todas las aplicaciones:

TID: [0] [AS] [2014-03-13 10:57:50,742]  INFO {org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl} -  Task service starting in CLUSTERED mode... {org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl}
TID: [0] [AS] [2014-03-13 10:57:50,871]  INFO {org.wso2.carbon.core.init.JMXServerManager} -  JMX Service URL  : service:jmx:rmi://IP-servidor:1/jndi/rmi://IP-servidor:10001/jmxrmi {org.wso2.carbon.core.init.JMXServerManager}
TID: [0] [AS] [2014-03-13 10:57:50,883]  INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -  Server           :  Application Server-5.2.0 {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
TID: [0] [AS] [2014-03-13 10:57:50,884]  INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -  WSO2 Carbon started in 111 sec {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
TID: [0] [AS] [2014-03-13 10:57:51,580]  INFO {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} -  Mgt Console URL  : https://IP-servidor:8243/carbon/ {org.wso2.carbon.ui.internal.CarbonUIServiceComponent}

3.- Abre en local, jconsole. En una consola escribe jconsole y espera.
En conexión pon service:jmx:rmi://IP-servidor:1/jndi/rmi://IP-servidor:10001/jmxrmi y el usuario/contraseña del administrador web (admin/admin).

Anuncios
Monitorizar con JConsole un Worker de wso2