O arquivo de configuração do syslog-ng suporta o registro de arquivos rotativos a cada 15 minutos?

1

Estou usando o arquivo de configuração syslog-ng destination configuration para criar arquivos de log por hora. A configuração que estou usando para isso é a seguinte:

destination d_hourly {file("/var/log/tracker/pid$PID-track-$YEAR-$MONTH-$DAY-$HOUR.log");};

Agora tenho um requisito para criar arquivos a cada 15 minutos ou 30 minutos. Eu olhei através das macros do arquivo de configuração e não existe essa macro (que está nas linhas esperadas). Existe uma maneira de escrever uma função personalizada em syslog-ng config que retorna um valor baseado na hora atual e que pode ser sufixado na direção de destino para syslog-ng.

Ou existe alguma outra maneira de conseguir isso?

    
por Akshay Surve 23.01.2015 / 08:28

2 respostas

2

Você pode dividir o valor do minuto por um número em linha, o que gerará arquivos separados. Por exemplo:

destination d_half_hourly {file("/var/log/tracker/pid$PID-track-$YEAR-$MONTH-$DAY-$HOUR-$(/ $MIN 30).log");};

Por causa da divisão de números inteiros, isso colocará todos os logs do PID 1000 e da data de 1/23/2015 das 05:00 às 05:29 para

/var/log/tracker/pid1000-track-2015-01-23-05-0.log

e das 05:30 às 05:59 para

/var/log/tracker/pid1000-track-2015-01-23-05-1.log

Você também pode aumentar a frequência alterando 30 para outro divisor.

    
por 23.01.2015 / 11:59
0

não existe essa função interna, mas em versões mais recentes do syslog-ng você pode fazer várias comparações numéricas em filtros: link

Se você combinar isso com caminhos de log incorporados, acredito que você possa criar uma configuração que faça o que você precisa. Por exemplo, algo como esse pseudocódigo (só para mostrar a ideia, não está sintaticamente correto):

log { source_mysource
   log { filter(is-$MIN-less-than-15) destination(file("/var/log/tracker/pid$PID-track-$YEAR-$MONTH-$DAY-$HOUR-0-15.log")) }
   log { filter(is-$MIN-between-16-and-30) destination(file("/var/log/tracker/pid$PID-track-$YEAR-$MONTH-$DAY-$HOUR-16-30.log")) }
...
}

HTH

Atenciosamente,

Robert Fekete

    
por 23.01.2015 / 09:47

Tags