Usando o Rsyslog para enviar logs do aplicativo para o servidor syslog

4

Estou tentando configurar meu rsyslog para enviar logs gerados por um aplicativo em / opt / appname / logs para um servidor syslog remoto. Eu já configurei o rsyslog para enviar logs de nível do sistema operacional, mas queria ver se ele também pode enviar logs de um aplicativo. Não tenho certeza se a diretiva IncludeConfig funciona como procura outro arquivo * .conf.

    
por Lego 16.12.2013 / 15:34

3 respostas

4

O rsyslog tem suporte para leitura de um arquivo. Isso é feito com o módulo imfile . Você precisa da seguinte configuração:

module(load="imfile" PollingInterval="10") #needs to be done just once

# needs to be done for each file you want to watch
input(type="imfile" File="/path/to/file1" 
     Tag="tag1" 
      StateFile="statefile1" 
      Severity="error" 
      Facility="local7")

Há mais informações no site de documentação do rsyslog

    
por 16.12.2013 / 16:02
1

Você sempre pode usar a sintaxe antiga:

por exemplo. /etc/rsyslog.d/11-your-file.conf

$ModLoad imfile

$InputFileName  /app/your-file.log 
$InputFileTag   your-tag
$InputFileStateFile     your-tag 
$InputFileSeverity      info
$InputFileFacility      local7 
$InputRunFileMonitor
$InputFilePersistStateInterval 1000 
local7.*  @@remote-rsyslog-server:port
    
por 08.04.2015 / 12:39
0

Se você ligar um script de inicialização, você pode usar pode combinar

tail -n 0 -F /opt/appname/logs/file | logger ... 

Os parâmetros para o logger seriam a prioridade e você poderia especificar o servidor syslog remoto ou apenas usar a configuração local e fazer com que o rsyslog faça o encaminhamento para você.

Um engodo para essa configuração é que você deve certificar-se de que está seguindo o log quando seu aplicativo é iniciado ou você perderá registros entre eles.

Uma solução melhor, mas que dá mais trabalho, seria usar algo como o logstash.

Você configura as entradas de acordo com os logs do aplicativo, para o arquivo, você pode usar sincedb para continuar do ponto em que parou pela última vez e você tem um módulo para gerar saída para o syslog.

Dependendo do que você quer, isso pode ser muito trabalhoso.

    
por 16.12.2013 / 15:55

Tags