Où se situe le tampon d'anneau du noyau par rapport à rsyslog?

9

Est-ce rsyslogjuste une couche d'abstraction au-dessus du tampon d'anneau du noyau? Ou bien le noyau du tampon en anneau est-il sa propre entité et l' rsysloginteraction est-elle comme celle de toute autre "application"?


la source

Réponses:

6

Bien que divers documents (y compris man dmesg) le désignent comme "le tampon d'anneau du noyau", il pourrait être préférable de le désigner comme le tampon de journal du noyau, car "le tampon d'anneau" est un terme générique et je crois que le noyau utilise également l'anneau tampons pour diverses choses complètement indépendantes. Le "tampon printk" est également approprié, après la fonction d'espace du noyau utilisée pour y écrire.

Quoi qu'il en soit, il réside dans l'espace du noyau et une interface de lecture est fournie via /proc/kmsget une interface de lecture-écriture via /dev/kmsg. Donc, si en tant que root, vous allez:

echo "Hello Kernel!" > /dev/ksmg

Vous le verrez si vous le faites alors cat /dev/ksmg(vous ne le verrez probablement pas dans les journaux, cependant - voir le commentaire de Matthew Phipps ci-dessous pour une raison possible). Il s'agit d'une sortie brute et ne ressemble pas exactement à ce que vous voyez dans dmesgou dans vos fichiers journaux. Il y a un peu de documentation à ce sujet fournie avec la source du noyau. La lecture à partir de /proc/kmsg(différent de /dev/ksmg) est déconseillée si (r) syslog est en cours d'exécution.

Rsyslog est l'une des nombreuses implémentations syslog couramment utilisées sur Linux. Ce sont des applications userland que les messages du noyau source de /proc/ksmget messages provenant d' autres processus userland via une prise, /dev/log.

boucle d'or
la source
2
Je souligne que rsyslog a $ KLogPermitNonKernelFacility désactivé par défaut, c'est pourquoi les messages non-noyau de / proc / kmsg seront ignorés par rsyslog à moins que vous n'activiez cette option. Cela peut en fait devenir très déroutant, car Upstart, par exemple, se connecte à / proc / kmsg avec une fonction non-noyau.
Vanessa Phipps du