¿Qué es el journald?

| Última modificación: 19 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El journald se nos presenta como una alternativa al syslog, donde está todo unificado.

Tanto el journald como el syslog son sistemas de registros de eventos dentro de los sistemas operativos; no obstante, existen algunas diferencias que es importante resaltar. En este artículo, te explicaremos en qué consiste este primer elemento y si es mejor o peor que el syslog.

El syslog

El syslog, como ya habíamos mencionado, es un protocolo de registro de eventos (también llamados logs) que sirve para, entre otras cosas, gestionar la información y registros del sistema, así como para hacer diagnósticos en Unix. Este protocolo permite la recolección, el procesamiento y la distribución de los registros del sistema en diferentes aplicaciones.

El protocolo syslog se basa en un sistema de mensajes que contiene información sobre la fuente del mensaje, el tipo de mensaje, el nivel de prioridad, la fecha y la hora del evento, entre otros detalles. Los mensajes se almacenan en archivos de registro o en bases de datos y pueden transmitirse a través de la red a servidores centrales para su análisis y monitoreo.

syslog y journald

El journald

Al igual que el syslog, el journald es un servicio de registro de eventos de Linux. Este se nos presenta como una alternativa a los syslog y almacena los registros del sistema en un formato binario, lo que permite un acceso más rápido y eficiente a estos datos, en comparación con el formato de texto plano utilizado por syslog. Además, journald tiene características adicionales, como la indexación de datos del registro y la posibilidad de agregarle metadatos adicionales a los eventos registrados.

Journald también proporciona una estructura de registro más detallada que syslog. Cada registro en journald contiene información como la hora de creación, el identificador de la sesión, el identificador de la unidad (UUID), el identificador del servicio, el identificador del proceso y otros metadatos adicionales. Esta información estructurada facilita el análisis y la búsqueda de registros específicos.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Además de esto, este servicio hace uso de una base de datos, en vez de emplear archivos de registro separados, lo que simplifica la gestión de los mismos.

Algunos comandos que utiliza journald

Entre los comandos que utiliza este servicio de registro de eventos se encuentran:

  • journalctl -b [ID] -> Diferentes boots
  • Filtro por fecha -> journalctl –since “YYYY – MMDD hh:mm:ss” –until “YYYY – MM – DD hh:mm:ss”
  • Filtrado por units -> journalctl -u sshd (Ej)
  • Filtrado por PID -> journalctl_PID = xx
  • Journal de kernel -> journalctl -k (como un dmesg)
  • Filtrado por prioridad -> -p [emerg, alert, crit, err, warning, notice, info, debug].

¿Cuáles son las diferencias que existen entre journald y syslog?

Si hiciéramos un análisis comparativo, podríamos decir que journald interactúa con el comando journalctl y que, a su vez, pertenece a systemd; mientras que syslog es un poco más antiguo y tiene funcionalidades diferentes. Veamos:

  • Almacenamiento de datos: journald almacena los registros en formato binario en el disco duro, mientras que syslog almacena los registros en formato de texto plano.
  • Estructura de registro: journald estructura los registros en campos predefinidos, como la hora, el mensaje, el PID, el UID, etc., mientras que syslog simplemente lo registra todo en un formato de texto sin estructura definida.
  • Soporte para metadatos: journald admite la adición de metadatos adicionales a los registros, como el identificador único de la unidad (UUID), el nombre del host, el nombre del servicio, etc. Syslog no proporciona soporte para metadatos adicionales.
  • Prioridad de registro: journald no utiliza niveles de prioridad de registro, sino que utiliza un sistema de etiquetado que permite la selección y filtrado de los registros por categoría. Syslog utiliza niveles de prioridad, como debug, info, warning, error, etc.
  • Compatibilidad: syslog es compatible con una amplia variedad de sistemas operativos, mientras que journald es específico de systemd y, por lo tanto, solo se encuentra en sistemas operativos que utilizan systemd.

¿Cómo seguir aprendiendo sobre ciberseguridad?

Ya hemos aprendido qué es journald, cuáles son algunos de sus comandos y cuál es su relación (semejanzas y diferencias) con syslog. Si quieres seguir formándote en las diversas disciplinas de la seguridad informática, en KeepCoding tenemos nuestro Ciberseguridad Full Stack Bootcamp, la formación con la que lograrás, en muy pocos meses, convertirte en un gran profesional con la guía de expertos en el sector IT. ¡Pide más información y transforma ya tu futuro!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado