Comandos para Gerenciamento de Logs no Linux

*Comandos baseados na distribuição Debian.

Gerar logs de utilização do shell.

#script
...Comandos
#exit
*Os comandos são armazenados em um arquivo chamado "typescript" no home do usuário.

*Com script -a nome_arquivo, você pode armazenar as informações em um arquivo personalizado no home do usuário.

Verificar os logs de utilização do shell

# cat typescript

Verificar os últimos logins realizados no sistema

#lastlog

Verificar os logs de inicialização do sistema

cat /var/log/dmesg

Verificar os logs com as últimas alterações no servidor de e-mail

tail /var/log/mail.log

Verificar os últimos logs de mensagens do sistema

tail /var/log/messages

Verificar em tempo real os últimos logs de mensagens do sistema

tail -f /var/log/messages

Arquivo utilizado para realizar a configuração dos logs do sistema

/etc/rsyslog.conf

 

Exemplo de configuração do rsyslog para administração de logs do sistema (arquivo: /etc/rsyslog.conf)

# vi /etc/rsyslog.conf

#Carregamento de módulo para prover suporte para o logging local via comando logger
$ModLoad imuxsock       
#Carregamento de módulo para prover suporte para o log do kernel   
$ModLoad imklog                                                                              
#Utiliza o formato padrão para o timestamp de arquivos
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat  
#Cria arquivos de log com o usuário rsalvo como dono   
$FileOwner rsalvo                                                                              
#Cria arquivos de log com o grupo adm
$FileGroup adm
#Cria arquivos com a permissão 0600                                         
$FileCreateMode 0600     
#Cria diretórios com a permissão 0700                         
$DirCreateMode 0700      
#Mascara do processo do rsyslog
$Umask 0022
#Inclui um outro diretório de configuração                 
$IncludeConfig      /etc/rsyslog.d/*.conf                             
#Todas mensagens de segurança serão gravadas em /var/log/auth.log
authpriv.*          /var/log/auth.log   
#Todas mensagens de tarefas cron ou at serão gravadas em /var/log/cron.log
cron.*              /var/log/cron.log  
#Todas mensagens de outros daemons serão gravadas em /var/log/daemon.log
daemon.*            /var/log/daemon.log     
#Todas mensagens relativas ao ftp serão gravadas em /var/log/ftp.log   
ftp.*               /var/log/ftp.log     
#Todas mensagens relativas ao kernel serão gravadas em /var/log/kern.log        
kern.*              /var/log/kern.log    
#Todas mensagens relativas a impressão serão gravadas em /var/log/lpr.log
lpr.*               /var/log/lpr.log     
#Todas mensagens relativas a e-mail serão gravadas em /var/log/mail.log
mail.*              /var/log/mail.log         
#Mensagens de e-mail com nível de informação (info) serão gravadas em /var/log/mail.info  
mail.info           /var/log/mail.info        
#Mensagens de e-mail com nível de aviso (warn) serão gravadas em /var/log/mail.warn
mail.warn           /var/log/mail.warn         
#Mensagens de e-mail com nível de erro (err) serão gravadas em /var/log/mail.err
mail.err            /var/log/mail.err
#Todas mensagens internas do syslog serão gravadas em /var/log/kern.log
syslog.*            /var/log/syslog              
#Todas mensagens relativas a usuário serão gravadas em /var/log/user.log  
user.*              /var/log/user.log    
#Todas mensagens (recursos+níveis) serão gravadas em /var/log/all.log
*.*                 /var/log/all.log                 
#Todas mensagens com nível de emergência serão enviadas para o shell de qualquer usuário
*.emerg            *
#Todas mensagens com nível de informação serão enviadas para o shell do usuário rsalvo              
*.info             rsalvo         
#Todas mensagens (recursos+níveis) serão enviados por TCP para o servidor 192.168.1.5 na porta 514       
*.*                @@192.168.1.5:514           
#Todas mensagens (recursos+níveis) serão enviados por UDP para o servidor 192.168.1.6 na porta 6050
*.*                @192.168.1.6:6050  
#Todas mensagens (recursos) com prioridade menor ou igual a prioridade de erro (err) serão gravadas em /var/log/err.log                    
*.!err           /var/log/err.log

 

Arquivo para realizar a configuração de rotacionamento de logs

/etc/logrotate.conf

Diretório para inserir arquivos para o rotacionamento de logs

/etc/logrotate.d/

 

Exemplo de configuração personalizada de rotação de logs.

Neste o rotacionamento será realizado nos logs do "Apache" localizados dentro do diretório "/var/log/apache2"

#vi  /etc/logrotate.d/apache2
/var/log/apache2/*.log {

    mail rsalvo@ti-redes.com.br #Envia um e-mail
    notiempty                   #Não realiza o rotacionamento se o arquivo estiver vazio
    missingok                   #Não emite mensagens de erro se o arquivo a ser rotacionado não existir
    create 0400 rsalvo log  #Cria arq. após o rotacionamento dos antigos, com perm. 0400 com usuário rsalvo no grupo log
    weekly                       #Rotacionamento será realizado semanalmente
    maxage 10                 #Rotação máxima de até 10 dias, após isto o arquivo será removido
    rotate 5                      #Terá somente 5 arquivos rotacionados, descartando os mais antigos
    dateext                       #Adiciona data no sufixo dos arquivos rotacionados
    size 1M                       #Rotacionamento só acontecerá quando os arquivos forem acima de 1M
    compress                    #Comprime os arquivos rotacionados
    postrotate                   #Script para enviar um sinal HUP para o daemon httpd
             /etc/init.d/apache2 reload > /dev/null
    endscript
}

 

Autor: Rodrigo Salvo

Comentários via Twitter