Articulo de referencia

syslog-ng

syslog-ng es una implementación gratuita y de código abierto del protocolo syslog para sistemas Unix y similares . Extiende el modelo original syslogd con filtrado basado en con...

syslog-ng es una implementación gratuita y de código abierto del protocolo syslog para sistemas Unix y similares . Extiende el modelo original syslogd con filtrado basado en contenido, amplias capacidades de filtrado, opciones de configuración flexibles y añade características importantes a syslog, como el uso de TCP para el transporte. Syslog-ng se desarrolla en la oficina de Budapest de One Identity LLC. Cuenta con tres ediciones con un código base común . La primera se llama syslog-ng, también conocida como syslog-ng Open Source Edition (OSE), con la licencia LGPL + GPLv2. La segunda se llama syslog-ng Premium Edition (PE) y tiene complementos (módulos) adicionales bajo una licencia propietaria . La tercera se llama syslog-ng Storebox (SSB), que se presenta como un dispositivo con una interfaz de usuario web, así como características adicionales que incluyen búsqueda de texto ultrarrápida, búsqueda unificada, alertas basadas en contenido y soporte de nivel superior. [ 2 ]

En enero de 2018, syslog-ng, que formaba parte de Balabit, fue adquirida por One Identity, perteneciente a Quest Software . El equipo de syslog-ng sigue siendo una empresa independiente dentro de la organización One Identity y continúa operando bajo la marca syslog-ng.

En mayo de 2024, el autor original de syslog-ng, Balázs Scheidler, creó una bifurcación de syslog-ng y lanzó AxoSyslog , un reemplazo totalmente abierto que convierte a syslog-ng en un procesador genérico de datos de seguridad, integrándolo con varias herramientas y servicios nativos de la nube.

Protocolo

syslog-ng admite una amplia variedad de protocolos para recibir y enviar datos de registro. Si bien sus orígenes se encuentran en syslog, actualmente admite protocolos de transporte modernos y nativos de la nube, como OpenTelemetry (OTLP), Google PubSub o Kafka. syslog-ng interactúa con diversos dispositivos y es capaz de consumir y transformar datos entre diferentes orígenes y destinos.

Las extensiones al protocolo syslog-ng original incluyen:

  • Marcas de tiempo ISO 8601 con granularidad de milisegundos e información de zona horaria.
  • La adición del nombre de los relés en campos de host adicionales, para permitir el seguimiento de la ruta de un mensaje determinado.
  • Transporte fiable mediante TCP
  • Cifrado TLS (desde la versión 3.0.1 en OSE [ 3 ] )

Historia

El proyecto syslog-ng comenzó en 1998, cuando Balázs Scheidler, el autor principal de syslog-ng, adaptó el código existente de nsyslogd a Linux. La rama 1.0.x de syslog-ng aún se basaba en el código fuente de nsyslogd y está disponible en el archivo fuente de syslog-ng. [ 4 ]

Justo después del lanzamiento de syslog-ng 1.0.x, se inició una reimplementación del código fuente para corregir algunas de las deficiencias de syslog y abordar las preocupaciones sobre la licencia de Darren Reed, el autor original de syslog. Esta reimplementación se consideró estable en octubre de 1999 con el lanzamiento de la versión 1.2.0. En esta ocasión, syslog-ng dependía de código desarrollado originalmente para lsh por Niels Möller.

Tres versiones principales (1.2, 1.4 y 1.6) utilizaron este código base, siendo la última versión de la rama 1.6.x la de febrero de 2007. En este período de aproximadamente 8 años, syslog-ng se convirtió en una de las implementaciones de syslog alternativas más populares.

En un esfuerzo de voluntarios, se inició otra reescritura en 2001, eliminando el código lsh y utilizando la biblioteca GLib, más ampliamente disponible . Esta reescritura del código fuente llevó su tiempo; la primera versión estable, la 2.0.0, se lanzó en octubre de 2006.

Los esfuerzos de desarrollo se centraron en mejorar la rama 2.0.x. El soporte para 1.6.x se eliminó a finales de 2007. El soporte para 2.x se eliminó a finales de 2009, pero aún se utiliza en algunas distribuciones de Linux. [ 5 ] [ 6 ] Balabit, la empresa detrás de syslog-ng, inició una bifurcación comercial paralela de syslog-ng, llamada syslog-ng Premium Edition. Parte de los ingresos comerciales se utilizan para patrocinar el desarrollo de la versión gratuita.

La versión 3.0 de Syslog-ng se lanzó en el cuarto trimestre de 2008.

