rsyslog es un software de línea de comandos de código abierto, un daemon que proporciona una versión mejorada y multihebra de la antigua utilidad syslogd. En realidad, es un reemplazo directo para syslogd original, adecuado para todos los sistemas operativos GNU / Linux. Su nombre es un acrónimo del sistema de cohete rápido para el procesamiento de registros.
Características de un vistazo
Las características principales incluyen un diseño modular, soporte para almacenamiento en memoria en el disco bajo demanda, alertas de correo electrónico, compresión de mensajes en línea, soporte para todos los sistemas operativos GNU / Linux, soporte para arquitecturas convencionales, estado de la técnica seguridad, alto rendimiento, así como la capacidad de convertir archivos de texto al formato syslog.
Entre otras características, podemos mencionar el soporte multithreading, la capacidad de filtrar cualquier parte de un mensaje syslog y la compatibilidad con syslog a través de TCP (Transmission Control Protocol), TLS (Transport Layer Security), SSL (Secure Sockets Layer) ) y protocolos RELP (Protocolo de Registro de Eventos Confiables).
Además, el programa admite los servidores de bases de datos MySQL, Oracle y PostgreSQL, proporciona un formato de salida completamente configurable y es adecuado para cadenas de retransmisión de clase empresarial. Sus desarrolladores lo apodaron como una navaja suiza de registro.
Ofrece más de un millón de mensajes por segundo
Cuando el procesamiento es limitado, el software rsyslog es capaz de entregar más de un millón de mensajes por segundo a los destinos locales. Los destinos remotos también son compatibles y rsyslog a esos un impresionante buen trabajo.
Comenzando con rsyslog
Para utilizar la aplicación, primero deberá instalarla en su sistema GNU / Linux, ya sea utilizando el archivo de fuentes universales distribuido gratuitamente en Softoware o los paquetes binarios preconstruidos de los repositorios de software predeterminados de su distribución.
Después de la instalación, puede iniciar el daemon rsyslog ejecutando el & lt; rsyslogd & rdquo; comando (sin comillas) en un emulador de terminal, siga por una de las opciones disponibles. Para ver las opciones admitidas, ejecute el & ldquo; rsyslogd --help & rdquo; comando, sin comillas.
Qué hay de nuevo en esta versión:
- se agregó un nuevo proveedor de firmas para Keyless Signature Infrastructure (KSI)
- sistema de compilación: vuelva a habilitar el uso de & quot; make distcheck & quot;
- bugfix imfile: modo multilínea regex ignorado la opción escapeLF
- bugfix omkafka: solucionó varios problemas de simultaneidad, la mayoría relacionados con temas dinámicos.
- corrección de errores: execonlywhenpreviousissuspended no funcionó correctamente. Esto causó problemas especialmente cuando una acción con este atributo se configuró con una cola de acción.
- motor núcleo de corrección de errores: atomicidad variable global asegurada. Esto podría generar problemas en RainerScript, así como probablemente en otras áreas donde se usan variables globales dentro de rsyslog. No me gustaría outrule podría conducir a segfaults.
- bugfix imfile: segfault al usar startmsg.regex debido a la línea de registro vacía
- solución de error: problema de compilación en Solaris
- corrección de errores: build system strndup se utilizó incluso si no está presente ahora la función de compatibilidad añadida. Esto apareció en las compilaciones de Solaris.
Qué hay de nuevo en la versión:
- omkafka: agregue soporte para temas dinámicos y particiones automáticas. Gracias a Tait Clarridge por los parches.
- imtcp / imptcp: soporte para el marco de syslog TCP Cisco ASA roto
- omfwd: mensajes de error más detallados en caso de error de envío UDP
- TLS syslog: habilitar la capacidad para activar el registro de depuración GnuTLS. Esto proporciona mejores diagnósticos en casos difíciles de diagnosticar, especialmente cuando GnuTLS es extremadamente exigente con los certificados.
- corrección de errores: $ AbortOnUncleanConfig no funcionó
- mejore la salida de rsyslogd -v y el mensaje de error con número de versión de metainformación ahora se incluye en el mensaje de error y la plataforma de compilación en la salida de la versión. Esto ayuda a deshacerse del & quot; habitual & quot; qué versión & quot; pregunta sobre la lista de correo, foros de soporte, etc. ...
- corrección de errores imtcp: el marco contado por octetos no se puede desactivar
- corrección de errores: problemas de compilación en Illuminos. Gracias a Andrew Stormont por el parche
- corrección de errores: tamaño de datos no válido para la propiedad global de iMaxLine. Se definió como int, pero dentro del sistema de configuración se declaró como tipo de tamaño, que usa int64_t. Con las sentencias de configuración heredadas, esto podría llevar a un desajuste, lo que generalmente significaba que se sobrescribía otra variable de configuración (dependiendo del diseño de la memoria). cierra https://github.com/rsyslog/rsyslog/issues/205
- corrección de errores: se permitieron los valores negativos para el parámetro global maxMessageSize
Qué hay de nuevo en la versión 8.7.0:
- agregar metadatos del mensaje & quot; sistema & quot; al objeto msg. esto permite almacenar metadatos junto con el mensaje
- archivo_imprimir: agregar soporte para & quot; nombre_archivo & quot; metadata esto es útil en casos donde se usan comodines
- imptcp: hacer que los nombres del contador de estadísticas sean coherentes con lo que imudp, imtcp usa
- agregó un nuevo módulo & quot; omkafka & quot; para ayudar a escribir a Apache Kafka
- omfwd: agrega un nuevo & quot; udp.senddelay & quot; parámetro
- Mejoras de normalización. Gracias a Janmejay Singh por el parche.
- RainerScript & quot; foreach & quot; soporte de lectura de iterador y matriz. Gracias a Janmejay Singh por el parche.
- ahora requiere liblognorm & gt; = 1.0.2
- agregue soporte para systemd & gt; = 209 nombres de biblioteca
- BSD & quot; ntp & quot; instalación (valor 12) ahora también es compatible con filtro. Gracias a Douglas K. Rand de Iteris, Inc. por el parche. Nota: este parche fue lanzado bajo ASL 2.0 (ver correo electrónico-conversación).
- corrección de errores: global (localHostName = & quot; xxx & quot;) no se respetó en todos los módulos
- corrección de errores: emita el mensaje de error correcto en config-file-not-found. cierra https://github.com/rsyslog/rsyslog/issues/173
- corrección de errores: impstats emitió el formato JSON no válido (si se seleccionó JSON)
- corrección de errores: fuga de memoria (pequeña) en el código outchannel de omfile. Gracias a Koral Ilgun por informar sobre este problema.
- corrección de errores: imuxsock no desactivó algunos códigos no compatibles con la plataforma. Entre otros posibles problemas, esto provocó un error de compilación en Solaris. Tenga en cuenta que este problema de compilación acaba de hacer aparecer un problema más amplio que hasta ahora siempre existió pero que no era visible. cierra https://github.com/rsyslog/rsyslog/issues/185
Qué hay de nuevo en la versión 8.6.0:
- configuración-configuración rsyslogd opciones de línea de comandos en desuso
- Para la mayoría de ellos, ahora hay objetos de configuración adecuados. Algunos serán eliminados por completo si nadie insiste en ellos. Información adicional en
- http://blog.gerhards.net/2014/11/phasing-out-legacy-command-line-options.html
- complementos nuevos y mejorados para 0mq. Estos son actualmente experimentales.
- Gracias a Brian Knox que contribuyó con los módulos y es su autor.
- se han permitido los conjuntos de reglas vacíos. Ya no generan un error de sintaxis.
- agregue el parámetro -N3 para habilitar la comprobación de configuración del archivo de configuración parcial
- Usar para config incluye archivos. Desactiva la comprobación si existe alguna acción en
- todo.
- La opción rsyslogd -e finalmente se ha eliminado
- Se ha depreciado desde hace muchos años.
- mejoras en el banco de pruebas
- Testbench ahora es más robusto y tiene pruebas adicionales.
- testbench ahora está deshabilitado de forma predeterminada
- Para habilitarlo, usa -enable-testbench. Esto se hizo porque el banco de pruebas ahora revisa mejor si los módulos requeridos están presentes y esto a su vez llevaría a configurar mensajes de error en los que no se encontraba si dejáramos -enable-testbench activado por defecto. Por lo tanto, lo hemos apagado. Esto no debería ser un problema para los pocos usuarios de testbench.
- agrega nuevas funciones de RainerScript warp () y replace ()
- Gracias a Singh Janmejay por el parche.
- mmnormalize ahora también puede funcionar en una variable
- Gracias a Singh Janmejay por el parche.
- nuevas opciones de fecha de propiedad para el ordinal del día y el número de semana
- Gracias a github user arrjay por el parche
- eliminar la opción de configuración de -enable-zlib, siempre lo requerimos
- Es difícil imaginar un sistema sin zlib, así que lo desactivamos
- cierra https://github.com/rsyslog/rsyslog/issues/76
- ligera reestructuración del árbol fuente: los módulos aportados ahora están en su propio directorio ./contrib. La idea es aclarar al usuario final qué complementos son compatibles con el proyecto rsyslog (aquellos en ./plugins).
- corrección de errores: imudp hace que rsyslog cuelgue al apagar cuando se usa más de 1 subproceso
- cierra https://github.com/rsyslog/rsyslog/issues/126
- corrección de errores: no todos los archivos se cerraron al iniciar automáticamente el inicio
- Esto podría suceder cuando no se ejecuta en systemd. Algunos fds de bajo número no se cerraron en ese caso.
- corrección de errores: error de escritura en el parámetro de configuración de cola parámetro inutilizable
- Gracias a Bojan Smojver por el parche.
- corrección de errores: error de memoria individualizada de memoria por error en la generación del nombre de host
- El caché de DNS usaba memoria no inicializada, lo que podría generar una generación de nombre de host no válida.
- Gracias a Jarrod Sayers por alertarnos y proporcionar análisis y recomendaciones de parches.
- imfixsock de corrección de errores: segfault posible cuando SysSock.Use = & quot; off & quot;
- Gracias a alexjfisher por informar este problema.
- cierra https://github.com/rsyslog/rsyslog/issues/140
- corrección de errores: RainerScript: los nombres de conjuntos de reglas no válidos se aceptaron durante la definición del conjunto de reglas, pero por supuesto no se podían usar cuando, por ejemplo, llamando a un conjunto de reglas.
- IMPORTANTE: esto puede ocasionar que las configuraciones existentes fallen al inicio, ya que los nombres inválidos también podrían usarse, p. cuando se asignan conjuntos de reglas.
- corrección de errores: algunos puntos de entrada de módulos no se llamaron para todas las devoluciones de módulos llamadas como endCnfLoad () principalmente para módulos de entrada. Esto ha sido corregido Tenga en cuenta que esta corrección de errores tiene cierto potencial de regresión.
- bugfix omlibdbi: la conexión se eliminó en el hilo incorrecto
- Esto podría tener consecuencias según el controlador que se utilice. En general, se parece más a un problema cosmético. Por ejemplo, con MySQL conduce a un pequeño recuerdo pero también a un mensaje molesto sobre un hilo que no se ha destruido adecuadamente.
- se eliminó imttcp porque era un módulo experimental incompleto
- pmrfc3164sd porque era un módulo personalizado que nadie usaba
- Solíamos guardar esto como una muestra dentro del árbol, pero quien quiera verlo puede consultar versiones anteriores dentro de git
- omoracle se eliminó porque quedó huérfano y no se fabricó / fabricó durante algunos años y nadie estaba interesado en solucionarlo
Qué hay de nuevo en la versión 8.4.2:
- corrección de errores: la corrección para CVE-2014-3634 no manejó todos los casos. Esto está corregido ahora. ver también: CVE-2014-3683
- corrigió un problema de compilación en algunas plataformas. Gracias a Olaf por el parche
- cambio de comportamiento: & quot; msg & quot; de mensajes con PRI no válido establecido en & quot; rawmsg & quot ;. Cuando el PRI no es válido, el resto del encabezado no puede ser válido. Así que movemos todo a MSG y no intentamos analizarlo. Tenga en cuenta que esto no está directamente relacionado con el problema de seguridad, sino más bien porque tiene más sentido.
Qué hay de nuevo en la versión 7.6.0:
- Corrección de errores: los parámetros de entrada de imuxsock no se aceptaron debido a un error de copiar y pegar.
- Gracias a Andy Goldstein por la solución.
- Parámetro del sistema global agregado de ProcessInternalMessages
- Esto permite inyectar mensajes de estado de rsyslog en * otro * syslogd principal o el diario.
- Nueva dependencia: liblogging-stdlog (para enviar a un registrador externo)
- Corrección de errores: las plantillas json están creadas incorrectamente
- Las cadenas pierden el carácter NUL de terminación, lo que obviamente puede generar todo tipo de problemas.
- Ver también: https://github.com/rsyslog/rsyslog/issues/27
- Gracias a Alain por el análisis y el parche.
- ompgsql corrección de errores: manejo inadecuado del modo de fondo automático
- Si rsyslog se configuró en auto-fondo (comportamiento de código predeterminado, pero muchas distribuciones ahora lo desactivan por una buena razón), ompgsql no se pudo conectar correctamente. Esto podría incluso llevar a una segfault. La razón principal fue que un identificador de sesión PG se mantuvo abierto sobre un tenedor, algo que está explícitamente prohibido en el PG API.
- Gracias a Alain por el análisis y el parche.
Qué hay de nuevo en la versión 7.4.9:
- parámetro del sistema global ProcessInternalMessages agregado
- Esto permite inyectar mensajes de estado de rsyslog en * otro * syslogd principal o el diario.
- corrección de errores: los parámetros de entrada de imuxsock no se aceptaron debido a un error de copiar y pegar. Gracias a Andy Goldstein por la solución.
- corrección de errores: potencial doble-libre en RainerScript, la comparación igual ocurre si el operando de la izquierda es un objeto JSON y el operando de la derecha es una cadena que no se convierte en un número (por ejemplo, puede ser otro JSON) objeto, probablemente el único caso que podría suceder en la práctica). Es poco probable que se active.
- corrección de errores: algunas comparaciones RainerScript Json (Variable) / string estaban equivocadas
Qué hay de nuevo en la versión 8.1.4:
- agregue la función exec_template () RainerScript
- imrelp: soporte para TCP KEEPALIVE agregado
- se vio afectada la dependencia de librep a 1.2.2 para admitir la nueva función KEEPALIVE
- Agregue directivas para especificar GID / UID numéricamente
- Las directivas ya presentes (FileOwner, FileGroup, DirOwner, DirGroup) traducen nombres a ID numéricos, que dependen de la información del usuario que esté disponible durante el inicio de rsyslog. Esto puede fallar si la información se obtiene a través de una red o de un servicio como SSSD. Las nuevas directivas proporcionan una forma de especificar los ID numéricos directamente y eludir la búsqueda.
- Gracias a Tomas Heinrich por el parche.
- corrección de errores: el procesamiento de la acción commitTransaction () no manejó adecuadamente las acciones suspendidas
- corrección de errores: el contador de estadísticas de omelasticsearch fail.es no se incluyó correctamente
Qué hay de nuevo en la versión 7.4.8:
- rsgtutil proporciona mejores mensajes de error en bloques de firmas inacabados
- corrección de errores: proteger contra los caracteres de control en los mensajes internos (de error)
- Gracias a Ahto Truu por alertarnos.
- corrección de errores: immark emitió mensajes bajo kern. = información en lugar de syslog. = información
- Tenga en cuenta que puede potencialmente romper las configuraciones existentes que se basan en el envío de immark como kern. = info. Desafortunadamente, no podemos dejar esto sin corregir, ya que nunca deberíamos emitir mensajes bajo el kern facilit
Qué hay de nuevo en la versión 7.4.7:
- corrección de errores: la limitación del espacio en el disco de la cola no funcionaba correctamente
- queue.maxdiskspace realmente inicializa queue.maxfilesize
- el tamaño total de los archivos de cola no se verificó con queue.maxdiskspace para las colas asistidas por disco.
- corrección de errores: Linux-kernel-como ratelimiter no funcionaba correctamente con todas las entradas (por ejemplo, no funcionaba con imdup). La razón fue que se usó el valor de PRI, pero eso requería un análisis del mensaje, que se realizó demasiado tarde.
- corrección de errores: las colas de discos crearon archivos en el directorio de trabajo incorrecto si el $ WorkDirectory se cambió varias veces, todas las colas solo usaron el último conjunto de valores.
- corrección de errores: la directiva heredada $ ActionQueueWorkerThreads no se respetó
- corrección de errores: segfault al inicio cuando se usan ciertas construcciones de script
- por ej. & quot; si no es $ msg ... & quot;
- corrección de errores: imuxsock: el parámetro de configuración UseSysTimeStamp no funcionó correctamente
- Gracias a Tomas Heinrich por alertarnos y enviarnos una sugerencia de solución.
- corrección de errores: $ SystemLogUseSysTimeStamp / $ SystemLogUsePIDFromSystem no funcionó
- Gracias a Tomas Heinrich por el parche.
- Comprobación mejorada de los parámetros de configuración de la cola al inicio
- corrección de errores: la llamada al conjunto de reglas con la cola asíncrona no usó la cola
- cierra: http://bugzilla.adiscon.com/show_bug.cgi?id=443
- corrección de errores: si se carga imtcp y no se configuran escuchas (lo cual es poco común), rsyslog se bloquea durante el cierre.
Qué hay de nuevo en la versión 8.1.2:
- Se agregó soporte para liblognorm1 - se obtienen mejoras en el rendimiento
- Soporte para jemalloc agregado a través de -enable-jemalloc
- Los valores predeterminados de la cola han cambiado:
- marca de agua alta ahora es dinámicamente el 90% del tamaño de la cola
- makr de bajo nivel de agua ahora es dinámicamente el 70% del tamaño de la cola
- queue.discardMark ahora es dinámicamente el 98% del tamaño de la cola
- queue.workerThreadMinimumMessage establecido en queue.size / num workers
- Para colas con muy bajo queue.maxSize (& lt; 100), & quot; emergencia & quot; se usarán los valores predeterminados.
- Tenga en cuenta que el sistema de compilación es experimental en esta etapa.
- Corrección de errores: las colas de discos crearon archivos en el directorio de trabajo incorrecto
- si el $ WorkDirectory se cambió varias veces, todas las colas solo usaron el último conjunto de valores.
- Corrección de errores: la directiva heredada $ ActionQueueWorkerThreads no se respetó
- Corrección de errores: mmrfc5424addhmac: & quot; clave & quot; el parámetro no se procesó correctamente
Comentarios que no se encuentran