0% encontró este documento útil (0 votos)
335 vistas12 páginas

Guía de Instalación de Javamelody

Este documento proporciona una guía completa sobre la instalación y configuración de Javamelody, una herramienta para monitorear aplicaciones web Java/Java EE. Explica los requisitos, los pasos para la instalación, cómo acceder a los primeros informes, opciones de seguridad y personalización como filtrar URLs. La configuración básica solo requiere agregar dos archivos JAR y algunas líneas en el archivo web.xml.

Cargado por

Sergio Garate
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
335 vistas12 páginas

Guía de Instalación de Javamelody

Este documento proporciona una guía completa sobre la instalación y configuración de Javamelody, una herramienta para monitorear aplicaciones web Java/Java EE. Explica los requisitos, los pasos para la instalación, cómo acceder a los primeros informes, opciones de seguridad y personalización como filtrar URLs. La configuración básica solo requiere agregar dos archivos JAR y algunas líneas en el archivo web.xml.

Cargado por

Sergio Garate
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Javamelody Gua Completa Monitoreo de aplicaciones web

julio 31, 2012 por Emmanuel SioSin Comentarios

Imprimir

Javamelody es una herramienta destinada a monitorear servidores de


aplicacin Java o Java EE en ambientes de QA y produccin. Es importante tener en
cuenta que no es una herramienta para simular pedidos de usuarios, sino que se debe utilizar
para medir y calcular estadsticas que surgen de la operatoria de la aplicacin por todos los
usuarios.

Requisitos de Javamelody
Se requiere tener instaladas las siguientes versiones de Java:
o

1.5 como mnimo

1.6 o 1.7 para las siguientes funciones: heap dump, memory histogram, stack traces
and system load average

JDK o JRE de Sun o JRockit de Oracle/BEA o J9 de IBM

Versiones de Servidor:
o

JavaEE 1.4

Tomcat 5.5, 6 o 7

GlassFish v2 o v3

JBoss 4, 5, 6 o 7

Jonas 4 o 5

Jetty 6 o 7

WebLogic 9, 10, 11

Instalacin de Javamelody
La instalacin es realmente sencilla. Solamente basta copiar dos archivos en la carpeta WEBINF/lib de la aplicacin que deseamos monitorear. Luego debemos editar el
archivo [Link] agregando algunas pocas lneas de cdigo.

Instalacin Paso a Paso


Los siguientes pasos son los bsicos, donde elegimos a Tomcat como servidor de ejemplo.
Pasos:
a) Descargar el archivo [Link] de la web del proyecto.
b) Descomprimir el archivo zip.
c) Copiar los archivos [Link] y [Link] al directorio WEB-INF/lib que est
dentro del directorio webapps/nuestra-aplicacin.
d) Agregamos las siguientes lneas en el archivo WEB-INF/[Link] de la aplicacin.

1. <filter>
2.

<filter-name>monitoring</filter-name>

3.

<filter-class>[Link]</filter-class>

4. </filter>
5. <filter-mapping>
6.

<filter-name>monitoring</filter-name>

7.

