Digamos que quieres monitorear un servicio propio escrito en Java:
root@myserver # ps ax|grep mycustomserver
8945 ? Sl 11:04 /opt/mycustomserver/server -JVMargs /opt/mycustomserver/server.ini -n mycustomserver
14810 pts/2 S+ 0:00 grep mycustomserver
Puedes hacerlo por medio de JMX, configurando los parámetros jmxremote de JVM como argumentos o en un archivo de configuración. Tienes que configurar al menos jmxremote.port, no hay un valor por default para él:
root@myserver # cat /opt/mycustomserver/server.ini|grep jmxremote
JVMOPTS3=-Dcom.sun.management.jmxremote.port=2055
JVMOPTS4=-Dcom.sun.management.jmxremote.authenticate=false
JVMOPTS5=-Dcom.sun.management.jmxremote.ssl=false
Y si no conoces la aplicación pero quieres tratar de monitorearla, puedes intentar adivinar como root el puerto de monitoreo con netstat:
root@myserver # netstat -tuanp|grep 8945|grep LISTEN
tcp 0 0 0.0.0.0:2055 0.0.0.0:* LISTEN 8945/mycustomserver
tcp 0 0 127.0.0.1:1852 0.0.0.0:* LISTEN 8945/mycustomserver
Con el número del puerto remoto, y en caso de que la autenticación esté activada con el correspondiente usuario y contraseña, puedes agregar tu aplicación Java a Grid Control presionando la liga del agente en Targets -> pestaña All Targets, y en la siguiente página seleccionar JVM del menú desplegable Add. En la página Monitoring Configuration tienes que configurar al menos los campos Machine (puede ser 127.0.0.1) y Admin Port, y presionar el botón OK.
Después de agregar tu JVM apropiadamente a Oracle Enterprise Manager, podrás revisar en la liga All Metrics muchas métricas interesantes, al menos interesantes si tienes conocimientos de Java.
Más información:
Monitoring and Management Using JMX
Monitoring and Management Using JMX Technology
No hay comentarios.:
Publicar un comentario