Sabemos que no sistema existem diversas aplicações que rodam simultaneamente, serviços, e ambos vão gerando logs, registros.
Para que o administrador possa gerenciar esses registros, existe o sistema de gerenciamento de logs.
syslog
Principal sistema de gerenciamento de logs,
syslogd é o daemon do syslog, fica sempre em execução.
Hoje em dia temos também o
rsyslog, melhoria do syslog, mais performance, sistema de logs mais encontrado em desktops, Debian, Fedora).
syslog é o principal para nosso estudo para a certificação.
Existe também um terceiro sistema de logs que é o
syslog-ng, não é semelhante ao syslog, muda os arquivos, forma de funcionamento.
/var/log/
Principal diretório de logs do
Linux. Os principais arquivos de logs são armazenados aqui.
/etc/syslog.conf
Arquivo de configuração do syslog, cai na prova.
Configuração do syslog:
/etc/syslog.conf
1) Exemplo da linha:
mail.info -/var/log/mail.info
- "-mail é o facility" (origem da mensagem) *auth, authpriv, cron, daemon, kern, lpr, mail, mark news, syslog, user, uucp,local0-local7
- local0 (utilizado em script, aplicações...)
- "-info é a priority" (é o urgência da mensagem) *notice,warning,error,crit,alert, emerg
2) A prioridade é "da menos urgente para mais urgente", debug, info, notice, warning, err, crit, alert, emerg.
O termo "none" ignora a urgência para a facility em questão.
3) Exemplos de caracteres modificadores de facility e priority "(* , = !)":
mail.* -/var/log/mail.log
- todo registro que vem do facility "mail", (qualquer que seja a priority), vai enviar para "/var/log/mail.log".
daemon.* -/var/log/daemon.log
- todo registro que vem do facility "daemon", seja qual for a priority "*", ele vai enviar para o "/var/log/daemon.log".
- posso separar os facilities por vírgula (auth,authpriv.*), tudo isso será enviado para o /var/log/auth.log.
- na linha abaixo, qualquer que seja o facility, ou o priority, *com excessão do auth e authpriv (none)
*.*;auth,authpriv.none -/var/log/syslog
- criando um log "somente" para "alert":
mail.=alert /var/log/mail.alert (o sinal de = pega apenas o alert)
4) action (destino da mensagem):
- -/var/log/mail.info (posso enviar para um arquivo de log)
- lpi1, lpi2 (posso enviar para um usuário) *tela do usuário
- @10.0.0.1 (posso enviar para um servidor remoto) *segurança, sempre ter os log, vai que dá pau...
Exemplo com o log "info":
mail.info -/var/log/mail.info
Pega tudo que vai depois de info: *info, notice, warning, err, crit, alert, emerg.
- criando um log para um servidor de log remoto externo: "*servidor de log remoto roda na porta 514 no protocolo UDP"
mail.debug @10.0.0.100
mail.emerg * #joga na tela de todos os usuários a mensagem, terminal
mail.emerg lpi1, lpi2
5) Toda vez que eu realizar uma alteração no /etc/syslog.conf é preciso reiniciar o syslogd:
# /etc/init.d/inetutils-syslogd restart (forma de reiniciar o serviço syslogd)