O Daemon de log simplesmente é um programa que registra as saída de logs do kernel e sistema. No Linux o daemon mais usado é o syslogd.
A classificação de qual arquivo em /var/log
receberá qual
tipo de mensagem é controlado pelo arquivo de configuração
/etc/rsyslog.conf através de
facilidades e níveis (veja “Arquivo de configuração
rsyslog.conf” para detalhes).
Este daemon controla o registro de logs do sistema.
rsyslogd [opções]
- opções, -f
-
Especifica um arquivo de configuração alternativo ao
/etc/rsyslog.conf. - -h
-
Permite redirecionar mensagens recebidas a outros servidores de logs especificados.
- -n
-
Evita que o processo caia automaticamente em background. Necessário principalmente se o syslogd for controlado pelo init.
- -d
-
Ativa o modo de depuração do syslog. O syslog permanecerá operando em primeiro plano e mostrará as mensagens no terminal atual.
Na distribuição Debian, o
daemon syslogd
é iniciado através do script /etc/init.d/sysklogd.
O arquivo de configuração /etc/rsyslog.conf possui o
seguinte formato:
facilidade.nível destino
A facilidade e nível são separadas por um "." e contém parâmetros que definem o que será registrado nos arquivos de log do sistema:
-
facilidade- É usada para especificar que tipo de programa está enviando a mensagem. Os seguintes níveis são permitidos (em ordem alfabética):-
auth- Mensagens de segurança/autorização (é recomendável usar authpriv ao invés deste). -
authpriv- Mensagens de segurança/autorização (privativas). -
cron- Daemons de agendamento (cron e at). -
daemon- Outros daemons do sistema que não possuem facilidades específicas. -
ftp- Daemon de ftp do sistema. -
kern- Mensagens do kernel. -
lpr- Subsistema de impressão. -
local0 a local7- Reservados para uso local. -
mail- Subsistema de e-mail. -
news- Subsistema de notícias da USENET. -
security- Sinônimo para a facilidadeauth(evite usa-la). -
syslog- Mensagens internas geradas pelo syslogd. -
user- Mensagens genéricas de nível do usuário. -
uucp- Subsistema de UUCP. -
*- Confere com todas as facilidades.
Mais de uma facilidade pode ser especificada na mesma linha do
rsyslog.confseparando-as com ",". -
-
nível- Especifica a importância da mensagem. Os seguintes níveis são permitidos (em ordem de importância invertida; da mais para a menos importante):-
emerg- O sistema está inutilizável. -
alert- Uma ação deve ser tomada imediatamente para resolver o problema. -
crit- Condições críticas. -
err- Condições de erro. -
warning- Condições de alerta. -
notice- Condição normal, mas significante. -
info- Mensagens informativas. -
debug- Mensagens de depuração. -
*- Confere com todos os níveis. -
none- Nenhuma prioridade.
Além destes níveis os seguintes sinônimos estão disponíveis:
-
error- Sinônimo para o nível err. -
panic- Sinônimo para o nível emerg. -
warn- Sinônimo para o nível warning.
-
-
destino- O destino das mensagens pode ser um arquivo, um pipe (se iniciado por um "|"), um computador remoto (se iniciado por uma "@"), determinados usuários do sistema (especificando os logins separados por vírgula) ou para todos os usuários logados via wall (usando "*").
Todas as mensagens com o nível especificado e superiores a esta especificadas no rsyslog.conf serão registradas, de acordo com as opções usadas. Conjuntos de facilidades e níveis podem ser agrupadas separando-as por ";".
OBS1: Sempre use TABS ao invés de espaços para separar os parâmetros do
rsyslog.conf.
OBS2: Algumas facilidades como security,
emitem um beep de
alerta no sistema e enviam uma mensagem para o console, como forma de
alerta ao
administrador e usuários logados no sistema.
Existem ainda 4 caracteres que garantes funções especiais: "*", "=", "!" e "-":
-
"*" - Todas as mensagens da facilidade especificada serão redirecionadas.
-
"=" - Somente o nível especificado será registrado.
-
"!" - Todos os níveis especificados e maiores NÃO serão registrados.
-
"-" - Pode ser usado para desativar o sync imediato do arquivo após sua gravação.
Os caracteres especiais "=" e "!" podem ser combinados em uma mesma regra.
Exemplo: Veja abaixo um exemplo de um arquivo
/etc/rsyslog.conf padrão de sistemas
Debian
# /etc/rsyslog.conf arquivo de configuração do rsyslog
#
# Para mais detalhes, instale o rsyslog-doc e veja o arquivo
# /usr/share/doc/rsyslog-doc/html/configuration/index.html
#################
#### MODULOS ####
#################
module(load="imuxsock") # fornece suporte para log local do sistema
module(load="imklog") # fornece suprote a log do kernel (antigo ulogd)
#module(load="immark") # fornece recurso de colocação da mensagem --MARK--
# fornece suporte a recebimento de mensagens do UDP
#module(load="imudp")
#input(type="imudp" port="514")
# fornece suporte a recebimento de mensagens TCP
#module(load="imtcp")
#input(type="imtcp" port="514")
###########################
#### DIRETIVAS GLOBAIS ####
###########################
#
# Usar o formato tradicional de timestamps.
# Para ativar a precisão de timestamps, comente a seguinte linha.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
#
# Configura as permissões padrões para todos os arquivos de log
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
#
# Onde devem ser colocados os arquivos de spool e estado
#
$WorkDirectory /var/spool/rsyslog
#
# Inclui todos os arquivos de configuração que existirem em /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf
#
# Primeiro alguns arquivos de log padrões. Registrados por facilidade
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* /var/log/mail.log
user.* -/var/log/user.log
uucp.* -/var/log/uucp.log
#
# Registro de logs do sistema de mensagens. Divididos para facilitar
# a criação de scripts para manipular estes arquivos.
#
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
# Registro para o sistema de news INN
#
news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice -/var/log/news/news.notice
#
# Alguns arquivos de registro "pega-tudo".
# São usadas "," para especificar mais de uma prioridade (por
# exemplo, "auth,authpriv.none") e ";" para especificar mais de uma
# facilidade.nível que será gravada naquele arquivo.
# Isto permite deixar as regras consideravelmente menores e mais legíveis
#
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
#
# Emergências são enviadas para qualquer um que estiver logado no sistema. Isto
# é feito através da especificação do "*" como destino das mensagens e são
# enviadas através do comando wall.
#
*.emerg *
#
# Eu gosto de ter mensagens mostradas no console, mas somente em consoles que
# não utilizo.
#
#daemon,mail.*;\
# news.=crit;news.=err;news.=notice;\
# *.=debug;*.=info;\
# *.=notice;*.=warn /dev/tty8
# O pipe /dev/xconsole é usado pelo utilitário "xconsole". Para usa-lo,
# você deve executar o "xconsole" com a opção "-file":
#
# $ xconsole -file /dev/xconsole [...]
#
# NOTA: ajuste as regras abaixo, ou ficará maluco se tiver um site
# muito movimentado...
#
daemon.*;mail.*;\
news.crit;news.err;news.notice;\
*.=debug;*.=info;\
*.=notice;*.=warn |/dev/xconsole
# A linha baixo envia mensagens importantes para o console em que
# estamos trabalhando logados (principalmente para quem gosta de ter
# controle total sobre o que está acontecendo com seu sistema).
*.err;kern.debug;auth.notice;mail.crit /dev/console
Copyright © 1999-2020 - Gleydson Mazioli da Silva