RHCSA, RHCE, Linux, Ansible, AWS

Localizar e interpretar os arquivos de log do sistema e registros

Arquivos de log são a principal fonte de um administrator resolver problemas em seu sistema. No Linux RHEL, arquivos de log podem ser encontrados no diretório /var/log.

systemd-journald

No RHEL 7, systemd-journald é um serviço de sistema que coleta arquivos de log – do Kernel, stdout and stderr of system services, entre outros. Todos esses arquivos são salvos em no /run/log/journal. Ja que o diretório /run é volátil – criado na memória e perdido após reboot – essas informações de log são perdidas no reboot. Para salva-las, você devera salva-las em uma pasta criada em /var/log. Vejamos o exemplo abaixo:
IMPORTANTE:
1- Crie uma pasta chamada /var/log/journal
#mkdir -p /var/log/journal
2- Certifique-se que o grupo dono da pasta é o systemd-journal group (Caso nao se lembre, cheque o arquivo /etc/group e ache o grupo mencionado. )
#chown :systemd-journal /var/log/journal
3- Configure as permissões corretas:
#chmod 2755 /var/log/journal
4- Reboot a máquina.
#reboot
Agora você deveria ter os logs do systemd-journald salvos após o reboot.

Rsyslogd

O rsyslogd fornece um sistema para logar mensagens. O serviço rsyslogd salva informações importantes que a maioria de programs modernos usam, tais como hora, hostname, e outras informações valiosas para um administrador Linux. Seu diferencial é que trabalha muito bem em harmonia – uma adição – ao systemd-journald.
O arquivo principal de configuração é /etc/rsyslog.conf. A estrutura basica do arquivo rsyslog contém rules (regras) que constituem SELECTORS ( o que vai ser logado) e ACTION (o que fazer com os logs)
SELECTORS: Esse é feito pelas fácilities (programas e serviços) e priorities ( qual o nivel de erro que será logado. ) Nao precisa decorar os nomes individuais das fácilities ou priorities, mas é preciso entender como configurar loging em um sistema linux.
fácility: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (same as
auth), syslog, user, uucp and local0 through local7
Priorities: (ascending order): debug, info, notice, warning, warn (same as warning),
err, error (same as err), crit, alert, emerg, panic (same as emerg).
EXEMPLO:
Configure todas as informações com priority notice ou maior para um arquivo chamado /var/log/alerts
1- Crie um arquivo chamado /etc/rsyslog.d/alerta.conf . Note que usamos o diretório /etc/rsyslog.d, dessa forma não mechemos no arquivo original /etc/rsyslog.conf. A maioria dos serviços linux oferece um diretório para configurações customizadas, dessa forma são preservadas após algum update, e também a forma indicada quando lidando com automatização em grande escala.
*.notice /var/log/alerts
Apos reiniciar o serviço de log, você devera ver mensagens de notice ou acima no arquivo criado:
#systemctl restart rsyslog

Gerenciamento de Logs( /etc/logrotate.conf)

Imagina o tamanho dos logs de servidores em produção. Seu enorme tamanho se não monitorado pode causar problemas no servidor, e ainda levar a um crash se não gerenciado. Uma das formas de lidar com essa problema no Linux RHEL é através do logrotate. O logrotate permite rotação automática, compressão, remoção, e email de arquivos de log. Geralmente o logrotate roda um serviço cron diário para fazer tais atividades, conforme configuradas em /etc/logrotate.conf
Muito importante abrir o arquivo /etc/logrotate.conf e ler suas diretrizes de configuração.
Exemplo:
Mude o rotação de arquivos de log de 1 semana para diário, e mantenha 3 dias de log em seu sistema.
1- vi /etc/logrotate.conf
2- Mude a linha “weekly” para “daily”
3- Mude a linha “rotate 4” para “rotate 3”
No exemplo acima, diariamente será criado um arquivo de log, comprimido, e esse será mantido a cada 3 dias. “rotate” quer dizer quando será eliminado um arquivo de log antigo para dar espaço para um novo. Nesse caso, serão mantidos apenas 3 arquivos de log no sistema. Certifique-se de ter uma estratégia para salvar os logs permanentemente em um sistema em produção.

Avatar de temweb

Sobre o autor

Deixe um comentário