Diferença entre / var / log / messages, / var / log / syslog e /var/log/kern.log?

68

Para efeitos de registro de kernel, por que eu tenho três níveis diferentes, não-inclusivos de logging entre /var/log/messages, /var/log/sysloge /var/log/kern.log?

Um estudante em uma universidade
fonte
Observe que / var / log / messages é o syslog em sistemas não-Debian / não-Ubuntu, como os sistemas RHEL ou CentOS normalmente.
Thomas Ward
Observe que journalctlestá sendo substituído lentamente syslogconforme o recurso para monitorar as mensagens do sistema.
WinEunuuchs2Unix

Respostas:

52

O Syslog é um recurso de registro padrão. Ele coleta mensagens de vários programas e serviços, incluindo o kernel, e as armazena, dependendo da instalação, em vários arquivos de log normalmente localizados em /var/log. Em algumas configurações do datacenter, existem centenas de dispositivos, cada um com seu próprio log; O syslog também é útil aqui. Basta configurar um servidor syslog dedicado, que coleta todos os logs de dispositivos individuais na rede. O Syslog também pode salvar logs em bancos de dados e outros clientes.

De acordo com o meu /etc/syslog.conf, o padrão /var/log/kern.logcaptura apenas as mensagens do kernel de qualquer nível de log; ou seja, a saída de dmesg.

/var/log/messagesem vez disso, visa armazenar mensagens valiosas, sem depuração e não críticas. Esse log deve ser considerado o log "atividade geral do sistema".

/var/log/syslog por sua vez, registra tudo, exceto as mensagens relacionadas à autenticação.

Outros registros insteresting padrão geridos pela syslog são /var/log/auth.log, /var/log/mail.log.

Em relação à sua pergunta: se você precisar apenas do log de mensagens do kernel, use o kern.logou call dmesg.

ulidtko
fonte
11
alguma referência a suas reivindicações, por favor?
Goaler444
8
@ Goaler444 man syslog.conf,.
Ulidtko 31/05
2
Observe que as entradas no buffer de anel do kernel (o que o dmesg lê) não o tornarão em nenhum arquivo / var / log por padrão, se forem gravadas por um processo de espaço do usuário. Você precisa definir $KLogPermitNonKernelFacility onna configuração do rsyslogd se quiser ver essas mensagens /var/log. Veja minha resposta em askubuntu.com/a/490900/297973 para obter mais detalhes.
Vanessa Phipps
7
importante notar também que o Ubuntu ( desde natty ) há usos mais longos /var/log/messages, e armazena tudo em/var/log/syslog
jackbravo
11
no Ubuntu 16.04 /var/log/syslogé de fato um superconjunto limpo /var/log/kern.logcom a ressalva de que é preciso dar conta de diferentes estratégias de rotação. Por exemplo, no meu sistema (configuração padrão inalterada), as mensagens de hoje e de ontem são mantidas em um único arquivo, /var/log/kern.logenquanto a maioria das mensagens de ontem syslogestá em /var/log/syslog.1.
Marcus Junius Brutus 12/11
12
  • O syslog contém todas as mensagens, exceto o tipo auth.
  • As mensagens contêm apenas mensagens não críticas genéricas. A categoria é info, noticeewarn
  • Para um registro completo, veja /var/log/sysloge/var/log/auth.log
  • AFAIK /var/log/kern.logcontém mensagens do kernel.
  • arquivos de log são apenas uma convenção enunciada em /etc/syslog.conf
  • leia syslog(3)para mais informações

Verifique esta página sobre as diferenças entre mensagens e syslog

diz /var/log/messages /var/log/syslog

Manish Sinha
fonte
11
O link que você forneceu está quebrado.
SLM
4
Duplicar o comentário A resposta de um ulidtko: importante notar também que o Ubuntu ( desde natty ) há usos mais longos /var/log/messages, e armazena tudo em/var/log/syslog
jackbravo