Comprender los registros de Linux: una visión general con ejemplos

linux

El registro y la salida de programas se entretejen en todo el entramado del sistema Linux. En Linux, los registros son una fuente vital de información sobre incidentes de seguridad, actividades de las aplicaciones y eventos del sistema. La gestión eficaz de los registros es crucial para solucionar problemas y garantizar el cumplimiento de la normativa. Este artículo explora la importancia de los registros y los principales tipos de registros antes de tratar algunas herramientas de línea de comandos útiles y otros consejos para ayudarte a gestionar los registros de Linux.

La importancia de registrar

Registrar proporciona una visión general de alto nivel de las aplicaciones y procesos que tu sistema ejecuta automáticamente en segundo plano. Estos registros proporcionan una pista de auditoría para descubrir lo que un sistema hace o deja de hacer y los aciertos y errores generados durante esas actividades. Muchas aplicaciones del ecosistema Linux producen una salida legible por los humanos y, si esa salida se redirige a un archivo de registro, es analizada automáticamente por las herramientas incluidas en un sistema Linux. Aunque no es necesario entrar en un registro para hacerlo, recuperar información histórica sin que esa información exista en un registro sería difícil, por no decir imposible. 

Es importante reconocer uno de los beneficios significativos que esto facilita en el lugar de trabajo. Al integrar a la perfección la interfaz de usuario con la arquitectura subyacente del sistema se acorta el bucle de retroalimentación durante la fase de desarrollo y más allá. Después genera resultados valiosos que pueden transformarse en información práctica a lo largo del ciclo de vida de la aplicación.

Tipos de registros

  • Registros del sistema: capturan información sobre el sistema operativo, como mensajes de inicio, eventos de hardware y actividades del kernel. 
  • Registros de aplicaciones: registran eventos específicos relacionados con el software, como mensajes de mantenimiento, errores, advertencias y actividades de los usuarios.
  • Registros de seguridad: realizan un seguimiento de los eventos relacionados con la seguridad, incluidos los accesos no autorizados, los inicios de sesión regulares y las actividades del firewall. 

Cualquiera de ellos puede servir como entrada o activador de aplicaciones o scripts, incluida la integración con la mayoría de software de supervisión serios.

Formatos de registro Syslog y journald

Los archivos de registro pueden almacenarse en diferentes formatos, dos de los más comunes son los registros del sistema en forma de diario (centralizados) y los registros en texto plano.

Tradicionalmente, el formato syslog se almacena en registros de texto plano, que son fáciles de leer y analizar. Este formato tiene ventajas e inconvenientes, al igual que journald,que almacena los registros en un formato binario legible por el comando journalctl

La mayoría de las distribuciones modernas de Linux tienden a utilizar los registros journald de systemd al menos para sus aplicaciones principales del sistema. Los registros de diario de systemd proporcionan ventajas como instalaciones de registro centralizadas, supervisión de registro en tiempo real de datos de registro estructurados e indexados y cifrado de registro automático. En comparación, la naturaleza posiblemente menos restrictiva de los registros de texto plano tradicionales de Linux podría parecer más arriesgada a primera vista. Pero no te dejes engañar: los registros en texto plano siguen teniendo muchos usos.

La mayoría o todas las funciones integradas en systemd, como los sistemas de registro remoto, la monitorización centralizada, la rotación de registros y las copias de seguridad también las ofrecen otros paquetes estándar de Linux. Una desventaja de journald es su naturaleza monolítica comparativamente “pesada” frente a las herramientas de línea de comandos de Linux más avanzadas, utilizadas para interactuar con los archivos syslog, como grep, awk o tail. En comparación, cuando usas journald, obtienes todas sus características instaladas y funcionando: almacenamiento, encriptación, registro centralizado, rotación de registros y más – lo necesites o no.

Comparación de características: syslog vs. journald

Característica syslog journald
Formato de almacenamiento                                                                                  Archivos de texto sin formato Formato binario con datos estructurados
Compatibilidad Ampliamente compatible con varias herramientas de gestión de registros Requiere la integración de systemd para una funcionalidad completa
Rotación de registros Configuración manual de la rotación de registros Rotación y compresión automáticas de los archivos de registro
Gestión centralizada Depende de servidores y herramientas de registro externos Soporte integrado para registro centralizado
Filtrado y análisis Funciones avanzadas de filtrado y análisis a partir de la cadena de herramientas estándar de Linux Filtrado y consulta avanzados con journalctl
Eficiencia de almacenamiento Puede consumir más espacio en disco debido al formato de texto plano Almacenamiento más eficaz gracias al formato binario e indexado
Control en tiempo real Requiere herramientas externas o archivos de registro de seguimiento Monitorización de registros en tiempo real integrada con journalctl
Fiabilidad Vulnerable a la corrupción o pérdida de archivos de registro en caso de bloqueos Escrituras atómicas y estructura de archivos de diario resistente
Cifrado Pueden ser necesarios mecanismos externos de cifrado Admite el cifrado de los datos de registro

Filtrado y análisis de datos de registro: ejemplos útiles

Ejemplos de journald:

Ejemplo: journalctl -p err

