¿Dónde se encuentra el búfer de anillo del núcleo en relación con rsyslog?

9

¿Es rsyslogsolo una capa de abstracción en la parte superior del búfer de anillo del núcleo? ¿O es el búfer de anillo del núcleo su propia entidad y rsyslogla interacción es como la de cualquier otra "aplicación"?


fuente

Respuestas:

6

Aunque varios documentos (incluidos man dmesg) se refieren a él como "el búfer de anillo del núcleo", podría ser mejor referirse a él como el búfer de registro del núcleo, ya que "búfer de anillo" es un término genérico y creo que el núcleo también usa anillo amortiguadores para varias cosas completamente no relacionadas. El "printk buffer" también es apropiado, después de la función de espacio del kernel utilizado para escribir en él.

De todos modos, reside en el espacio del kernel y se proporciona una interfaz de lectura y una interfaz de /proc/kmsglectura y escritura /dev/kmsg. Entonces, si como root vas:

echo "Hello Kernel!" > /dev/ksmg

Lo verá si entonces cat /dev/ksmg(probablemente no verá que esto aparezca en ningún registro; sin embargo, vea el comentario de Matthew Phipps a continuación por una posible razón). Esta es una salida sin formato y no se ve exactamente como las cosas que ves desde dmesgo en tus archivos de registro. Hay un poco de documentación sobre esto proporcionada con la fuente del núcleo. Se recomienda leer /proc/kmsg(no es lo mismo que /dev/ksmg) si (r) syslog se está ejecutando.

Rsyslog es una de una serie de implementaciones de syslog comúnmente utilizadas en Linux. Estas son aplicaciones de área de usuario que generan mensajes del núcleo /proc/ksmgy mensajes de otros procesos de tierra de usuario a través de un socket /dev/log.

encerrada dorada
fuente
2
Debo señalar que rsyslog tiene $ KLogPermitNonKernelFacility desactivado de manera predeterminada, por lo que rsyslog ignorará los mensajes que no sean del núcleo de / proc / kmsg a menos que active esa opción. Esto puede ser realmente confuso, ya que Upstart, por ejemplo, se registra en / proc / kmsg con una función que no es del núcleo.
Vanessa Phipps