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
Linux - Comandos para Gerenciamento de Logs
https://t.co/pTuxNeftzC
— Rodrigo Salvo (@TiRedes) 6 março 2014