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

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

Quero configurar um servidor de log simples para aceitar logs de todos os clientes. Não estou falando sobre logs de sistema padrão, como /var/log/mail , mensagem, inicialização etc. Quero redirecionar ou enviar logs de aplicativos e eles podem não estar usando o daemon syslog para registrar suas mensagens.

Como /appdir/log/error.log.

Encontrei muitos posts na internet; a maioria sugere usar rsyslog ou syslog-ng. Bem, até agora consegui redirecionar os logs padrão do sistema, não os logs do aplicativo. Estou usando o ambiente centos 5/6.

Responder1

Existem duas abordagens principais para isso que eu vi.

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

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

EDIT - existe de fato uma maneira de lidar com isso no syslog-ng se você estiver executando-o 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 rsyslog, mas é mais desajeitado (imho).

source s_trbdk3 {
   file("/var/log/trbdk3.log" flags(no-parse) program_override("trbdk3")  );
};
log{
    source(s_trbdk3);
    destination( d_mesg );
 };

Responder2

O módulo de entrada do rsyslog imfilepode:

Fornece a capacidade de converter qualquer arquivo de texto padrão em uma mensagem syslog. Um arquivo de texto padrão é um arquivo que consiste em caracteres imprimíveis com linhas delimitadas por LF.

Você pode lera documentação oficialpara mais.

Nunca experimentei e pode não ser muito eficiente, mas parece que pode funcionar.

syslog-ng parece ser capaz de fazer algo semelhante com seufile()driver de origem.Este exemplosugere uma declaração de origem como esta:

source s_all {  
    file("/path/to/your/file" follow_freq(1) flags(no-parse)); 
};  

informação relacionada