31 may 2011

Manteniendo el historial Sysstat - Estadisticas del SO en Linux/Unix

Ya hace tiempo que he habilitado las metricas de consumos de recursos (CPU,RAM,I/O,Swap,etc), con el paquete sysstat, en muchos de los servidores Linux/Unix que controlo.
Es posible habilitar las sysstat tools, para que nos genere una traza diaria de consumo de los distintos recursos del servidor, algo muy valioso a la hora de detectar problemas, activarlas no es parte de este post ya que en sangoogle hay mucha info. Las salida diaria de esta herramienta la encontramos en /var/log/sa o /var/log/sysstat, como un archivo sarXX donde XX es el dia del mes de la correspondiente salida. Magnifico todo hasta aqui, pero existe un problema, los archivos sarXX son sobrescriotos semanalmente por lo que no podemos mantener un historial completo de los consumos del equipo, por lo cual hay que buscar una forma de mantenerlos.

A tal efecto he generado el siguiente scrip, que lo podemos cronear en /etc/cron.daily para que se ejecute una vez al dia:

#!/bin/bash
#Descripcion:
# Renombra los archivos sar, para mantener el historial completo
# de los consumos del equipo.
# alejandro.andino@gmail.com
#http://pastebin.com/index/5p2Y9aX2

#ls /var/log/sa/sar* | xargs -i mv {} {}`date +"-%m-%y"`
files=`ls /var/log/sa/sar*|egrep "sar[0-9]{2}$"`
countFiles=`ls /var/log/sa/sar*|egrep "sar[0-9]{2}$"|wc -l`
if [ ${countFiles} -ne 0 ]
then
for x in $files
do
mv $x ${x}`date +"-%m-%y"`
done
fi

Esto nos dara archivos sarXX renombrados a sarXX-Mes-Año, lo que permitira que no sean borrados.

Por utilimo una herramienta espectacular para facilitar la visualizacion, entre otras cosas, de los archivos sar es ksar (http://sourceforge.net/projects/ksar/).