Product SiteDocumentation Site

9.5. syslog Eventos de sistema

9.5.1. Princípio e mecanismo

O daemon rsyslogd é responsável por coletar mensagens de serviço vindas de aplicações e do núcleo, e então despachá-las para arquivos de log (usualmente armazenados no diretório /var/log/). Obedece o arquivo de configuração /etc/rsyslog.conf.
Cada mensagem de log é associada com um subsistema de aplicação (chamado "facilidade" ou “facility” na documentação):
  • auth e authpriv: para autenticação;
  • cron: vem de serviços de agendamento de tarefas, cron e atd;
  • daemon: afeta um daemon sem nenhuma classificação especial (DNS, NTP, etc.);
  • ftp: relacionado ao servidor FTP;
  • kern: mensagem vinda do núcleo;
  • lpr: vem do subsistema de impressão;
  • mail: vem do subsistema de e-mail;
  • news: mensagem do subsistema Usenet (especialmente do NNTP — Network News Transfer Protocol — servidor que gerencia newsgroups);
  • syslog: mensagens do próprio servidor syslogd;
  • user: mensagens de usuário(a) (genéricas);
  • uucp: mensagens do servidor UUCP (Unix to Unix Copy Program, um antigo protocolo notavelmente usado para distribuir mensagens de e-mail);
  • local0 até local7: reservado para uso local.
Cada mensagem está associada com um nível de prioridade. Está é a lista em ordem decrescente:
  • emerg: “Socorro!” Existe uma emergência, o sistema provavelmente não está usável.
  • alert: se apresse, qualquer atraso pode ser perigoso, é preciso agir imediatamente;
  • crit: as condições são críticas;
  • err: erro;
  • warn: aviso (erro potencial);
  • notice: as condições estão normais, mas a mensagem é importante;
  • info: mensagem informativa;
  • debug: mensagem de depuração.

9.5.2. O arquivo de configuração

A sintaxe do arquivo /etc/rsyslog.conf é detalhada na página de manual rsyslog.conf(5), mas também existe documentação em HTML disponível no pacote rsyslog-doc (/usr/share/doc/rsyslog-doc/html/index.html). O principal princípio e escrever os pares “selector” e “action”. O "selector" define todas as mensagens relevantes, e "action" descreve como lidar com elas.

9.5.2.1. Sintaxe do seletor

O seletor é uma lista separada por ponto e vírgula de pares de subsistema.prioridade (exemplo: auth.notice;mail.info). Um asterisco pode representar todos os subsistemas ou todas as prioridades (exemplos: *.alert ou mail.*). Vários subsistemas podem ser agrupados, separando-os com uma vírgula (exemplo: auth,mail.info). A prioridade indicada também cobre mensagens de prioridade igual ou mais alta; assim auth.alert indica as mensagens do subsistema auth de prioridade alert ou emerg. Prefixado com um ponto de exclamação (!), indica o oposto, em outras palavras, as prioridades estritamente abaixo; auth.!notice, portanto, indica mensagens emitidas a partir de auth, com prioridade info ou debug. Prefixada com um sinal de igual (=), corresponde precisamente e apenas à prioridade indicada (auth.=notice apenas se refere a mensagens vindas de auth com prioridade notice).
Cada elemento da lista no seletor sobrescreve elementos prévios. Assim é possível restringir um conjunto ou excluir certos elementos dele. Por exemplo, kern.info;kern.!err se refere a mensagens vindas do núcleo com prioridade entre info e warn. A prioridade none indica uma conjunto vazio (sem prioridades), e pode servir para excluir um subsistema de um conjunto de mensagens. Assim, *.crit;kern.none indica todas as mensagens de prioridade igual ou maior que crit não vindas do núcleo.

9.5.2.2. Sintaxe das ações

As várias ações possíveis são:
  • adiciona a mensagem a um arquivo (exemplo: /var/log/messages);
  • enviar a mensagem a um servidor remoto syslog (exemplo: @log.falcot.com);
  • envia a mensagem a um pipe nomeado existente (exemplo: |/dev/xconsole);
  • envia a mensagem a um(a) ou mais usuários(as), se estiverem logados(as) (exemplo: root,rhertzog);
  • enviar a mensagem para todos(as) usuários(as) logados(as) (exemplo: *);
  • escrever a mensagem em um console texto (exemplo: /dev/tty8).