Onde fica o buffer de anel do kernel em relação ao rsyslog?

Onde fica o buffer de anel do kernel em relação ao rsyslog?

É rsyslogapenas uma camada de abstração no topo do buffer circular do kernel? Ou o buffer de anel do kernel é sua própria entidade e rsysloga interação é como a de qualquer outro "aplicativo"?

Responder1

Embora várias partes da documentação (incluindo man dmesg) se refiram a ele como "o buffer de anel do kernel", talvez seja melhor referir-se a ele como o buffer de log do kernel, já que "buffer de anel" é um termo genérico e acredito que o kernel também usa anel buffers para várias coisas completamente não relacionadas. O "buffer printk" também é apropriado, após a função de espaço do kernel usada para gravar nele.

De qualquer forma, ele reside no espaço do kernel e uma interface de leitura é fornecida via /proc/kmsge uma interface de leitura-gravação via /dev/kmsg. Então, se como root você for:

echo "Hello Kernel!" > /dev/ksmg

Você verá isso cat /dev/ksmg(no entanto, provavelmente não verá isso aparecendo em nenhum registro - veja o comentário de Matthew Phipps abaixo por um possível motivo). Esta é a saída bruta e não se parece exatamente com o que você vê dmesgnos arquivos de log. Há um poucoum pouco de documentaçãosobre isso fornecido com a fonte do kernel. A leitura de /proc/kmsg(diferente de /dev/ksmg) é recomendada se (r)syslog estiver em execução.

Rsyslog é um de váriosregistro de sistemaimplementações comumente usadas no Linux. Esses são aplicativos de usuário que fornecem mensagens do kernel /proc/ksmge mensagens de outros processos de usuário por meio de um soquete, /dev/log.

informação relacionada