configuração do syslog - alerta repetido?

1

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 um auth.err , a mensagem de erro aparecerá no meu /var/adm/message duas vezes devido ao:

*.err  
auth.debug 

Se vamos dizer que eu 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 um kernel.emerg , ele será registrado duas vezes em /var/adm/messages devido a

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

?

=======

Adicionado em

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

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

por tiongmaru 16.02.2016 / 01:45

1 resposta

0

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

Multiple selectors may be specified for a single action using the semicolon ('';'') separator. Remember that each selector in the selector field is capable to overwrite the preceding ones.

Você pode e recebe, no entanto, 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, para todos os usuários.

Everyone logged on

Emergency messages often go to all users currently online to notify them that something strange is happening with the system. To specify this wall(1)-feature use an asterisk (''*'').

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

The behavior of the original BSD syslogd is that all messages of the specified priority and higher are logged according to the given action.

Citações tiradas da página man syslog.conf :

página man do syslog.conf (5)

quanto ao ifdef, tomando como exemplo:

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

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

Quanto a ifdef não é um requisito, e quanto a LOGHOST, de acordo com esta página é o nome da máquina retirada do arquivo / etc / hosts (ou possivelmente DNS, somente teste)

To edit /etc/hosts (./inet/hosts) and add one or several lines that defines IP address for loghost (Name is arbitrary, and if several remote hosts are defined you can use any name you wish)

    
por 16.02.2016 / 04:35