Los logs o ficheros de registro están pensados para guardar la información de las actividades del sistema. Estos ficheros pueden crecer hasta llenar la partición donde se encuentran y bloquear el sistema, pero tienen muchísimos usos y son algo imprescindible, ya que con la experiencia nos aportan una inmensa cantidad de información.

Hoy vamos a ver una herramienta llamada logrotate, encargada de rotar estos ficheros y más características interesantes para poderlos gestionar con facilidad y tener un control casi completo sobre ellos. Es importante conservar durante un tiempo bastante largo esta información, de ahí que “rotemos” los logs, ya que cada cierto tiempo o condiciones, se creará un fichero sobre el que se escribirá y el que teníamos pasará a ser un histórico.

Sus datos nos proporcionan desde estadísticas, para a poder afinar el sistema, hasta información de seguridad, como accesos no permitidos o lo que se ha hecho cuando se ha accedido ya que mucha gente puede saber como acceder a un sistema leyendo un par de manuales en internet, pero lo verdaderamente difícil es burlar estas pruebas para que no dejar huella, pues un buen administrador de sistemas hace siempre un buen uso de estos ficheros y los suele monitorizar para buscar fallos en sus sistema de cualquier tipo, tanto de configuración, como de accesos, rendimiento y una larga lista más…

La ruta por defecto donde están los logs es /var/log que en muchos sistemas se suele montar en un partición separada para que al llenarse, aunque no se puedan registrar mas logs el sistema siga funcionando. En esa misma ruta los ficheros rotados tendrán una nomenclatura como :

secure

secure.1

secure.2

En donde el primero que no tiene número es sobre el que estamos escribiendo actualmente, el siguiente secure.1 es el anterior, y el secure.2 es el anterior a secure.1 con lo que lo leemos del más reciente al más viejo. Es importante saber que nunca se deben editar con editores de texto como vi, nano, gedit y demás, podemos cometer algún fallo y borrar información, siempre con herramientas para visualizarlo sin escritura, los más comunes son tail y less.

El fichero de configuración principal es /etc/logrotate.conf

cat /etc/logrotate.conf

# see «man logrotate» for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp — we’ll rotate them here
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
minsize 1M
create 0600 root utmp
rotate 1
}

# system-specific logs may be also be configured here.

De las entradas que nos salen tenemos estas:

weekly -> Por defecto se rotará cada semana, otras opciones son daily y monthly.

rotate 4 -> Cuanto tiempo se conservan los antiguos, por defecto son cuatro semanas, algunos ficheros pueden ser muy importantes y que los conservemos todos.

create -> Para que se cree un fichero al rotar, en donde se guardará la información otra vez.

La configuración de este fichero es una principal, y luego como vemos tiene un include al fichero /etc/logrotate.d

root@servidor# ls /etc/logrotate.d/

acpid mgetty samba tux conman named sa-update vsftpd.log cups ppp snmpd wpa_supplicant httpd psacct squid yum kdm rpm syslog

En donde se encuentran más configuraciones específicas de servicios, es decir si por ejemplo para cups pone monthly y en el logrotate.conf es weekly, siempre se tomará en cuenta lo específico del servicio, de esa forma al ser modular tiene una configuración sencilla pero muy buena. Es importante saber que en esta ruta se ejecuta todo con lo que hay que tener cuidado de lo que dejamos aqui.

Otras opciones interesantes para poner son:

Compress -> Hace que logrotate comprima los ficheros de registro para ahorrar espacio,

size -> Los ruta cuando el tamaño máximo de un fichero sea la cantidad que se ponga, en formato size 4096k , size 256M.

prerotate/postrotate -> antes o después de rotar, puede hacer alguna acción como ejecutar un script o unos comandos.

Al rotar los logs los iria renombrando añadiendo números.

log, log1, log2, log3….logN

MFCP!!!

Fuente www.nexolinux.com

2 comentarios


  1. tengo un problema , necesito sabes como puedo probar si los cambios que hice en los ficheros de los logs funcionan, hice cambios para que la rotacion de los logs fueran para un año, ayudenme

    Responder
    • Mario Congo

      La manera mas fácil de comprobar es verificando si luego de una semana aun tienes el archivo original, recuerda que la mayoría de logs, están programados para rotar cada semana, si tu log tiene dos semanas pues el cambio es correcto.

      Por otro lado simplemente has un vistazo del log y filtra las fechas y fijate en los valores, con eso sabras si roto o no.

      Finalmente un consejo, no creo conveniente rotar los logs a 1 año, pues se te hará muy complicado luego poder buscar algún registro, lo que te recomiendo es que los rotos como máximo 1 o 2 meses y luego programes y cron que respalde los logs mas viejos, el de dos meses por ejemplo y los mueva a un directorio o disco de respaldo antes de ser borrado, con eso tendras varios archivos de logs guardados y será más fácil buscar un registro si lo requieres.

      Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

contrarobots * Time limit is exhausted. Please reload CAPTCHA.