# Guia do Linux/Iniciante+Intermediário/Arquivos e daemons de Log/Daemons de log do sistema
## Daemons de log do sistema

Os daemons de log do sistema registram as mensagens de saí­da do kernel (klogd) e sistema (syslogd) nos arquivos em /var/log .
A classificação de qual arquivo em /var/log receberá qual tipo de mensagem é controlado pelo arquivo de configuração /etc/syslog.conf através de facilidades e ní­veis (veja [#s-log-syslogd-exemplo Arquivo de configuração syslog.conf, Seção 17.2.1.1] para detalhes).

### syslogd

Este daemon controla o registro de logs do sistema.
syslogd [opções]

#### -f

    Especifica um arquivo de configuração alternativo ao /etc/syslog.conf.

#### -h

    Permite redirecionar mensagens recebidas a outros servidores de logs especificados.

#### -l [computadores]

    Especifica um ou mais computadores (separados por ":") que deverão ser registrados somente com o nome de máquina ao invés do FQDN (nome completo, incluindo domí­nio).

#### -m [minutos]

    Intervalo em minutos que o syslog mostrará a mensagem --MARK--. O valor padrão padrão é 20 minutos, 0 desativa.

#### -n

    Evita que o processo caia automaticamente em background. Necessário principalmente se o syslogd for controlado pelo init.

#### -p [soquete]

    Especifica um soquete UNIX alternativo ao invés de usar o padrão /dev/log.

#### -r

    Permite o recebimento de mensagens através da rede através da porta UDP 514. Esta opção é útil para criar um servidor de logs centralizado na rede. Por padrão, o servidor syslog rejeitará conexões externas.

#### -s [domí­nios]

    Especifica a lista de domí­nios (separados por ":") que deverão ser retirados antes de enviados ao log.
Na distribuição Debian, o daemon syslogd é iniciado através do script /etc/init.d/sysklogd.

#### Arquivo de configuração syslog.conf

O arquivo de configuração /etc/syslog.conf possui o seguinte formato:
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 syslog.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 syslog.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 syslog.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/syslog.conf padrão de sistemas Debian

### klogd

Este daemon controla o registro de mensagens do kernel. Ele monitora as mensagens do kernel e as envia para o daemon de monitoramento syslogd, por padrão.
klogd [opções]

#### -d

    Ativa o modo de depuração do daemon

#### -f [arquivo]

    Envia as mensagens do kernel para o arquivo especificado ao invés de enviar ao daemon do syslog

#### -i

    Envia um sinal para o daemon recarregar os sí­mbolos de módulos do kernel.

#### -I

    Envia um sinal para o daemon recarregar os sí­mbolos estáticos e de módulos do kernel.

#### -n

    Evita a operação em segundo plano. Útil se iniciado pelo init

#### -k [arquivo]

    Especifica o arquivo que contém os sí­mbolos do kernel. Exemplos deste arquivo estão localizados em /boot/System.map-xx.xx.xx.
A especificação de um arquivo com a opção -k é necessária se desejar que sejam mostradas a tabela de sí­mbolos ao invés de endereços numéricos do kernel.