Para completar, agregaré una diferencia que encontré que puede o no impactarle. syslog-ng usa fopen mientras que rsyslog usa fappend. Esto es importante si chattr +asus archivos syslog. La mayoría de la gente no hace esto, solo tuve un caso de uso especial y así es como me enteré. Acabo de hacer temblar a mucha gente.
Aaron
Respuestas:
52
Básicamente, son todos iguales, en la forma en que todos 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 Syslogproyecto fue el primer proyecto. Comenzó en 1980. Es el proyecto raíz del Syslogprotocolo. En este momento, Syslog es un protocolo muy simple. Al principio solo admite UDP para el transporte, por lo que no garantiza la entrega de los mensajes.
Luego vino syslog-ngen 1998. Extiende el syslogprotocolo básico con nuevas características como:
filtrado basado en contenido
Iniciar sesión directamente en una base de datos
TCP para el transporte
Cifrado TLS
Luego vino Rsyslogen 2004. Extiende el syslogprotocolo con nuevas características como:
Soporte de protocolo RELP
Soporte de operación amortiguado
Digamos que hoy son tres proyectos concurrentes que han crecido por separado en las versiones, pero también crecieron en paralelo con respecto a lo que estaban haciendo los vecinos.
Personalmente, creo que hoy syslog-nges la referencia en la mayoría de los casos, ya que es el proyecto más maduro que ofrece las características principales que puede necesitar, además de una instalación y configuración fácil y completa.
Para el registro, el syslog de OpenBSD puede hacer TCP y TLS (y UDP)
Neil McGuigan
32
Estos son 3 tipos diferentes de administradores de registros: permite que su sistema recopile filtros y transmita / almacene registros.
Syslog(daemon también llamado sysklogd) es el LM predeterminado en las distribuciones comunes de Linux. Ligero pero no muy flexible, puede redirigir el flujo de registro ordenado por instalación y gravedad a los archivos y a través de la red (TCP, UDP).
rsysloges una versión "avanzada" de sysklogddonde el archivo de configuración permanece igual (puede copiar un syslog.confarchivo directamente rsyslog.confy funciona); pero tienes muchas cosas nuevas y geniales:
Puede escuchar conexiones TCP / UDP / ..., con restricciones (puertos, IP 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 closed.log)
Puede descartar el mensaje después de una o más reglas. Visite http://www.rsyslog.com, que es muy bueno.
Syslog-ng es "Next-Gen". Creo que es la mejor manera de administrar registros: todo es objeto (origen, destino, filtro y la regla de reenvío) y la sintaxis es clara. Dudo en términos de funcionalidad que rsyslogy syslog-ngson diferentes.
Yo diría que tanto syslog-ng como rsyslog son 'próxima generación', o al menos el reemplazo más nuevo para el syslog más antiguo. Ambos son comparables en términos de características, pero la sintaxis de ambos es muy diferente. syslog-ng tiene su propia sintaxis única, mientras que la sintaxis de rsyslog es más parecida a la sintaxis anterior de syslog.
Stefan Lasiewski
99
Y luego está journalctl/journald
Mausy5043
9
¿De dónde puedo obtener el código fuente de syslog ()
Esto es proporcionado por glibc o las implementaciones de libc en otros sabores de Unix. Esta llamada básicamente envía su mensaje al syslog unix domain socket / dev / log. Este socket normalmente lo crea el registrador del sistema (por ejemplo, rsyslog, syslog-ng, nxlog, etc.).
Todos son demonios de 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 soportaba y extendía su sintaxis. En los últimos años, rsyslog también comenzó a admitir un formato de configuración más nuevo. Por ahora, es realmente difícil comparar los dos sin entrar en detalles y comenzar guerras de llamas.
chattr +a
sus archivos syslog. La mayoría de la gente no hace esto, solo tuve un caso de uso especial y así es como me enteré. Acabo de hacer temblar a mucha gente.Respuestas:
Básicamente, son todos iguales, en la forma en que todos 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 delSyslog
protocolo. En este momento, Syslog es un protocolo muy simple. Al principio solo admite UDP para el transporte, por lo que no garantiza la entrega de los mensajes.Luego vino
syslog-ng
en 1998. Extiende elsyslog
protocolo básico con nuevas características como:Luego vino
Rsyslog
en 2004. Extiende elsyslog
protocolo con nuevas características como:Digamos que hoy son tres proyectos concurrentes que han crecido por separado en las versiones, pero también crecieron en paralelo con respecto a lo que estaban haciendo los vecinos.
Personalmente, creo que hoy
syslog-ng
es la referencia en la mayoría de los casos, ya que es el proyecto más maduro que ofrece las características principales que puede necesitar, además de una instalación y configuración fácil y completa.fuente
Estos son 3 tipos diferentes de administradores de registros: permite que su sistema recopile filtros y transmita / almacene registros.
Syslog
(daemon también llamadosysklogd
) es el LM predeterminado en las distribuciones comunes de Linux. Ligero pero no muy flexible, puede redirigir el flujo de registro ordenado por instalación y gravedad a los archivos y a través de la red (TCP, UDP).rsyslog
es una versión "avanzada" desysklogd
donde el archivo de configuración permanece igual (puede copiar unsyslog.conf
archivo directamentersyslog.conf
y funciona); pero tienes muchas cosas nuevas y geniales:Syslog-ng es "Next-Gen". Creo que es la mejor manera de administrar registros: todo es objeto (origen, destino, filtro y la regla de reenvío) y la sintaxis es clara. Dudo en términos de funcionalidad que
rsyslog
ysyslog-ng
son diferentes.fuente
journalctl
/journald
Esto es proporcionado por glibc o las implementaciones de libc en otros sabores de Unix. Esta llamada básicamente envía su mensaje al syslog unix domain socket / dev / log. Este socket normalmente lo crea el registrador del sistema (por ejemplo, rsyslog, syslog-ng, nxlog, etc.).
fuente
Todos son demonios de 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 soportaba y extendía su sintaxis. En los últimos años, rsyslog también comenzó a admitir un formato de configuración más nuevo. Por ahora, es realmente difícil comparar los dos sin entrar en detalles y comenzar guerras de llamas.
Syslog en general es bastante confuso ya que puede ser varias cosas. Tuve la oportunidad de desambiguar aquí: https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/
fuente