<url-pattern>/*</url-pattern>

8. </filter-mapping>
9. <listener>
10.

<listener-class>[Link]</listener-class>

11. </listener>

e) Si queremos tener informes en PDF debemos copiar a WEB-INF/lib el archivo [Link].


Este paso es opcional.

Si necesitan ms customizaciones pueden obtenerlos del sitio de google code donde se


encuentra alojado todo el proyecto de Javamelody. Pueden visitarlo aqu.

Primeros resultados
Podemos acceder a nuestra herramienta a travs de:
[Link]
o

<host> : nombre del servidor donde la aplicacin web est instalada, seguido
posiblemente por el puerto (por ejemplo localhost:8080).

<my-context>: Es el nombre del contexto de la aplicacin web.

Seguridad
La pgina de monitoreo no tiene datos como usuario y password para ser usados como login.
Por ello, antes de usar Javamelody en produccin puede ser necesario que deseemos
restringir el acceso a esta pgina. Esta tarea recae en nosotros mismos, donde una de las
posibilidades es realizar un login [Link] nos ayuda dndonos la
posibilidad de restringir su acceso a travs de una expresin regular tomando como
parmetro la direccin IP del cliente. Esto podemos lograrlo a travs de allowed-addrpattern. Por ejemplo: 192\.168\..*|123\.123\.123\.123 para permitir las IP que se encuentren
en el rango 192.168.*.* mas cualquier pc que se encuentre detrs de una puerta de enlace
[Link].
Hay que tener en cuenta que si usamos un servidor proxy http como Apache, la direccin IP
del cliente ser la de Apache. Por ello, no debes usar allowed-addr-pattern en este caso o, si
es ese el caso, no usar Apache para acceder a esta pgina, o habilitar mod_proxy_ajp para
que el servidor monitoreado sepa las direcciones IP de los clientes.
Ejemplo de httpd conf con ajp:

1. <location /webapp>
2. ProxyPass ajp://localhost:8080/webapp
3. </location>

Otra opcin que tenemos es la utilizacin de roles. Si en nuestro archivo [Link] ya hemos
definido roles, entonces podemos habilitarlos para que solo ellos puedan acceder a la pgina
de monitoring.
Ejemplo utilizando roles:

1. <login-config>
2.

<auth-method>BASIC</auth-method>

3.

<realm-name>Monitoring</realm-name>

4. </login-config>
5. <security-role>
6.

<role-name>monitoring</role-name>

7. </security-role>
8. <security-constraint>
9.

<web-resource-collection>

10.

<web-resource-name>Monitoring</web-resource-name>

11.

<url-pattern>/monitoring</url-pattern>

12.

</web-resource-collection>

13.

<auth-constraint>

14.

<role-name>monitoring</role-name>

15.

</auth-constraint>

16.

<!-- if SSL enabled (SSL and certificate must then be configured in the
server)

17.

<user-data-constraint>

18.
19.

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

20.

</user-data-constraint>

21.

-->

22. </security-constraint>

Los usuarios deben estar definidos en el servidor de aplicacin y deben tener asignado el rol
de monitoring para tener acceso a los reportes. Un ejemplo de cmo configurarlo sera del
siguiente modo:

1. <?xml version='1.0' encoding='utf-8'?>


2. <tomcat-users>
3.

<role rolename="monitoring"/>

4.

<user username="monitoring" password="monitoring" roles="monitoring"/>

5. </tomcat-users>

Activacin consultas SQL


Si dentro de nuestra aplicacin utilizamos Hibernate, entonces la siguiente lnea de
configuracin puede ser utilizada para poder activar el rastreo de las consultas SQL
realizadas.
Para ello buscamos el archivo [Link] y agregamos la siguiente lnea:

1. <property
name="[Link].factory_class">[Link]
tory</property>

Esto habilita que Javamelody detecte cada consulta realizada y nos muestre el tiempo total de
ejecucin, la cantidad de veces que se ejecut dicha consulta, el mximo tiempo de ejecucin,
desviacin standard y el % de error del sistema.

Generacin de reportes PDF


Para generar reportes en PDF como tambin en HTML, debemos agregar la librera iText
v2.1.x. Para ello buscamos el archivo [Link], ubicado en src/test/test-webapp/WEBINF/ lib dentro de [Link] y copiarlo dentro del directorio WEB-INF/lib .

Suplementos en [Link]
Para evitar monitorear algunas url determinadas podemos usar url-pattern dentro del archivo
[Link].
Por ejemplo, usamos filter-mappings y url-patterns para monitorear solamente urls como
/servlet1/* y /servlet2/* pero no otras como /static/*

1. <filter>
2.

<filter-name>monitoring</filter-name>

3.

<filter-class>[Link]</filter-class>

4. </filter>
5. <filter-mapping>
6.

<filter-name>monitoring</filter-name>

7.

<url-pattern>/servlet1/*</url-pattern>

8. </filter-mapping>
9. <filter-mapping>
10.

<filter-name>monitoring</filter-name>

11.

<url-pattern>/servlet2/*</url-pattern>

12. </filter-mapping>
13. <filter-mapping>
14.

<filter-name>monitoring</filter-name>

15.

<url-pattern>/monitoring</url-pattern>

16. </filter-mapping>
17. <listener>
18.

<listener-class>[Link]</listener-class>

19. </listener>

Es importante tener en cuenta que url-pattern debe contener la url /monitoring para tener
reportes.
Como alternativa, se puede usar un nico /* url-pattern y un parmetro de filtro con una
expresin regular antes del tag .
Por ejemplo:

1. <filter>
2.

<filter-name>monitoring</filter-name>

3.

<filter-class>[Link]</filter-class>

4.

<init-param>

5.

<param-name>url-exclude-pattern</param-name>

6.

<param-value>/static/.*</param-value>

7.

</init-param>

8. </filter>

9.
10. <filter-mapping>
11.

<filter-name>monitoring</filter-name>

12.

<url-pattern>/*</url-pattern>

13. </filter-mapping>
14.
15. <listener>
16.

<listener-class>[Link]</listener-class>

17. </listener>

Esto ha sido todo sobre la instalacin de JavaMelody. Esperamos que les sea til a la hora de
tener una gua completa para su instalacin.

tags: Java EE

Artculos relacionados:
o

Crear un mapping a un servlet

Redirigir todas las JSP a un Servlet

Mi primer servlet

Acceder a un directorio de un FTP con Java

Crear un directorio con Java IO

Java Melody es uno de los frameworks que he estado utilizando desde


hace un tiempo. Lo descubr sin querer en [Link] (uno de los
tantos proyectos) y me pareci fabuloso, es por eso que quiero
compartirlo con ustedes.
La utilidad que ofrece esta herramienta es la de poder monitorear y ver
estadsticas de nuestro sitio web: HTTP, SQL, System Errors, Current
Request, Threads, etc. Tambin podremos exportar estos reportes en
PDF.
Aqu explicaremos usando la versin 1.21 ya que es la que uso y en
verdad, no tiene grandes diferencias con la ltima versin que es la
1.26. El uso es muy simple.
CONFIGURACIN BSICA
Tendremos que agregar los archivos [Link] y [Link] al classpath del proyecto.
En el [Link] de nuestro proyecto deberemos agregar los siguientes
Filter y Listener:
<filter>
<filter-name>monitoring</filter-name>
<filter-class>[Link]</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>[Link]</listenerclass>
</listener>
Con esto ya estamos en condiciones de probar el monitoreo en nuestra
aplicacin. Para hacerlo basta con agregar al contextpath la url
/monitoring. Por ejemplo: [Link]
Si deseamos tener habilitada la opcin de exportar el reporte a PDF
deberemos incluir en el classpath el archivo [Link], lo podemos
descargar desde aqu.

Esta es la configuracin bsica de Java Melody, a continuacin veremos


algunas caractersticas ms avanzadas.

MANEJO DE DEPENDENCIAS CON MAVEN


Si realizamos el manejo de dependencias con Maven, basta con agregar
estas lneas al [Link]:
<dependency>
<groupId>[Link]</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.20.0</version>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>jrobin</artifactId>
<version>1.5.9</version>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>itext</artifactId>
<version>2.1.4</version>
<exclusions>
<exclusion>
<artifactId>bcmail-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bcprov-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
</dependency>
<repositories>

<repository>
<id>m.g.o-public</id>
<url>[Link]
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>opennms-repo</id>
<name>OpenNMS Repository</name>
<url>[Link]
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

CONFIGURACIN DE SPRING
Si manejamos las transacciones y acceso a base de datos son Spring, deberemos agregar
las siguientes lneas en el [Link]. Deben reemplazar el nombre de los archivos de
configuracin por el de los suyos. En este caso se configura Spring en el
archivo [Link] que a la vez hace un import del
archivo [Link].

<context-param>
<param-name>contextConfigLocation</paramname>
<param-value>
classpath:net/bull/javamelody/[Link]
classpath:/[Link]
/WEB-INF/classes/[Link]
</param-value>
</context-param>
<listener>
<listenerclass>[Link].
ContextLoaderListener</listener-class>
</listener>
Para ms informacin visitar el sitio oficial: [Link]

También podría gustarte