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]
Especifica um arquivo de configuração alternativo ao
/etc/rsyslog.conf
.
Permite redirecionar mensagens recebidas a outros servidores de logs especificados.
Evita que o processo caia automaticamente em background. Necessário principalmente se o syslogd for controlado pelo init.
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 facilidade
auth
(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.conf
separando-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