Introdução ao registro do sistema no Linux

Os logs do sistema no Linux fornecem uma grande visão das atividades principais em seu PC ou infraestrutura de servidor. Eles são essenciais para manter seu sistema estável e seguro. Os logs do sistema também fornecem a oportunidade de auditar várias atividades que ocorreram no passado.

Este guia apresenta o sistema de registro no Linux. Todas as principais atividades realizadas pelos aplicativos e serviços do sistema central são registradas na forma de logs e no centro de tudo isso está um sistema conhecido como Syslog .

Por que os registros do sistema são importantes?

Imagine que o seu PC Linux está apresentando erros de inicialização recentemente ou você suspeita que alguém está tentando fazer logon no seu sistema. Esses eventos podem ser facilmente rastreados à medida que seu sistema rastreia tais atividades na forma de registros.

No Linux, os logs do sistema são registros legíveis por humanos das principais atividades do sistema realizadas por serviços, daemons e aplicativos do sistema. Algumas das atividades importantes registradas em uma máquina Linux incluem logins de usuários e falhas de login, inicialização do sistema operacional, falhas do sistema, etc.

O Linux tem um serviço dedicado conhecido como Syslog que é especificamente responsável por criar logs por meio do System Logger. O Syslog é composto por vários componentes, como o Formato de Mensagem Syslog, o Protocolo Syslog e o Daemon Syslog: popularmente conhecido como syslogd ou rsyslogd nas versões mais recentes do Linux.

O diretório / var / log armazena a maioria dos logs em um sistema Linux. O diretório / var contém principalmente arquivos e diretórios variáveis, ou seja, dados que mudam frequentemente. Não existe um formato padrão para os logs, mas, no mínimo, os logs devem conter um carimbo de data / hora e os detalhes da atividade que está sendo registrada.

Listando arquivos gerenciados por syslog

Todos os logs gerais em seu sistema são armazenados no arquivo / var / log / syslog em distros Linux baseadas em Debian . Outras distribuições usam o arquivo / var / log / messages para armazenar logs.

Nota : Diferentes distros Linux podem usar arquivos diferentes para registrar mensagens específicas. Por exemplo, em distros Linux baseadas em Debian, o arquivo /var/log/auth.log contém logs de autenticação, enquanto os sistemas RedHat usam o arquivo / var / log / secure para armazenar tais logs.

Para saber mais sobre todos os arquivos responsáveis ​​pelo armazenamento de logs, você pode dar uma olhada no diretório /etc/rsyslog.d , que contém arquivos de configuração Syslog importantes. Por exemplo, para listar arquivos de log padrão, você pode dar uma olhada no arquivo /etc/rsyslog.d/50-default.conf .

 cat /etc/rsyslog.d/50-default.conf

O arquivo mostra os nomes dos aplicativos do sistema e os arquivos de log correspondentes associados a eles.

Como inspecionar arquivos de log

A maioria dos arquivos de log são bem longos. Como tal, um dos comandos mais importantes para inspecionar arquivos de log no Linux é o comando less , que produz o conteúdo do arquivo em seções facilmente navegáveis.

Por exemplo, para visualizar o conteúdo do arquivo / var / log / syslog , use o comando less conforme a seguir.

 less /var/log/syslog

Use a tecla F do teclado para rolar para frente e a tecla B para rolar para trás.

O arquivo syslog contém logs de algumas das atividades mais críticas, como erros do sistema e atividades de serviço em seu sistema.

Se você deseja apenas inspecionar os logs mais recentes, pode usar o comando tail , que lista apenas as últimas 10 mensagens de log por padrão.

 tail /var/log/syslog

Você também pode especificar o número de mensagens de log que deseja visualizar com o utilitário tail. O comando assume o seguinte formato tail -n file-to-inspect, onde n é o número de linhas que você deseja visualizar. Por exemplo, para visualizar as últimas 7 mensagens de log no arquivo syslog, você pode usar o seguinte comando.

 tail -7 /var/log/syslog

Para visualizar os logs mais recentes em tempo real, você pode usar o comando tail com a opção -f conforme a seguir.

 tail -f /var/log/syslog

Outro comando importante para inspecionar mensagens de log é o comando head . Ao contrário do comando tail, que exibe as últimas mensagens de log em um arquivo, o comando head mostra as primeiras linhas de um arquivo. Por padrão, o comando produzirá apenas as primeiras 10 linhas.

 head /var/log/syslog

Logs de autenticação

Se quiser encontrar informações sobre logins de usuários em seu sistema, você pode dar uma olhada no arquivo /var/log/auth.log . Informações relacionadas a logins de usuários, falhas de login e o método de autenticação usado podem ser encontradas aqui.

Logs do kernel

Quando seu sistema Linux inicializa, dados importantes sobre o buffer de anel do kernel são registrados no arquivo / var / log / dmesg . Outras informações sobre drivers de hardware, kernel e status de inicialização são registradas neste arquivo.

Em vez de inspecionar as mensagens de log de inicialização com o comando less ou cat, você pode usar dmesg para ver esses arquivos de log.

 dmesg

Nota : As mensagens de log no arquivo / var / log / dmesg são redefinidas sempre que o sistema é inicializado.

Outro arquivo de log importante relacionado aos problemas do kernel é o /var/log/kern.log .

Registro de mensagens com o comando logger

Além de apenas visualizar mensagens de log registradas por aplicativos ou serviços do sistema, o sistema de log no Linux também permite que você registre mensagens manualmente usando o comando logger . Um usuário pode registrar mensagens no arquivo / var / log / syslog por padrão. Por exemplo, para registrar uma mensagem simples, você pode executar o seguinte comando.

 logger hello world!

Agora você pode usar o comando tail para ver a mensagem registrada recentemente.

 tail -3 /var/log/syslog

Você pode até registrar a saída de outros comandos com o comando logger, incluindo o comando dentro do caractere de retrocesso ( ` ).

 logger `whoami`

Você também pode usar o comando logger em seus scripts para registrar eventos importantes. Use as páginas do manual para aprender mais sobre o comando logger e suas opções.

 man logger

Gerenciando arquivos de log

Como você deve ter notado, muitos dados são registrados em uma máquina Linux. Portanto, você precisa ter um sistema adequado para gerenciar o espaço em disco usado pelos arquivos de log. Além disso, ter um sistema de registro garante que você encontre facilmente as mensagens de registro que está procurando. A solução do Linux para esse problema é o utilitário logrotate .

Use o utilitário logrotate para configurar qual arquivo de log manter, por quanto tempo você deseja mantê-los, gerenciar o envio de logs e como compactar arquivos de log antigos, etc.

Você pode configurar o utilitário logrotate com qualquer editor de texto de sua escolha. O arquivo de configuração do logrotate pode ser encontrado em /etc/logrotate.conf .

Mantendo seu sistema robusto com registros

Os logs do sistema no Linux são uma ótima maneira de obter uma visão das principais atividades que acontecem em seu sistema e que podem incluir a segurança e a estabilidade geral do sistema. Saber como visualizar e analisar mensagens de log em um servidor ou PC ajudará muito a manter seu sistema robusto.

Às vezes, os usuários acham difícil usar certos aplicativos em seus sistemas devido à baixa disponibilidade dos recursos do sistema. Em tais situações, eliminar programas que não respondem pode liberar espaço na memória principal do sistema.