![¿Cuál es la diferencia entre syslog, rsyslog y syslog-ng?](https://rvso.com/image/658365/%C2%BFCu%C3%A1l%20es%20la%20diferencia%20entre%20syslog%2C%20rsyslog%20y%20syslog-ng%3F%20.png)
Estoy un poco confundido con syslog, rsyslog y syslog-ng.
¿De dónde puedo obtener el código fuente syslog()
?
¿Existe alguna diferencia entre rsyslog y rsyslogd?
Respuesta1
Básicamente, son todos iguales, en el sentido de que permiten el registro de datos de diferentes tipos de sistemas en un repositorio central.
Pero son tres proyectos diferentes, cada proyecto intenta mejorar el anterior con más confiabilidad y funcionalidades.
El Syslog
proyecto fue el primer proyecto. Comenzó en 1980. Es el proyecto raíz del Syslog
protocolo. En este momento Syslog es un protocolo muy simple. Al principio sólo soporta UDP para el transporte, por lo que no garantiza la entrega de los mensajes.
El siguiente llegó syslog-ng
en 1998. Amplía syslog
el protocolo básico con nuevas características como:
- filtrado basado en contenido
- Iniciar sesión directamente en una base de datos
- TCP para transporte
- Cifrado TLS
El siguiente llegó Rsyslog
en 2004. Amplía syslog
el protocolo con nuevas características como:
- Soporte del protocolo RELP
- Soporte de operación en búfer
Digamos que hoy son tres proyectos concurrentes que han ido creciendo por separado según versiones, pero también han crecido en paralelo respecto a lo que hacían los vecinos.
Personalmente creo que a día de hoy syslog-ng
es la referencia en la mayoría de los casos, ya que es el proyecto más maduro que ofrece las principales funcionalidades que puedas necesitar, además de una instalación y configuración fácil y completa.
Respuesta2
Estos son 3 tipos diferentes de administradores de registros: permiten que su sistema recopile filtros y transmita/almacene registros.
Syslog
(demonio también llamadosysklogd
) es el LM predeterminado en las distribuciones comunes de Linux. Ligero pero no muy flexible, puede redirigir el flujo de registros ordenado por instalación y gravedad a archivos y a través de la red (TCP, UDP).rsyslog
es una versión "avanzada"sysklogd
donde el archivo de configuración sigue siendo el mismo (puede copiar unsyslog.conf
archivo directamentersyslog.conf
y funciona); pero viene con muchas cosas nuevas e interesantes:- Puedes escuchar conexiones TCP/UDP/..., con restricciones (puertos, IPs de origen)
- Puedes cargar muchos módulos.
- Puede discriminar el filtrado de registros por programa, fuente, mensaje, pid, etc. (por ejemplo, cada mensaje etiquetado con el mensaje "conexión cerrada" al archivo cerrado.log)
- Puedes descartar el mensaje después de una o más reglas Visitarhttp://www.rsyslog.comque es muy bueno por cierto
Syslog-ng es "próxima generación". Creo que es la mejor manera de administrar los registros: todo es objeto (origen, destino, filtro y la misma regla de reenvío) y la sintaxis es clara. Dudo en términos de funcionalidad que
rsyslog
ysyslog-ng
sean diferentes.
Respuesta3
¿De dónde puedo obtener el código fuente de syslog()?
Esto es proporcionado porglibco las implementaciones de libc en otras versiones de Unix. Esta llamada básicamente envía su mensaje al socket de dominio syslog Unix /dev/log. Este socket normalmente lo crea el registrador del sistema (por ejemplo, rsyslog, syslog-ng, nxlog, etc.).
Respuesta4
Todos son demonios syslog, donde rsyslog y syslog-ng son reemplazos más rápidos y con más funciones para el syslogd tradicional (en su mayoría sin mantenimiento). syslog-ng comenzó desde cero (con un formato de configuración diferente), mientras que rsyslog era originalmente una bifurcación de syslogd, que admitía y ampliaba su sintaxis. En los últimos años, rsyslog también comenzó a admitir un formato de configuración más nuevo. A estas alturas, es realmente difícil comparar los dos sin entrar en detalles y comenzar guerras incendiarias.
Syslog en general es bastante confuso ya que pueden ser varias cosas. Tuve la oportunidad de desambiguar aquí:https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/