A partir de la versión 3.0, los esfuerzos de desarrollo se realizaron en paralelo para las ediciones Premium y de código abierto. Los esfuerzos en la edición Premium se centraron en la calidad, la fiabilidad del transporte, el rendimiento y el almacenamiento cifrado de registros. Los esfuerzos en la edición de código abierto se centraron en mejorar la flexibilidad de la infraestructura principal para admitir cada vez más fuentes de mensajes distintas a syslog.

La serie syslog-ng 3.X introdujo importantes cambios sin perder la compatibilidad con versiones anteriores. Syslog-ng se volvió modular y multihilo. Se añadió compatibilidad con diversos sistemas de almacenamiento de documentos y colas de mensajes. Muchos tipos de mensajes ahora se analizan automáticamente y se convierten en pares nombre-valor. Además, se hizo posible extender syslog-ng mediante Java y Python.

La versión 4.0 de syslog-ng se lanzó en diciembre de 2022. El cambio principal de versión se debió a una modificación importante en la compatibilidad de tipos para pares nombre-valor, que era incompatible con la serie 3.X. Esto permite un filtrado más preciso y el envío de datos con la información de tipo adecuada a bases de datos y almacenes de documentos.

Si bien syslog-ng PE se basa en la edición de código abierto, su numeración de versiones es completamente independiente de la misma.

Características

syslog-ng proporciona una serie de funciones además de transportar mensajes syslog y almacenarlos en archivos de registro de texto plano:

  • La capacidad de formatear mensajes de registro utilizando la expansión de variables similar a la del shell de Unix (puede romper la compatibilidad de formatos de registro entre plataformas ).
  • El uso de esta expansión de variables tipo shell al nombrar archivos, abarcando múltiples archivos de destino con una sola instrucción.
  • La capacidad de enviar mensajes de registro a aplicaciones locales
  • Soporte para el control del flujo de mensajes en el transporte de red
  • Iniciar sesión directamente en una base de datos (desde syslog-ng OSE 2.1)
  • Reescribe partes del mensaje syslog con primitivas de conjunto y sustitución (desde syslog-ng OSE 3.0).
  • Clasificar los mensajes de registro entrantes y, al mismo tiempo, extraer información estructurada del mensaje syslog no estructurado (desde syslog-ng OSE 3.0).
  • Compatibilidad con pares nombre-valor genéricos: cada mensaje es simplemente un conjunto de pares nombre-valor, que se pueden usar para almacenar información adicional (desde syslog-ng OSE 3.0).
  • La capacidad de procesar formatos de mensajes estructurados transmitidos a través de syslog, como extraer columnas de líneas con formato CSV (desde syslog-ng OSE 3.0).
  • La capacidad de correlacionar múltiples mensajes entrantes para formar un evento correlacionado más complejo (desde syslog-ng OSE 3.2); [ 7 ]

Distribuciones

syslog-ng está disponible en varias distribuciones de Linux y Unix. Algunas lo instalan como predeterminado del sistema o lo proporcionan como un paquete que reemplaza al anterior syslogd estándar. Varias distribuciones de Linux que usaban syslog-ng lo han reemplazado por rsyslog .

Portabilidad

syslog-ng es altamente portable a muchos sistemas Unix, tanto antiguos como nuevos. A continuación se muestra una lista de las versiones de Unix que se sabe que funcionan:

La lista anterior se basa en la experiencia directa actual de BalaBit; otras plataformas también podrían funcionar, pero los resultados pueden variar.

  • RFC 3164 – El protocolo syslog de BSD 
  • RFC 5424 – El protocolo Syslog 
  • RFC 5425 – Asignación de transporte de seguridad de la capa de transporte (TLS) para Syslog 
  • RFC 5426 – Transmisión de mensajes Syslog a través de UDP 

Véase también

Referencias

  1. "Versión 4.12.0" . 16 de junio de 2026. Consultado el 17 de junio de 2026 .
  2. "syslog-ng - Soluciones de gestión de registros" . www.syslog-ng.com . Consultado el 9 de septiembre de 2024 .
  3. "Registro de cambios 3.0.1" . Consultado el 21 de enero de 2009 .
  4. «Entrevista: Balázs Scheidler, desarrollador de syslog-ng 2.0» . Consultado el 31 de julio de 2024 .
  5. "Paquete Debian syslog-ng" . Consultado el 11/11/2011 .
  6. "Documentación de SLES syslog-ng" (PDF) . Archivado del original (PDF) el 13 de agosto de 2011. Consultado el 11 de noviembre de 2011 .
  7. "Correlacionando mensajes lo con syslog-ng" . Consultado el 11 de noviembre de 2011 .
  8. "Capítulo 2. Novedades de Debian GNU/Linux 5.0" . Consultado el 22 de mayo de 2010 .