Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como scripting

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 | ...

Búsqueda de cadenas en archivos de texto.

Cuando los incidentes surgen en las aplicaciones que generan demasiados logs, es necesario el filtrado por horas y eventos. Hay muchas formas de llegar a un mismo cometido, básicamente, depende de la habilidad de cada persona, además de su experiencia, y el conocimiento de los mensajes de alertas. En lo personal, siempre he buscado hacer las busquedas de más de una forma, porque para cada caso, y conforme se avance en las necesidades, una resultará más flexible que la otra. La primer fase de un filtrado es intuir, buscar los mensajes comunes y palabras que acompañan los problemas de forma genérica, por ejemplo, si se trata de un servidor de aplicaciones sería prudente buscar palabras como : SEVERE, Exception, ERROR, Timeout, 'Could not'. Si se tratase de un web server, la búsqueda es más simple, ya que podemos filtrar por los estatados de http. A continuación, expongo dos comandos que sirven para la búsqueda de un patrón dentro de cada archivo que coincida con el c...