Como administrador del sistema Linux, inspeccionar archivos de registro es una de las tareas más comunes que puede tener que realizar.
Registros de Linux son cruciales:almacenan información importante sobre algunos errores que pueden ocurrir en su sistema.
También pueden almacenar información sobre quién intenta acceder a su sistema, qué está haciendo un servicio específico o sobre un bloqueo del sistema que ocurrió anteriormente.
En consecuencia, saber localizar , manipular y analizar archivos de registro es definitivamente una habilidad que tienes que dominar.
En este tutorial, vamos a desvelar todo lo que hay que saber sobre registro de Linux.
Se le presentará la forma en que se estructura el registro en los sistemas Linux y cómo los diferentes dispositivos y procesos virtuales interactúan entre sí para registrar las entradas.
Vamos a profundizar en el protocolo Syslog y cómo pasó de syslogd (en sistemas antiguos) a journalctl impulsado por systemd en sistemas recientes.
Tipos de registro de Linux
Cuando se trata del registro de Linux, hay algunos conceptos básicos que debe comprender antes de escribir cualquier comando en la terminal.
En Linux, tiene dos tipos de mecanismos de registro:
- Registro del núcleo :relacionado con errores, advertencias o entradas de información que su kernel puede escribir;
- Registro de usuario :vinculado al espacio del usuario, esas entradas de registro están relacionadas con procesos o servicios que pueden ejecutarse en la máquina host.
Al dividir el inicio de sesión en dos categorías, esencialmente revelamos que la memoria en sí misma se divide en dos categorías en Linux:espacio de usuario y espacio del núcleo .
Registro del núcleo
Comencemos primero con el registro asociado con el espacio del núcleo, también conocido como registro del núcleo.
En el espacio del kernel, el registro se realiza a través del buffer de anillo del kernel.
El búfer de anillo del núcleo es un búfer circular que es la primera estructura de datos que almacena mensajes de registro cuando se inicia el sistema.
Cuando está iniciando su máquina Linux, si se muestran mensajes de registro en la pantalla, esos mensajes se almacenan en el búfer de anillo del kernel.
El registro del kernel se inicia antes del registro del usuario (administrado por el demonio syslog o por rsyslog en distribuciones recientes).
Se puede inspeccionar el búfer de anillo del núcleo, casi como cualquier otro archivo de registro en su sistema.
Para abrir registros relacionados con el Kernel en su sistema, debe usar el "dmesg ” comando.
Nota :debe ejecutar este comando como root o tener derechos privilegiados para inspeccionar el búfer de anillo del kernel.
$ dmesg
Como puede ver, desde el inicio del sistema hasta el momento en que ejecutó el comando, el núcleo realiza un seguimiento de todas las acciones, advertencias o errores que pueden ocurrir en el espacio del núcleo.
Si su sistema tiene problemas para detectar o montar un disco, probablemente sea aquí donde desee inspeccionar los errores.
Como puede ver, el comando dmesg es una interfaz bastante agradable para ver los registros del kernel, pero ¿cómo le devuelve esos resultados el comando dmesg?
Para desvelar los diferentes mecanismos utilizados, veamos qué procesos y dispositivos se encargan del registro del Kernel .
Conceptos internos de registro del kernel
Como probablemente haya escuchado antes, en Linux, todo es un archivo.
Si todo es un archivo, también significa que los dispositivos son archivos.
En Linux, el búfer de anillo del kernel se materializa mediante un archivo de dispositivo de caracteres en el directorio /dev y se denomina kmsg.
$ ls -l /dev/ | grep kmsg
Si tuviéramos que representar la relación entre el dispositivo kmsg y el búfer de anillo del núcleo, así es como lo representaríamos.
Como puede ver, el dispositivo kmsg es una abstracción se utiliza para leer y escribir en el búfer de anillo del kernel.
Esencialmente, puede verlo como un punto de entrada para los procesos del espacio de usuario para escribir en el búfer de anillo del kernel.
Sin embargo, el diagrama que se muestra arriba está incompleto ya que el kernel utiliza un archivo especial para volcar la información de registro del kernel en un archivo.
Si tuviéramos que resumirlo, diríamos esencialmente que el dispositivo virtual kmsg actúa como un punto de entrada para el búfer de anillo del núcleo mientras que la salida de este proceso (las líneas de registro) se imprimen en el archivo /proc/kmsg.
Este archivo puede ser analizado por un solo proceso que es la mayoría de las veces la utilidad de registro utilizada en el espacio del usuario. En algunas distribuciones, puede ser syslogd, pero en distribuciones más recientes está integrado con rsyslog.
La utilidad rsyslog tiene un conjunto de módulos incorporados que redirigirán los registros del kernel a archivos dedicados en el sistema de archivos.
Históricamente, los registros del núcleo eran recuperados por el daemon klogd en sistemas anteriores, pero ha sido reemplazado por rsyslog en la mayoría de las distribuciones.
Por un lado, tiene utilidades de registro que leen desde el búfer circular, pero también tiene programas de espacio de usuario que escriben en el búfer circular:systemd (con el famoso systemd-journal) en distribuciones recientes, por ejemplo.
Ahora que sabe más sobre el registro del Kernel, veamos cómo se realiza el registro en el espacio del usuario.
Registro del lado del usuario con Syslog
Iniciar sesión en el espacio de usuario es bastante diferente de iniciar sesión en el espacio del kernel.
Por parte del usuario, el registro se basa en el protocolo Syslog .
Syslog se utiliza como estándar para producir, reenviar y recopilar registros producidos en una instancia de Linux.
Syslog define los niveles de gravedad, así como los niveles de instalación, lo que ayuda a los usuarios a comprender mejor los registros producidos en sus computadoras.
Los registros pueden luego analizarse y visualizarse en servidores denominados servidores Syslog.
En resumen, el protocolo Syslog es un protocolo utilizado para definir los mensajes de registro que se formatean, envían y reciben en los sistemas Unix.
Syslog es conocido por definir el formato syslog que define el formato que deben usar las aplicaciones para enviar registros.
Este formato es conocido por definir dos términos importantes:instalaciones y prioridades .
Explicación de las instalaciones de Syslog
En resumen, un nivel de instalación se utiliza para determinar el programa o parte del sistema que produjo los registros.
En su sistema Linux, muchas utilidades y programas diferentes están enviando registros. Para determinar qué proceso envió el registro en primer lugar, Syslog define números, números de instalaciones, que utilizan los programas para enviar registros de Syslog.
Hay más de 23 instalaciones de Syslog diferentes que se describen en la siguiente tabla.
Código numérico | Palabra clave | Nombre de la instalación |
0 | kern | Mensajes del núcleo |
1 | usuario | Mensajes a nivel de usuario |
2 | correo | Sistema de correo |
3 | demonio | Demonios del sistema |
4 | autenticación | Mensajes de seguridad |
5 | syslog | Mensajes Syslogd |
6 | lpr | Subsistema de impresora de línea |
7 | noticias | Subsistema de noticias de la red |
8 | uucp | Subsistema UUCP |
9 | cron | Demonio de reloj |
10 | autorpriv | Mensajes de seguridad |
11 | ftp | Demonio FTP |
12 | ntp | Subsistema NTP |
13 | seguridad | Auditoría de registro de seguridad |
14 | consola | Alertas de registro de consola |
15 | solaris-cron | Registros de programación |
16-23 | local0 a local7 | Instalaciones de uso local |
Valor | Gravedad | Palabra clave |
0 | Emergencia | emerg |
1 | Alerta | alert |
2 | Crítico | crit |
3 | Error | err |
4 | Advertencia | warning |
5 | Aviso | notice |
6 | Informativo | info |
7 | Depuración | debug |