Uêba    RSS   

Mensagens de sistema em Linux

Sistemas Operacionais devem prover meios de saber o que usuários fazem, tempo de permanência, programas executados, arquivos acessados, serviços em execução e coisas semelhantes. As mensagens com estes dados são denominadas Mensagens do Sistema.

Kernel Ring Buffer

Durante a inicialização do sistema são emitidas diversas mensagens. A maioria delas é acerca do carregamento de módulos. Essas mensagens são armazenadas no Kernel Ring Buffer. Para exibir estas mensagens utilizamos o comando dmesg. Experimente-o digitando:

dmesg | less

Daemon syslogd

As mensagens de sistema são controladas pelo daemon syslogd. Este daemon é carregado, geralmente, no início da inicialização do sistema. O arquivo de configuração do syslogd é o /etc/syslog.conf. Neste arquivo especificamos as regras do sistema de log das mensagens de sistema.
Cada linha deste arquivo é composto de um seletor e uma ação, separados por espaços ou marcas de tabulação, preferencialmente. O seletor é formado de dois subcampos: recurso e prioridade, separados por um ponto. Cada regra pode ocupar diversas linhas se as linhas (exceto a última) terminarem com uma barra invertida (‘\’).

Recursos

Os recursos ou facilidades especificam o subsistema produtor de mensagens. Podem ser:

  • auth: eventos de segurança (recomendável uso do authpriv)
  • authpriv: controle de acesso a eventos
  • cron: serviços de agendamento crond e atd
  • daemon: todos serviços sem recursos específicos
  • ftp: serviço que implementa o FTP
  • kern: kernel
  • lpr: serviço de impressão
  • mail: servidor de correio eletrônico
  • mark: uso interno
  • news: servidor de notícias
  • security: o mesmo que auth (em desuso)
  • syslog: serviço syslog
  • user: mensagens do nível de usuário
  • uucp: subsistema UUCP (protocolo primitivo de transferência de arquivos)
  • local0 a local7: reservados para uso local. O recurso local7 costuma ser utilizado para o processo de boot.

Um asterisco pode ser utilizado para indicar todos os recursos simultaneamente

Prioridade

As prioridades definem o grau de importância de uma mensagem. Pode ser, do menor para o maior grau de importância:

  • debug: depuração e testes
  • info: informação básica
  • notice: condição normal e significativa
  • warning ou warn (em desuso): alerta, advertência
  • err ou error (em desuso): erro
  • crit: condição crítica
  • alert: necessidade imediata de ação para solução de problema
  • emerg ou panic (em desuso): situação de emergência. O sistema pode estar inutilizável.

Ao contrário do que ocorre no BSD, cada prioridade é utilizada para indicar as mensagens do seu grau de importância e superiores.
Um asterisco pode ser utilizado para indicar todas as prioridades simultaneamente. A expressão “none” indica nenhuma prioridade.
Prioridades que seguem-se a um sinal de igual especifica exatamente aquela prioridade. Prioridades precedidas por um sinal de exclamação, indicam a exclusão da prioridade e todas de maior grau de importância. Prioridades precedidas por um sinal de exclamação e um de igual excluem exatamente aquela prioridade

Recursos e prioridades múltiplos

Mais de um recurso pode ser indicado no mesmo seletor. Para tal os recursos devem ser separados por vírgulas. Se a prioridade for a mesma para os recursos pode ser indicada somente uma vez. Isto permite que o seletor
kern.info,auth.info
seja equivalente a
kern,auth.info
Múltiplos seletores podem ser especificados para a mesma ação. Basta separá-los com um ponto-e-vírgula. Seletores mais à direta têm mais precedência dos mais á esquerda, podendo ser utilizados para excluir determinados recursos, como veremos adiante.

Ação

A ação descreve o destino das mensagens do recurso especificado, na prioridade definida. As ações possíveis são:

  • Arquivo: deve ser indicado o caminho completo do arquivo. Esta é a ação mais comum. Se precedido de um sinal de menos, a gravação efetiva em disco pode ser adiada, garantindo maior desempenho à custa de menor confiabilidade. A maior parte dos sistemas Linux mantém a maioria das mensagens do sistema no arquivo /var/log/syslog (como é o caso do Ubuntu) ou no /var/log/messages.
  • Named Pipe ou FIFO: indica, à grosso modo, que as mensagens seja encaminhadas a um programa ou dispositivo apontado pelo named pipe. O named pipe deve ser criado com mkfifo (ou equivalente) antes do serviço syslogd ser iniciado.
  • Terminal ou console: mensagem deve aparecer em determinado terminal ou console do sistema
  • Computador remoto: as mensagens podem ser encaminhadas a outros computadores cujo nome esteja precedido de um sinal ‘@’. Estas mensagens não devem ser redirecionadas no computador de destino. Podemos criar assim um servidor centralizado para armazenamento de mensagens de sistema
  • Usuários: enviar mensagens para usuário ou lista de usuários, geralmente em casos críticos. Um símbolo de asterisco indica que a mensagem deve ser enviada a todos usuários logados.

Exemplos

Envio para arquivo

mail.info                     -/var/log/mail.info

Mensagens com prioridade info ou superior do serviço de correio eletrônico, são enviadas para o arquivo /var/log/mail.info, sem sincronização (gravação) imediata.

Se o arquivo de destino for o próprio console, as mensagens serão exibidas neste

*.alert                       /dev/console

Seletores, recursos e prioridades múltiplas

Todos os níveis de prioridade para os recursos auth e authpriv enviados para /var/log/auth.log

auth,authpriv.*               /var/log/auth.log

Exceções

Toda prioridades de todos os recursos, exceto auth e authpriv enviados para /var/log/syslog

*.*;auth,authpriv.none        /var/log/syslog

Mensagens do serviço de correio, exceto as de prioridade info, enviada para o arquivo /var/log/mail

mail.*;mail.!=info            /var/log/mail

Especificação de prioridade e uso de múltiplas linhas

Exatamente a prioridade debug de todos recursos, exceto auth e authpriv, para /var/log/debug, sem sincronização imediata

*.=debug;\
     auth,authpriv.none       -/var/log/debug

Emergências

Mensagens com prioridade de emergência de todos recursos enviadas para todos usuários

*.emerg                       *

Console

Todas mensagens de serviços e do serviço de correio enviadas para o terminal TTY6

daemon,mail.*                 /dev/tty6

Computador remoto

Mensagens críticas dos serviços enviadas para o computador pepinos.empresa.com. O endereço deste computador deve ser especificado no arquivo /etc/hosts. Também é possível resolver este nome por DNS, mas devemos nos precaver de eventual falhas neste serviço.

daemon.crit                   @pepinos.empresa.com

Usuário

Mensagens do serviço de correio eletrônico enviadas para os usuários root e chefao

mail.*                        root,chefao

Named Pipe

Mensagens de advertência (e somente estas) de todos recursos enviados para o console gráfico. O programa geralmente utilizado para exibir mensagens no console gráfico é o xconsole. Neste caso, o named pipe para ele deve ser criado com

sudo xconsole -file /dev/xconsole

A linha do /etc/syslog.conf para utilizar este named pipe é

*.=warn                        |/dev/xconsole

Futuro

Alguns sistemas têm instalado um substituto para o daemon syslogd. Este substituto é o syslog-ng (New Generation) e promete ser mais flexível do que o syslogd original.

 

Um Comentário

Envie comentário