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.
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
Receba as notícias Leak no seu e-mail. Carregue aqui para se registar. É grátis!