• Nenhum resultado encontrado

Programas úteis para monitoração e gerenciamento de arquivos de logsde logs

No documento Guia Foca GNU/Linux Gleydson Mazioli da Silva (páginas 103-106)

Arquivos e daemons de Log

6.4 Programas úteis para monitoração e gerenciamento de arquivos de logsde logs

6.4.1 logcheck

É um programa usado para enviar um e-mail periodicamente ao administrador do sistema (através docronou outro daemon com a mesma função) alertando sobre os eventos que ocor-reram desde a última execução do programa. As mensagens dologchecksão tratadas por arquivos em/etc/logchecke organizadas em categorias antes de ser enviada por e-mail, isto garante muita praticidade na interpretação dos eventos ocorridos no sistema.

As categorias são organizadas da mais importantes para a menos importante, e vão desde “Hacking em andamento” (providências devem ser tomadas imediatamente para resolver a situação) até “eventos anormais do sistema” (mensagens de inicialização, mensagens dos dae-mons do sistema, etc.).

O tipo de mensagem que será incluída/ignorada nos logs enviados podem ser personalizadas pelo administrador do sistema através dos arquivos/diretórios dentro de/etc/logcheck. Nomes de arquivos/diretórios contendo a palavra “ignore” são usados para armazenar ex-pressões regulares que NÃO serão enviadas pelologcheck. É permitido o uso de expressões regularesperl/sedpara especificar as mensagens nos arquivos de log.

6.4.2 logrotate

Usado para fazer backups dos logs atuais do sistema (programado viacron, ou outro daemon com a mesma função) e criando novos arquivos de logs que serão usados pelo sistema. Opcio-nalmente os arquivos de logs antigos serão compactados para diminuir a utilização de espaço em disco ou enviados por e-mail ao administrador. A rotação dos arquivos de logs proporci-ona maior agilidade quando precisamos encontrar algum detalhe útil (que seria mais difícil de se achar em um arquivo de log de 10MB ou maior).

A rotação de logs é feita de acordo com o tamanho do arquivo de logs especificado, mas a opção -f pode ser usada para “forçar” a rotação de logs. A opção -dfornece mais detalhes sobre o que o logrotate está fazendo. Seu arquivo principal de configuração é o /etc /logrotate.conf. Um modelo deste tipo de arquivo é o seguinte:

#### Estas opções afetam globalmente o funcionamento do logrotate # roda os arquivos de log semanalmente

weekly

# mantém as últimas 4 cópias de logs anteriores rotate 4

# Erros de não existência dos logs são enviados para o usuário root mail root

# Cria novos arquivos de log (vazios) após rodar os antigos create

# Descomente isso se desejar seus arquivos de logs compactados. O parâmetro # delaycompress é usado para que o primeiro log rodado seja mantido

# descompactado compress

delaycompress

# Executam os scripts em prerotate e postrotate a cada vez que os logs # forem rodados.

nosharedscripts

# Definimos um diretório que poderá conter definições individuais para # diversos serviços no sistema, eles podem ir neste arquivo mas

# diversas configurações individuais podem deixar a interpretação # deste arquivo confusa.

include /etc/logrotate.d

# Define opções específicas para a rotação mensal de /var/log/wtmp, o novo arquivo # de log somente será rodados caso tenha mais de 5MB (size 5M), será criado

# com a permissão 0664 e pertencerá ao usuário root grupo utmp

# (create 0664 root utmp) e será mantida somente uma cópia do log anterior. # (rotate 1)

/var/log/wtmp { monthly

create 0664 root utmp size 5M

rotate 1 }

# Define opções específicas para a rotação mensal de /var/log/btmp, se o arquivo # não existir não será necessário gerar alertas (missinkok) que serão enviados # ao administrador. O novo arquivo criado deverá ter a permissão 0664 com o # dono root e grupo utmp (create 0664 root utmp) e será

# mantida somente uma cópia do log anterior. /var/log/btmp {

missingok monthly

create 0664 root utmp rotate 1

}

# Define opções específicas para a rotação mensal de /var/log/lastlog, o novo # arquivo será criado com a permissão 0664 com o dono root e grupo

# utmp e será mantida somente uma cópia do arquivo de log anterior # (rotate 1).

/var/log/lastlog { missingok monthly

create 0664 root utmp rotate 1

}

# Define opções específicas para a rotação diária de /var/log/messages, o # arquivo será rodado se atingir o tamanho de 1Mb, então o

# novo arquivo será criado com as mesmas permissões do arquivo anterior. # O comando killall -1 syslogd será executado após a rotação

# para que o daemon syslogd funcione corretamente mas somente uma vez # durante a rotação de vários arquivos de logs (sharedscripts).

# Serão mantidas as 10 últimas cópias do arquivo /var/log/messages

# compactadas (o parâmetro compress foi especificado na seção global deste # arquivo de configuração). /var/log/messages { daily size 1M sharedscripts postrotate /sbin/killall -1 syslogd endscript rotate 10 }

# Define opções específicas para a rotação mensal dos arquivos em /var/log/mirror/*, # a falta desses arquivos não precisa ser notificada ao administrador (missingok), # mesmo assim o parâmetro "nomail" evitará isto de qualquer forma. Os logs

# rodados não serão compactados (nocompress) e serão mantidas as últimas 7 cópias # dos logs. /var/log/mirror/* { montly nomail missingok nocompress

rotate 7 }

# logs específicos do sistema podem ser configurados aqui. As opções padrões e # definidas na seção global deste arquivo serão usadas para processar os

# arquivos de logs restantes.

Qualquer definição de parâmetro especificado no arquivo de configuração, substituirá as de-finições anteriores. Quando o número máximo de logs mantidos pela opção rotate [num] é atingida, os logs eliminados serão enviados para o usuário especificado na opçãomail [email]. A utilização da diretivanomailevita isso.

Quando for utilizar coringas para se referir a determinados arquivos dentro de um diretório, não utilize a sintaxe “log-xxx-*” porque isto forçaria a recompactação de arquivos “.gz” já feitas, gerando arquivos do tipo.gz.gz... e derrubando o processamento da sua máquina gerada por um loop de compactação e enchendo as entradas de diretório. Prefira usar a sintaxe

log-xxx-*.log(ou outra, modificando a configuração do programa que gera os logs).

OBS:É importante enviar um sinal HUP ao programa que grava para aquele arquivo de log para que não ocorram problemas após a rotação, isto é feito usando o parâmetropostrotate.

No documento Guia Foca GNU/Linux Gleydson Mazioli da Silva (páginas 103-106)