logar para / dev / xconsole não funciona corretamente

5

Estou usando rsyslog e desejo enviar logs para /dev/xconsole .

Eu tenho seguido a linha relevante em /etc/rsyslog.conf

*.*;cron.!=info;mail.!=info   |/dev/xconsole

Isso funciona apenas parcialmente. Parece que /dev/xconsole pode armazenar apenas 64kB cca. Quando o buffer estiver cheio, novos logs serão perdidos

Eu fiz o seguinte teste:

1) add to '/etc/rsyslog.conf'
*.*;cron.!=info;mail.!=info    /tmp/aaa

2) reboot

3) cat /dev/xconsole > /tmp/bbb

4) diff /tmp/aaa /tmp/bbb

Agora, aaa e bbb devem ser o mesmo. Mas eles não são. aaa contém logs completos, enquanto bbb está faltando 229 últimas linhas

Como posso resolver este problema? O tamanho de /dev/xconsole é realmente limitado? Posso aumentar o tamanho?

    
por Martin Vegter 13.09.2015 / 19:18

1 resposta

1

Tecnicamente, /dev/xconsole não tem tamanho porque é um pipe nomeado também conhecido como . Mas o kernel Linux fornece cada objeto, quando em uso, com um buffer, 64KiB (no Linux3.x) ou 4KiB (no Linux2.x). Não no sistema de arquivos, apenas na memória. Consulte o link e link para mais informações.

Se o aplicativo (xconsole) não ler seus dados a tempo, o buffer ficará cheio; O syslog não pode escrever lá e, evitando ser bloqueado, elimina mensagens.

    
por 13.09.2015 / 20:26