Syslogd: converte facilidade em mensagens de log indo para um servidor

1

Eu quero enviar algumas mensagens de log para um servidor de log remoto e alterá-las para um valor configurado para que o servidor de log possa dizer com mais facilidade que elas vieram do meu hardware. Ou seja, todos os logs que saem da minha máquina são, digamos, locais3, independentemente de suas instalações originais.

Posso fazer isso com o vanilla syslogd no FreeBSD, ou usando alguma outra implementação?

    
por Andrew Fleenor 12.07.2011 / 22:48

3 respostas

1

Aparentemente, não é possível fazer isso com o syslog do FreeBSD. Eu procurei na página do manual por qualquer pista e não encontrei nada.

De acordo com esta página da web , você pode fazer isso com syslog-ng, mas não estamos em condições de mudar.

    
por 25.07.2011 / 04:25
1

Eu acho que você está tentando fazer algo estranho. Você pode facilmente classificar mensagens no syslog dependendo do nome de host de onde elas vieram.

Veja man syslog.conf :

 A hostname specification of the form #+hostname or +hostname means
 the following blocks will be applied to messages received from the speci-
 fied hostname.  Alternatively, the hostname specification #-hostname or
 -hostname causes the following blocks to be applied to messages from
 any host but the one specified.  If the hostname is given as @, the
 local hostname will be used.  As for program specifications, multiple
 comma-separated values may be specified for hostname specifications.
    
por 23.07.2011 / 15:26
1

Como o próprio Andrew descobriu, o syslog-ng seria a melhor opção.

Mas eu acho que pode haver uma maneira desleixada de fazer o truque mesmo com o syslogd do FreeBSD. Parece ser possível canalizar entradas de log para um programa externo: você pode enviar as mensagens para logger e definir a facilidade desejada & prioridade com ele e peça ao logger para enviar a entrada de log para o seu servidor de log.

logger provavelmente adiciona seus próprios timestamps etc a cada entrada de log, então você pode querer sed ou qualquer que seja o timestamp original.

Sim, eu sei, essa abordagem seria feia pra caramba e pertence à categoria Don't Try This Anywhere, mas ainda assim pode funcionar.

    
por 25.07.2011 / 09:02