O que são os ficheiros log do Linux

Um ficheiro de log fornece uma linha de tempo sobre eventos que ocorrem no sistema operativo Linux relativamente ás aplicações e serviços.

Os ficheiros são guardados em texto simples para facilitar a sua leitura. Este tutorial fornece uma visão geral de onde encontrar esses ficheiros de log e como compreender os mesmos.

o que são os ficheiros log do linux

Onde podemos encontrar esses ficheiros

Os ficheiros de log do Linux são normalmente guardados na pasta /var/ logs . A pasta contém uma grande quantidade de ficheiros e pode-se obter informações para cada aplicação.

Por exemplo, quando eu executo o comando ls na minha pasta /var/logs , aqui estão alguns dos logs disponíveis.

  • kern.log
  • auth.log
  • bootstrap.log
  • alternatives.log
  • samba
  • cups
  • lightdm

Os últimos três nessa lista são pastas, mas eles contêm os ficheiros de log dentro dessas pastas. Como os ficheiros de log estão num formato de texto simples, é possível lê-los escrevendo o seguinte comando:

nano <logfilename>

O comando acima abre o ficheiro de log num editor chamado nano ( também pode ser usado o vim por exemplo). Se o ficheiro de log tiver um tamanho pequeno, é bom abrir o ficheiro de log e o editor, mas se o ficheiro de log for grande, provavelmente apenas haverá interesse em ler o final do log.

O comando tail permite a leitura das últimas linhas :

tail <logfilename>

Pode-se especificar quantas linhas a mostrar com a opção -n como exemplo:

tail -n <logfilename>

Claro que, se desejar ver o início do ficheiro, usa-se o comando head.

Logs do Registo do Sistema

Os seguintes ficheiros de log são os principais a procurar no Linux.

  • Authorisation Log
  • Daemon Log
  • Debug Log
  • Kernel Log
  • System Log

O log de autorização (auth.log) analisa o uso dos sistemas de autorização que controlam o acesso do utilizador.

O log daemon (daemon.log) analisa os serviços que são executados em segundo plano e que executam tarefas importantes. Os daemons tendem a não ter saída gráfica. O log de depuração fornece saída de depuração para as aplicações.

O log do kernel fornece detalhes sobre o kernel do Linux. O log do sistema contém a maioria das informações sobre o sistema e se a aplicação não tiver o seu próprio registo, as entradas provavelmente estarão neste ficheiro de log.

Analizar o conteúdo de um ficheiro log

Cada linha no log contém as seguintes informações:

  • Date
  • Hostname
  • Application/Service
  • Message

Por exemplo, uma linha no meu ficheiro de syslog é a seguinte:

jan 20 12:28:56 pedromagalhaes-parallels systemd[1]: starting cups scheduler

Isto diz me que o serviço de agendamento do cups foi iniciado na data : 12.28 no dia 20 de Janeiro.

Logs de Rotação

Os ficheiros de logs rodam periodicamente para que eles não se tornem muito grandes.

O utilitário de rotação do registo é responsável por rotear este ficheiros de log. Pode-se saber quando um registo foi trocado porque este será seguido por um número como auth.log.1, auth.log.2.

É possível alterar a frequência da rotação dos logs editando o ficheiro /etc/logrotate.conf
O seguinte mostra uma parte do meu ficheiro logrotate.conf:

#rotate log files
weekly
#keep 4 weeks worth of log files
rotate 4
#create new log files after rotating
create

Como se pode verificar os meus ficheiros de log trocam todas as semanas e existe 4 semanas de ficheiros de log guardados a qualquer momento. Quando um ficheiro de log troca, um novo é criado no seu lugar.

Cada aplicação pode ter a sua própria política de troca. Isso é obviamente útil porque o ficheiro syslog vai crescer mais rapidamente do que o ficheiro de log do cups.

As políticas de troca são mantidas no ficheiro /etc/logrotate.d. Cada aplicação que requerer a sua própria política de troca terá um ficheiro de configuração nesta pasta.

Por exemplo, a ferramenta apt possui um ficheiro na minha pasta logrotate.d da seguinte maneira:

/var/log/apt/history.log {
rotate 12
monthly
compress
missingok
notifempty
}

Basicamente este registo diz-me o seguinte. O log mantém 12 semanas de ficheiros de log e troca todos os meses (1 por mês). O ficheiro de log será compactado. Se nenhuma mensagem é escrita no registo (isto é, está vazio), isso é aceite. O log não trocará se estiver vazio.

Para alterar a política de um ficheiro, edite o ficheiro com as configurações que necessita e execute o seguinte comando:

logrotate -f
Siga a Leak no Google Notícias e no MSN Portugal.

Receba as notícias Leak no seu e-mail. Carregue aqui para se registar. É grátis!

Leia também