Explicación: filtra los registros del diario para mostrar sólo las entradas con el nivel de gravedad «err» , que representa errores. Esto te permite centrarte en los mensajes de error e identificar rápidamente cualquier problema crítico en los registros del sistema.

Ejemplo: journalctl _SYSTEMD_UNIT=nginx.service

Explicación: filtra los registros del diario para mostrar las entradas relacionadas con nginx .service. Te ayuda a aislar los registros específicos de, por ejemplo, el servidor web Nginx, lo que facilita la resolución de problemas o la supervisión de tus actividades.

Ejemplo: journalctl –since “2023-07-21” –until “2023-07-22”

Explicación: filtra los registros del diario para mostrar las entradas entre las fechas especificadas, en este caso, del 21 de julio de 2023 al 22 de julio de 2023. Te permite centrarte en las entradas de registro dentro de un intervalo de tiempo específico, ayudando con la depuración o la investigación de eventos que ocurrieron durante ese período.

Ejemplos de syslog:

Ejemplo: grep -i “warning” syslog.log | grep -v “deprecated”

Explicación: realiza un proceso de filtrado en dos pasos. En primer lugar, utiliza grep con la opción-i para realizar una búsqueda que distingue entre mayúsculas y minúsculas de las líneas que coinciden con la cadena “warning” en syslog.log y, a continuación, canaliza la salida a otro comando grep con la opción -v, excluyendo las líneas que coinciden con la cadena “deprecated”. Permite filtrar los mensajes de advertencia marcados específicamente como obsoletos.

Ejemplo: grep ‘string1|string2[|string3]’ logfile.log

Explicación: efectivamente una búsqueda OR utilizando grep. Usar comillas simples y colocar barras verticales entre ellas permite buscar varias cadenas con un solo comando grep.

Otros consejos sobre herramientas de registro

Aunque las herramientas estándar de Linux se emplean para el propio beneficio del sistema, también es útil emplear estas herramientas en otros lugares:

  • logrotate: útil en la fase de desarrollo de la aplicación para ayudar a gestionar los registros de salida de depuración
  • tail -f: el comando «tail» imprime las 10 últimas líneas de un archivo antes de salir. El modificador “-f” «sigue» al archivo de registro, busca nuevas entradas en el archivo de registro y se actualiza a medida que se añaden nuevas líneas.
  • multitail: muestra varios archivos de registro en paneles en mosaico en tiempo real para que puedas supervisarlos simultáneamente.

En este artículo, hemos tratado varios aspectos de la importancia de los registros, hemos comparado distintos tipos de registros y hemos abordado casos de uso menos habituales para los registros en tu propio trabajo. También hemos explorado una serie de ejemplos de comandos y otras herramientas que contribuyen a una gestión eficaz de los registros de Linux. Utiliza los registros de Linux para realizar un seguimiento de la información de los sistemas operativos, las aplicaciones y los sistemas Linux y gestionar mejor tus endpoints de Linux. Conoce más acerca delsoftware de monitorización remota y gestión de endpoints de NinjaOne y descubre cómo puede ayudarte a gestionar más fácilmente tus dispositivos Linux distribuidos.

Próximos pasos

Los fundamentos de la seguridad de los dispositivos son esenciales para la seguridad general. NinjaOne facilita la aplicación de parches, el fortalecimiento, la seguridad y las copias de seguridad de todos tus dispositivos de forma centralizada, remota y a gran escala.

También te puede gustar

¿Listo para simplificar los aspectos más complejos de las TI?
×

¡Vean a NinjaOne en acción!

Al enviar este formulario, acepto la política de privacidad de NinjaOne.

Términos y condiciones de NinjaOne

Al hacer clic en el botón “Acepto” que aparece a continuación, estás aceptando los siguientes términos legales, así como nuestras Condiciones de uso:

  • Derechos de propiedad: NinjaOne posee y seguirá poseyendo todos los derechos, títulos e intereses sobre el script (incluidos los derechos de autor). NinjaOne concede al usuario una licencia limitada para utilizar el script de acuerdo con estos términos legales.
  • Limitación de uso: solo podrás utilizar el script para tus legítimos fines personales o comerciales internos, y no podrás compartirlo con terceros.
  • Prohibición de republicación: bajo ninguna circunstancia está permitido volver a publicar el script en ninguna biblioteca de scripts que pertenezca o esté bajo el control de cualquier otro proveedor de software.
  • Exclusión de garantía: el script se proporciona “tal cual” y “según disponibilidad”, sin garantía de ningún tipo. NinjaOne no promete ni garantiza que el script esté libre de defectos o que satisfaga las necesidades o expectativas específicas del usuario.
  • Asunción de riesgos: el uso que el usuario haga del script corre por su cuenta y riesgo. El usuario reconoce que existen ciertos riesgos inherentes al uso del script, y entiende y asume cada uno de esos riesgos.
  • Renuncia y exención: el usuario no hará responsable a NinjaOne de cualquier consecuencia adversa o no deseada que resulte del uso del script y renuncia a cualquier derecho o recurso legal o equitativo que pueda tener contra NinjaOne en relación con su uso del script.
  • CLUF: si el usuario es cliente de NinjaOne, su uso del script está sujeto al Contrato de Licencia para el Usuario Final (CLUF).