Acompanhe-me pelos arquivos de log do Linux (por favor)

11

Eu apenas tentei carregar um arquivo de 2 MB no gedit e ele morreu silenciosamente em mim. Fiquei me perguntando se alguma coisa pode aparecer em um arquivo de log que pode me ajudar a diagnosticar isso: verifiquei sysloge descobri que ele estava com defeito. Ao fazer isso, percebi que realmente não sabia nada sobre como o log é organizado nas máquinas * nix.

Tudo o que sei no momento é

  1. Os logs geralmente são armazenados em /var/log/... existe algum outro lugar que eu deva conhecer?

  2. Estou familiarizado com logs específicos de aplicativos, como o apache.

  3. Eu entendo que dmesgé o log de inicialização e syslogé um log geral do sistema ... está certo? Edit: Bobby diz que dmesgtambém é de uso geral ... qual é a diferença entre os dois?

Então, alguém se importaria de me levar pelos logs mais úteis? Os dois logs mencionados no ponto final são os únicos logs gerais ? E quais são os números descolados no início das linhas dmesg? Segundos desde a inicialização?

Por favor, inclua em suas respostas tudo o que você acha que melhoraria meu entendimento aqui e me ajudaria a localizar anomalias!

TIA

Andy

Andy
fonte
dmesgou /var/log/messagesé um log de mensagens geral, não apenas para a inicialização. Além disso, iniciar um aplicativo a partir do terminal pode ajudar a depurar um problema.
Bobby
Sim, eu notei que, se eu iniciar as coisas pela linha de comando, geralmente recebo o vômito de aplicativos voltando. Se eu iniciar o mesmo programa através de um iniciador gráfico, esse texto será perdido? É uma boa prática para um aplicativo gráfico enviar mensagens para stdout?
Andy
Se você iniciar um programa graficamente, stdout e stderr serão conectados a lugar nenhum (ou / dev / null, nesse caso), o que significa que todas as mensagens serão perdidas. Se você precisar, inicie na linha de comando ou redirecione a saída para um arquivo configurando o comando no arquivo .desktop para algo como isto: "some_command &> some_logfile".
Petersohn
A verdadeira questão é se eu preciso ou não! A maioria dos programas deixa resultados mais úteis nos logs? O pessoal avançado do Linux normalmente usa o stdoutpara ajudar a diagnosticar problemas com o software (não os deles)? (Basicamente, eu estou familiarizado com a forma de agarrar o stdout, mas não com o quão útil a saída pode realmente ser ...)
Andy
Só inicio aplicativos no terminal se tiver problemas (recuperando algumas informações de depuração e mensagens de erro que podem ter sido engolidas pela GUI). E sim, é uma boa prática e é o comportamento padrão de todos os aplicativos no Linux.
Bobby

Respostas:

12

Muito obrigado ao Pulse por recomendar https://help.ubuntu.com/community/LinuxLogFiles . Recortei alguns trechos e deixei de fora como usar syslogde outros comandos essenciais para deixar este pequeno guia para referência futura. Este é de um site do Ubuntu e não sei quanto vale para outras distribuições.

Logs do sistema

Os logs do sistema lidam principalmente com o funcionamento do sistema Ubuntu, não necessariamente com aplicativos adicionais adicionados pelos usuários. Os exemplos incluem mecanismos de autorização, daemons do sistema, mensagens do sistema e o próprio log do sistema abrangente, syslog.

Log de autorização: /var/log/auth.log

O Registro de Autorização rastreia o uso de sistemas de autorização, os mecanismos para autorizar usuários que solicitam senhas, como o sistema Pluggable Authentication Module (PAM), o sudocomando, logins remotos sshdetc.

Registro de Daemon: /var/log/daemon.log

O log do daemon contém informações sobre os daemons de aplicativos e sistemas em execução, como o daemon do Gnome Display Manager gdm, o daemon Bluetooth HCI hcidou o daemon do banco de dados MySQL mysqld.

Log de depuração: /var/log/debug

O log de depuração fornece mensagens detalhadas de depuração do sistema Ubuntu e aplicativos que se registram syslogdno nível DEBUG.

Log do Kernel: /var/log/kern.log

O log do kernel fornece um log detalhado de mensagens do kernel do Ubuntu Linux. Essas mensagens podem ser úteis para solucionar problemas de um kernel novo ou personalizado, por exemplo.

Buffer do anel do kernel: dmesg

O buffer do anel do kernel não é realmente um arquivo de log em si, mas uma área do kernel em execução. Você pode consultar as mensagens de inicialização do kernel por meio do dmesgutilitário. Para ver as mensagens, use este:

dmesg | less

