Como redirecionar logs de terceiros para o servidor de log no Centos

3

Eu quero configurar um servidor de log simples para aceitar logs de todos os clientes. Eu não estou falando sobre os logs do sistema padrão, como / var / log / mail, mensagem, boot, etc Eu quero redirecionar ou enviar logs de aplicativos e eles podem não estar usando o daemon syslog em tudo para registrar sua mensagem.

Como /appdir/log/error.log.

Eu encontrei muitos posts na internet; A maioria sugere usar o rsyslog ou o syslog-ng. Bem, até agora eu fui capaz de redirecionar os logs padrão do sistema e não os logs do aplicativo. Estou usando o ambiente centos 5/6.

    
por chandank 19.10.2012 / 20:25

2 respostas

4

Existem duas abordagens principais que vi.

Primeiramente, muitos aplicativos terão a capacidade de gravar em um host syslog de forma nativa. Este é o melhor caminho a seguir. Em outros casos, usarei um script básico - algo como mostrado abaixo funciona.

sudo tail /my/app/log | nc -w0 -u 192.168.1.1 514

EDIT - de fato, existe uma maneira de lidar com isso dentro do syslog-ng se você o estiver executando no sistema que gera os logs. Substitua a convenção de nomenclatura e o destino conforme desejado. Algo semelhante também está disponível para o rsyslog, mas é mais complicado (imho).

source s_trbdk3 {
   file("/var/log/trbdk3.log" flags(no-parse) program_override("trbdk3")  );
};
log{
    source(s_trbdk3);
    destination( d_mesg );
 };
    
por 19.10.2012 / 20:59
3

O módulo de entrada imfile do rsyslog pode:

Provide(s) the ability to convert any standard text file into a syslog message. A standard text file is a file consisting of printable characters with lines being delimited by LF.

Você pode ler a documentação oficial para saber mais.

Eu nunca tentei, e pode não ser muito eficiente, mas parece que pode fazer o trabalho.

O syslog-ng parece ser capaz de fazer algo semelhante com o seu file() driver de origem . Este exemplo sugere uma declaração de origem como esta:

source s_all {  
    file("/path/to/your/file" follow_freq(1) flags(no-parse)); 
};  
    
por 19.10.2012 / 21:48