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/). Ele obedece o arquivo de configuração /etc/rsyslog.conf.
Cada mensagem de log é associada com um subsistema de aplicação (chamado “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 do usuário (genérico);
  • 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 o "actions" 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ígula (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 (!), ele indica o oposto, em outras palavras as prioridades estritamente baixas; auth.!notice, assim, indica mensagens emitidas a partir de auth, com prioridade info ou debug. Prefixada com um sinal de igual (=), ele corresponde precisamente e apenas a 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 vazia (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 para um servidor remoto syslog (exemplo: @log.falcot.com);
  • envia a mensagem para um pipe nomeado existente (example: |/dev/xconsole);
  • envia a mensagem para um ou mais usuários, se eles estiverem logados (example: root,rhertzog);
  • enviar a mensagem para todos os usuário logados (exemplo: *);
  • escrever a mensagem em um console texto (exemplo: /dev/tty8).