configuração do syslog - alerta repetido?

configuração do syslog - alerta repetido?

estou usando o solaris 10 e vi esta linha em/etc/syslog.conf

*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice       /var/adm/messages

Isso significa que, se eu tiver umauth.err, a mensagem de erro aparecerá /var/adm/messageduas vezes devido a:

*.err  
auth.debug 

Digamos que também tenho outra linha que é:

*.emerg  *
*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice       /var/adm/messages

Isso significa que, se eu tiver umkernel.emerg, ele registrará duas vezes /var/adm/messagesdevido a

 *.emerg  *   and
kern.debug  /var/adm/messages

?

=======

Adicionado

auth.notice         ifdef(`LOGHOST', /var/log/authlog, @loghost) 
  • como o syslog verifica se esta máquina é um loghost ou não? verificando em /etc/hosts o alias "loghost" e vendo se ele corresponde ao IP da máquina?

  • Eu tenho o syslog.conf sem ifdef e ainda funciona, o ifdef é necessário ou não?

Responder1

As regras definem principalmente filtros aplicados em tempo de execução a cada mensagem; portanto, na realidade, você não deve ter mensagens duplicadas no mesmo destino/arquivo.

Vários seletores podem ser especificados para uma única ação usando o separador ponto e vírgula ('';''). Lembre-se que cada seletor no campo seletor é capaz de sobrescrever os anteriores.

No entanto, você pode receber a mesma mensagem enviada para arquivos diferentes, incluindo o console.

No caso de

*.emerg *

O que é uma abreviação para todos os usuários no syslog, será para todos os usuários.

Todos logados

Mensagens de emergência geralmente vão para todos os usuários online para notificá-los de que algo estranho está acontecendo com o sistema. Para especificar este recurso wall(1) use um asterisco (''*'').

Então, de fato, em um kernel.emerg, ele será enviado para todos os usuários e para /var/adm/messages ao mesmo tempo; no entanto, será apenas uma linha em /var/adm/messages.

O comportamento do syslogd BSD original é que todas as mensagens da prioridade especificada e superior são registradas de acordo com a ação dada.

Citações retiradas da syslog.confpágina de manual:

Página de manual syslog.conf(5)

quanto ao ifdef, tomando como exemplo:

auth.notice         ifdef(`LOGHOST', /var/log/authlog, @loghost) 

Se LOGHOST estiver definido (ou seja, este syslog é um LOGHOST, ele enviará o log/mensagem para /var/log/authlog, caso contrário, será enviado para @loghost.

Quanto ao ifdef não é um requisito, e quanto ao LOGHOST, de acordo comesta páginaé o nome da máquina retirado do arquivo /etc/hosts (ou possivelmente DNS, apenas testes)

Para editar /etc/hosts (./inet/hosts) e adicionar uma ou várias linhas que definam o endereço IP para loghost (o nome é arbitrário e se vários hosts remotos forem definidos você pode usar qualquer nome que desejar)

informação relacionada