Logs en Linux

El sistema de logs de Linux (log = registro), es un mecanismo estándar que se encarga de recoger los mensajes generados por los programas, aplicaciones y demonios y enviarlos a un destino predefinido. En cada mensaje consta la fuente (el programa que generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la hora.

Hay varios niveles de prioridad de los mensajes (de menos a más prioritario: debug, info, notice, warning, warn, err, error, crit, alert, emerg y panic) y varios tipos de mensajes (auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, syslog, user, uucp y local0-local7).

Cómo funciona el sistema de logs

  • El sistema de logs arranca con el script /etc/init.d/sysklogd, y tiene dos demonios:
    • syslogd: gestiona los logs del sistema. Distribuye los mensajes a archivos, tuberías, destinos remotos, terminales o usuarios, usando las indicaciones especificadas en su archivo de configuración /etc/syslog.conf, donde se indica qué se loguea y a dónde se envían estos logs.
    • klogd: se encarga de los logs del kernel. Lo normal es que klogd envíe sus mensajes a syslogd pero no siempre es así, sobre todo en los eventos de alta prioridad, que salen directamente por pantalla.
  • Los logs se guardan en archivos ubicados en el directorio /var/log, aunque muchos programas manejan sus propios logs y los guardan en /var/log/<programa>. Además, es posible especificar múltiples destinos para un mismo mensaje. Algunos de los log más importantes son:
    • /var/log/messages: aquí encontraremos los logs que llegan con prioridad info (información), notice (notificación) o warn (aviso).
    • /var/log/kern.log: aquí se almacenan los logs del kernel, generados por klogd.
    • /var/log/auth.log: en este log se registran los login en el sistema, las veces que hacemos su, etc. Los intentos fallidos se registran en líneas con información del tipo invalid password o authentication failure.
    • /var/log/dmesg: en este archivo se almacena la información que genera el kernel durante el arranque del sistema. Podemos ver su contenido con el comando dmesg:
      $ dmesg
  • Los archivos de log crecen y con el tiempo se pueden volver muy extensos, pero no tenemos que preocuparnos porque en /etc/cron.daily (tareas que se ejecutan cada día) está el script /etc/cron.daily/logrotate, (cuyo archivo de configuración es /etc/logrotate.conf), que se encarga de comprimirlos y aplicar una rotación de archivos, añadiéndoles la extensión .1.gz, .2.gz, etc., volviendo a crear uno vacío (cuanto mayor sea el número más antiguo será el log).

22 pensamientos en “Logs en Linux

  1. Rodney

    Perfecto socio muy buenas tus enseñanzas, muchas gracias y por favor sigue escribiendo y enseñando a quienes no sabemos ;)

    Responder
  2. marin urrego

    Hola saludos, tengo instalado fedora core 10, donde puedo buscar el log de los
    comandos ejecutados desde consola,
    mil gracias

    Responder
  3. kid-power

    hola, saludos a todos, tengo un problema, con esto hago el comando logger -t syslog -f /var/log/messages “Mensaje ejemplo” para enviar un mensaje de prueba y no me registra nada, osea no me registra ningun log
    en el /var/log/messages. se le agredeceria de antemano la solucion

    Responder
  4. Rolas

    Como puedo respladar los logs, no se como guardarlos en una dispositiv externo, memoria USB, disco dru externo etc…

    Gracias

    Responder
  5. Gustavo

    Hola:

    Lei la información y esta muy buena, pero tengo una duda, es acerca de que yo tengo instalado Fedora 10 en mi pc, y no encuentro el syslog.conf, acaso est ha sido reemplazado por el rsyslog.conf, de ser asi que paso con el auth.log y kern.log.

    Asumo que el auth.log fue reemplzado o esta dentro de /var/log/secure, ¿pero el kern.log como fue reemplzado?

    GRACIAS

    Responder
  6. hucaza33

    cómo creo redo01.log borrados
    Borre los archivos redo01.log redo02.log y redo03.log como hago para crearlos desde sql sin acudir a cargar el oracle, los puedo crear vacíos?
    Gracias

    Responder
  7. Carlos

    Muchísimas gracias por el post, la verdad es que está muy bien explicado y me ha sido de mucha utilidad para preparar mi clase sobre esta materia.

    Responder
  8. Johny Long

    Buenas.
    Solo quiero puntualizar que a partir de Debian 5 se usa el demonio rsyslog (y no el dueto syslogd/klogd). Pero supongo que muchas otras distros aún estarán usando el sistema aquí descrito, así que muy buen post.
    Saludos.

    Responder
  9. Ricardo

    Excelente explicación.
    Llegué a esta página buscando solución a un sitio que genera un log que no deja de crecer hasta ocupar Gigas de espacio, satura el espacio disponible en el servidor y el sitio se cae.
    ¿Hay algo que se pueda hacer?
    Ya que no tengo idea de este tema, ¿hay alguna recomendación que pueda hacer a los administradores del servidor?

    Gracias por cualquier ayuda.

    Responder
  10. Cesar

    Hola hay varios niveles de prioridad de los mensajes, como veras cada uno va referido a un numero referido sabe alguien que significan los números que corresponde a cada log: nivel 1

    Responder
  11. flax

    Yo creía tener el mismo problema con los logs en /var/log pues crecían demasiado rápido hasta ocupar Gigas, así que los eliminé. Pero ahora el disco se está volviendo a llenar y no sé por qué… Reviso la carpeta /var/logs y los logs ya no están, alguna idea de dónde podrán estar o xq está creciendo tan rápidamente el disco?

    Responder
  12. Fabrizio Manzo

    hola quisiera ver si me pueden ayudar con un script que permita administrar los logs del sistema linux, es decir, los archivos de registro.

    Responder

Deja un comentario

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

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>