Por padrão, o script de inicialização do sistema também /etc/init.d/bootmisc.shenvia todas as mensagens de inicialização para o arquivo /var/log/dmesg.

Registro de Mensagens: /var/log/messages

O log de mensagens contém mensagens informativas de aplicativos e recursos do sistema. Esse log é útil para examinar a saída de mensagens de aplicativos e recursos do sistema que fazem logon no syslog/ sysklogdaemon no nível INFO.

Registro do sistema: /var/log/syslog

O log do sistema normalmente contém a maior quantidade de informações por padrão sobre o seu sistema Ubuntu. Pode conter informações que outros logs não contêm. Consulte o Log do sistema quando não conseguir localizar as informações de log desejadas em outro log.

Logs de aplicativos

Muitos aplicativos também criam logins /var/log. Se você listar o conteúdo do seu /var/logsubdiretório, verá nomes familiares, como a /var/log/apache2representação dos logs do servidor da web Apache 2 ou /var/log/sambaque contém os logs do servidor Samba.

Logs do servidor HTTP Apache: /var/log/apache2

A instalação padrão do Apache2 no Ubuntu cria um subdiretório de log. Dentro deste subdiretório, existem dois arquivos de log com dois propósitos distintos:

  • /var/log/apache2/access.log - registros de todas as páginas veiculadas e todos os arquivos carregados pelo servidor web.
  • /var/log/apache2/error.log - registros de todas as condições de erro relatadas pelo servidor HTTP

Logs do sistema de impressão CUPS: /var/log/cups/error_log

O Common Unix Printing System (CUPS) usa o arquivo de log padrão /var/log/cups/error_logpara armazenar mensagens informativas e de erro.

Registro do caçador Rootkit: /var/log/rkhunter.log

O utilitário Rootkit Hunter ( rkhunter) verifica seu sistema Ubuntu em busca de backdoors, sniffers e rootkits, que são todos sinais de comprometimento do seu sistema.

Logs do servidor SMB Samba: /var/log/samba

O servidor SMB (Server Message Block Protocol), Samba, é popularmente usado para compartilhar arquivos entre o seu computador Ubuntu e outros computadores que suportam o protocolo SMB. O Samba mantém três tipos distintos de logs no subdiretório:

  • log.nmbd - mensagens relacionadas à funcionalidade NETBIOS sobre IP do Samba (o material da rede)
  • log.smbd - mensagens relacionadas à funcionalidade SMB / CIFS do Samba (o material de compartilhamento de arquivos e impressões)
  • log.[IP_ADDRESS] - mensagens relacionadas a solicitações de serviços a partir do endereço IP contido no nome do arquivo de log.

Log do servidor X11: /var/log/Xorg.0.log

O servidor X11 Windowing padrão em uso com o Ubuntu é o servidor Xorg X11. Esse log é útil para diagnosticar problemas com seu ambiente X11.

Logs não legíveis por humanos

Alguns arquivos de log encontrados no /var/logsubdiretório foram projetados para serem legíveis por aplicativos, não necessariamente por humanos. Alguns exemplos a seguir.

Log de falhas de logon: faillog

O log de falhas de logon localizado em /var/log/faillogé realmente projetado para ser analisado e exibido pelo faillogcomando.

Último registro de logins: lastlog

O último logon em log /var/log/lastlognormalmente não deve ser analisado e examinado por humanos, mas deve ser usado em conjunto com o lastlogcomando.

Log de Registros de Logon: who

O arquivo /var/log/wtmpcontém registros de login, mas, diferentemente do /var/log/lastlogdescrito acima, /var/log/wtmpnão é usado para mostrar uma lista de logins recentes, mas é usado por outros utilitários, como o whocomando para apresentar uma lista de usuários conectados no momento.

Andy
fonte
1

O syslog (ou melhor, syslog.d) é um sistema de registro responsável por gravar a maioria dos registros /var/log. Existem outros projetos semelhantes, como o syslog-ng

system.log é apenas um arquivo nomeado especificamente para o qual o syslog grava

dbr
fonte
Obrigado pela resposta: eu estava mais interessado em uma imagem geral do log do Linux. Meu exemplo com o syslog foi apenas um preâmbulo para explicar como cheguei a essa pergunta geral.
Andy
0

Você não diz onde está, mas o Linux Format publicou um artigo na edição 132, cobrindo arquivos de log. Você precisará encontrar alguém com uma cópia ou comprar uma edição posterior para se apossar dela.

Amos
fonte
Estou no Reino Unido, mas ainda assim espero obter as informações sem gastar dinheiro (:
Andy
2
Ainda estou aprendendo linux e achei esta uma página útil de informações help.ubuntu.com/community/LinuxLogFiles
Pulse
Foi exatamente o que eu estava procurando!
Andy