Introducción al registro del sistema en Linux
Los registros del sistema en Linux le brindan una gran comprensión de las actividades principales en su PC o infraestructura de servidor. Son fundamentales para mantener su sistema estable y seguro. Los registros del sistema también le brindan la oportunidad de auditar diversas actividades que han tenido lugar en el pasado.
Esta guía le presenta el sistema de registro en Linux. Todas las actividades principales llevadas a cabo por las aplicaciones y servicios del sistema central se registran en forma de registros y en el corazón de todo esto se encuentra un sistema conocido como Syslog .
¿Por qué son importantes los registros del sistema?
Imagine que su PC con Linux ha experimentado recientemente errores de inicio o sospecha que alguien ha estado intentando iniciar sesión en su sistema. Estos eventos se pueden rastrear fácilmente ya que su sistema realiza un seguimiento de dichas actividades en forma de registros.
En Linux, los registros del sistema son registros legibles por humanos de las actividades centrales del sistema realizadas por servicios, demonios y aplicaciones del sistema. Algunas de las actividades importantes registradas en una máquina Linux incluyen inicios de sesión de usuarios y fallas de inicio de sesión, arranque del sistema operativo, fallas del sistema, etc.
Linux tiene un servicio dedicado conocido como Syslog que es específicamente responsable de crear registros a través del System Logger. Syslog consta de varios componentes, como Syslog Message Format, Syslog Protocol y Syslog Daemon: conocido popularmente como syslogd o rsyslogd en las versiones más recientes de Linux.
El directorio / var / log almacena la mayoría de los registros en un sistema Linux. El directorio / var contiene principalmente archivos y directorios variables, es decir, datos que están destinados a cambiar con frecuencia. No existe un formato estándar para los registros, pero como mínimo, los registros deben contener una marca de tiempo y los detalles de la actividad que se registra.
Listado de archivos administrados por syslog
Todos los registros generales de su sistema se almacenan en el archivo / var / log / syslog en las distribuciones de Linux basadas en Debian. Otras distribuciones usan el archivo / var / log / messages para almacenar registros.
Nota : Diferentes distribuciones de Linux pueden usar diferentes archivos para registrar mensajes específicos. Por ejemplo, en las distribuciones de Linux basadas en Debian, el archivo /var/log/auth.log contiene registros de autenticación, mientras que los sistemas RedHat usan el archivo / var / log / secure para almacenar dichos registros.
Para obtener más información sobre todos los archivos que son responsables de almacenar registros, puede echar un vistazo al directorio /etc/rsyslog.d , que contiene importantes archivos de configuración de Syslog. Por ejemplo, para enumerar los archivos de registro estándar, puede echar un vistazo al archivo /etc/rsyslog.d/50-default.conf .
cat /etc/rsyslog.d/50-default.conf
El archivo le muestra los nombres de las aplicaciones del sistema y los archivos de registro correspondientes asociados con ellas.
Cómo inspeccionar archivos de registro
La mayoría de los archivos de registro son bastante largos. Como tal, uno de los comandos más importantes para inspeccionar archivos de registro en Linux es el comando less , que genera el contenido del archivo en secciones fácilmente navegables.
Por ejemplo, para ver el contenido del archivo / var / log / syslog , use el comando less de la siguiente manera.
less /var/log/syslog
Use la tecla F del teclado para desplazarse hacia adelante y la tecla B para desplazarse hacia atrás.
El archivo syslog contiene registros de algunas de las actividades más críticas, como errores del sistema y actividades de servicio en su sistema.
Si solo desea inspeccionar los registros más recientes, puede usar el comando tail , que solo enumera los últimos 10 mensajes de registro de forma predeterminada.
tail /var/log/syslog
También puede especificar el número de mensajes de registro que desea ver con la utilidad tail. El comando toma el siguiente formato tail -n file-to-inspect, donde n es el número de líneas que desea ver. Por ejemplo, para ver los últimos 7 mensajes de registro en el archivo syslog, puede usar el siguiente comando.
tail -7 /var/log/syslog
Para ver los registros más recientes en tiempo real, puede usar el comando tail con la opción -f de la siguiente manera.
tail -f /var/log/syslog
Otro comando importante para inspeccionar los mensajes de registro es el comando head . A diferencia del comando tail, que muestra los últimos mensajes de registro en un archivo, el comando head muestra las primeras líneas de un archivo. De forma predeterminada, el comando generará solo las primeras 10 líneas.
head /var/log/syslog
Registros de autenticación
Si desea encontrar información sobre los inicios de sesión de los usuarios en su sistema, puede echar un vistazo al archivo /var/log/auth.log . La información relacionada con los inicios de sesión de los usuarios, las fallas de inicio de sesión y el método de autenticación utilizado se puede encontrar aquí.
Registros de kernel
Cuando su sistema Linux arranca, los datos importantes sobre el búfer de anillo del kernel se registran en el archivo / var / log / dmesg . En este archivo se registra otra información sobre los controladores de hardware, el kernel y el estado de arranque.
En lugar de inspeccionar los mensajes de registro de arranque con el comando less o cat, puede usar dmesg para ver estos archivos de registro.
dmesg
Nota : Los mensajes de registro en el archivo / var / log / dmesg se restablecen cada vez que se inicia el sistema.
Otro archivo de registro importante relacionado con los problemas del kernel es /var/log/kern.log .
Registro de mensajes con el comando logger
Además de solo ver los mensajes de registro registrados por las aplicaciones o servicios del sistema, el sistema de registro en Linux también le permite registrar mensajes manualmente usando el comando logger . Un usuario puede registrar mensajes en el archivo / var / log / syslog de forma predeterminada. Por ejemplo, para registrar un mensaje simple, puede ejecutar el siguiente comando.
logger hello world!
Ahora puede usar el comando tail para ver el mensaje registrado recientemente.
tail -3 /var/log/syslog
Incluso puede registrar la salida de otros comandos con el comando del registrador encerrando el comando dentro del carácter de tilde ( ` ).
logger `whoami`
También puede usar el comando logger dentro de sus scripts para registrar eventos importantes. Utilice las páginas de manual para obtener más información sobre el comando logger y sus opciones.
man logger
Administrar archivos de registro
Como habrá notado, hay una gran cantidad de datos que se registran en una máquina Linux. Por lo tanto, debe tener un sistema adecuado para administrar el espacio en disco utilizado por los archivos de registro. Además de eso, tener un sistema de registro asegura que encontrará fácilmente los mensajes de registro que está buscando. La solución de Linux a este problema es la utilidad logrotate .
Utilice la utilidad logrotate para configurar qué archivo de registro conservar, cuánto tiempo desea conservarlos, administrar el envío de registros y cómo comprimir archivos de registro antiguos, etc.
Puede configurar la utilidad logrotate con cualquier editor de texto de su elección. El archivo de configuración para logrotate se puede encontrar en /etc/logrotate.conf .
Mantener su sistema robusto con registros
Los registros del sistema en Linux son una excelente manera de obtener información sobre las principales actividades que ocurren en su sistema que pueden comprender la seguridad y la estabilidad general del sistema. Saber cómo ver y analizar los mensajes de registro en un servidor o PC será de gran ayuda para mantener la solidez de su sistema.
A veces, a los usuarios les resulta difícil utilizar determinadas aplicaciones en su sistema debido a la baja disponibilidad de los recursos del sistema. En tales situaciones, eliminar programas que no responden puede liberar espacio en la memoria principal de su sistema.