Script recolector de métricas

Al probar una aplicación debemos contar con herramientas que recaben información por nosotros y las resguarden para su posterior consulta.


Instalación (Fedora 22)

# dnf install -y sysstat




Manos a la obra


Normalmente, cuando se tiene el JAVA_HOME establecido como debe ser, tendremos disponible el comando jps, el cual nos ayuda a indentificar los procesos Java que están siendo ejecutados al momento. Si solo existe un proceso Java, podemos evitarnos la tarea de estar buscándolo a cada reinicio. Con la siguiente cadena de comandos, podemos realizar de manera automática el guardado de las métricas.

while(true) do date +'%Y-%m-%d,%T,'| tr -d '\n'; ps -p `jps | grep Main | awk '{print $1}'` -o etime,%cpu,%mem,rss,cmd; sleep 1; done > metricas.log

A continuación le damos un poco de tratamiento para que se vea claro lo que buscamos.

head -n1 metricas.log | awk '{print $1,$2,$3,$4}' > tmp.log; cat metricas.log | awk '{print $1,$2,$3,$4}' | sed '/CPU/d' >> tmp.log


Tendremos una salida como la siguiente:


Con tal definición de datos, casi con cualquier cosa podemos graficarlo e integrarlo a un reporte de alto nivel. Incluso es posible abrirse con la hoja de cálculo de OpenOffice y graficarse de una manera bonita.

Comentarios

Entradas populares