O que são arquivos de log do Linux e como você pode lê-los?

Um arquivo de registro fornece uma linha do tempo de eventos para o Linux sistema operacional, aplicativos e serviços. Os arquivos são armazenados em texto simples para facilitar a leitura.

Onde você pode encontrar arquivos de log do Linux?

Pasta de log do Linux

Linux os arquivos de log são normalmente armazenados na pasta /var/log. A pasta contém um grande número de arquivos que oferecem informações detalhadas para cada aplicativo.

Como posso abrir arquivos .LOG?

Como os arquivos de log estão no formato de texto simples, leia-os usando qualquer editor de texto. A maioria das distribuições oferece nano, que oferece uma interface fácil de usar:

nano 

Se o arquivo de log for pequeno, não há problema em abri-lo em um editor, mas se o arquivo de log for grande, provavelmente você só está interessado em ler o final do log. o comando de cauda exibe as últimas linhas de um arquivo. Especifique quantas linhas mostrar com o -n switch (especificando o número de linhas) da seguinte forma:

cauda -n x 

Para ver o início do arquivo, use o cabeça comando.

Logs muito grandes geralmente são compactados. Você os verá em / var / log com um sufixo .GZ. Para visualizar o log, descompacte o arquivo usando o utilitário de sua escolha.

Registros do sistema chave

Os arquivos de log a seguir são os principais a serem procurados no Linux.

  • Autorização: Rastreia o uso dos sistemas de autorização que controlam o acesso do usuário.
  • Daemon: Rastreia serviços executados em segundo plano, executando tarefas importantes. Daemons tendem a não ter saída gráfica, então você precisará ler o arquivo de log para entender o desempenho do daemon.
  • Depurar: Fornece saída de depuração para aplicativos.
  • Núcleo: Mostra informações sobre o kernel, incluindo erros.
  • Sistema: Contém a maioria das informações sobre o seu sistema; se o seu aplicativo não tiver seu próprio log, as entradas provavelmente estarão neste arquivo de log.

Analisando o conteúdo de um arquivo de log

A imagem abaixo mostra o conteúdo dos últimos 50 arquivos em um arquivo de log do sistema (syslog).

Log syslog do Linux

Cada linha do registro contém as seguintes informações:

  • Encontro
  • nome de anfitrião
  • Aplicativo / Serviço
  • Mensagem

Por exemplo, uma linha no arquivo syslog é a seguinte:

20 de janeiro 12:28:56 gary-virtualbox systemd [1]: iniciando o agendador do cups

Isso indica que o serviço de agendamento de cups foi iniciado às 12h28 do dia 20 de janeiro.

Logs rotativos

Os arquivos de log giram periodicamente para que não fiquem muito grandes.

o log girar utilitário é responsável por girar os arquivos de log. Você pode saber quando um registro foi girado porque ele será seguido por um número como auth.log.1, auth.log.2.

É possível alterar a frequência de rotação do log editando o arquivo /etc/logrotate.conf.

O seguinte mostra um exemplo de um arquivo logrotate.conf:

#rotate arquivos de log
semanalmente
#manter 4 semanas de arquivos de log
girar 4
#criar novos arquivos de log após girar
Criar
Configuração de logrotate Linux

Esses arquivos de log são alternados a cada semana, e há quatro semanas de arquivos de log mantidos a qualquer momento. Quando um arquivo de log gira, um novo é criado em seu lugar.

Cada aplicativo pode ter sua própria política de rotação. As políticas de rotação são mantidas em /etc/logrotate.d. Cada aplicativo que requer sua própria política de rotação terá um arquivo de configuração nesta pasta.

Por exemplo, a ferramenta apto tem um arquivo na pasta logrotate.d como segue:

/var/log/apt/history.log {
girar 12
por mês
comprimir
Missok
notifempty
}

Basicamente, este registro informa o seguinte: O registro manterá 12 semanas de arquivos de registro e será alternado a cada mês (um por mês). O arquivo de log será compactado. Se nenhuma mensagem for gravada em um log (ou seja, se estiver vazio), isso é aceitável. O log não girará se estiver vazio.

Para corrigir a política de um arquivo, edite o arquivo com as configurações necessárias e execute o seguinte comando:

logrotate -f