martes, agosto 21, 2018

Instalando Glowroot (Open source Java APM)

Estoy investigando algunas de las herramientas Open Source para APM y entre las que encontré me decidí por Glowroot por loq ue voy a enumerar los pasos a seguir para realizar la instalación y dejarlo funcionando para evaluarlo como corresponde.

Los pasos a seguir son los siguientes:
1) Hacer la descarga del sitio de Glowroot
2) Descomprimir y copiar el contenido al equipo o servidor donde se va a ejecutar la aplicación. En mi caso copie la carpeta en el mismo lugar donde tengo las carpetas de Tomcat en un servidor Linux.


3) Modificar el archivo de Tomcat para que levante la aplicación, en mi instalación modifique el archivo catalina.sh del tomcat pero va a depender de la instalación de cada equipo. independientemente del archivo la línea a agregar es la siguiente:
export JAVA_OPTS="-javaagent:/softgxjava/glowroot/glowroot.jar"

4) Si quiero acceder desde otro equipo que no sea el nuestro hay que habilitar esto en el archivo de configuración de glowroot.jar que se encuentra en el mismo lugar que el archivo glowroot.jar. El archivo de configuración es: admin.json
Hay que modificar el bindAddress a "0.0.0.0", la sección web completa quedaría de la siguiente manera:
  "web": {
    "port": 4000,
    "bindAddress": "0.0.0.0",
    "contextPath": "/",
    "sessionTimeoutMinutes": 30,
    "sessionCookieName": "GLOWROOT_SESSION_ID"
  }

5) Habilitar el firewall si se esta trabajando en un Linux y recordar que por defecto el puerto en el que atiende la aplicación web de Glowroot es el 4000. Para habilitar el firewall se puede hacer lo siguiente:

> firewall-cmd --permanent --zone=public --add-port=4000/tcp
> firewall-cmd --reload

6) Acceder a la URL desde el Browser, si la instalación la hice local entro con: http://localhost:4000


Ahora que lo tenemos on-line solo nos queda comenzar a evaluar la herramienta y ver si cumple con nuestras necesidades. En breve subo mis conclusiones sobre este herramienta.





Gestión de rendimiento de aplicaciónes (APM)

Desde hace mas de un año varios clientes y colegas están hablando del Monitoreo de Rendimiento de las aplicaciones o Gestión de Rendimiento según la traducción que se haga de APM (Application Performance Management).

La realidad es que es algo que se engloba dentro de lo que hacemos cuando tenemos problemas de performance en nuestras aplicaciones. Cada desarrollador intenta resolver esto como puede o utilizando las herramientas que están a su alcance.

Investigando un poco pude descubrir el mundo de cosas que esta detrás de APM y que según las recomendaciones los desarrolladores tenemos que comenzar a utilizar herramientas de APM para mejorar nuestras aplicaciones, aparte de descubrir los posibles problemas que seguramente vamos a tener en producción.

En la empresa que trabajo utilizan la herramienta NewRelic pero es paga y me parece compleja de configurar o muy pesada para poder utilizarla en mis desarrollos. Dado que siempre me apoyo en el mundo open source busque y encontré un artículo que habla de 5 herramientas open source que se deben utilizar cuando monitoreamos aplicaciones.

Les dejo el artículo: Java Performance Monitoring: 5 Open Source APM Tools You Should Know

En mi caso de las 5 APM Tools me decidí por Glowroot por su simplicidad a la hora de configurar y los datos que me muestra. Por ahora la voy a testear para ver si cumple con mis necesidades.