Existem ferramentas para fazer o mesmo em ambos FreeBSD e Linux, além de outros sistemas operacionais.
Fazendo registros estritamente dimensionados com rotação automática
As ferramentas a seguir mantêm conjuntos de arquivos de log estritamente dimensionados, girados automaticamente, rotacionáveis sob demanda, em um diretório especificado.
-
multilog
de Dan Bernstein de daemontools oumultilog
de Bruce Guenter <daemontools-encore , ou% de% freedt de Adam Sampson -
multilog
de Laurent Bercot de s6 -
s6-log
de Gerrit Pape de runit - Wayne Marshall
svlogd
de perp - meu
tinylog
de nós
O uso é muito simples: Envie a saída padrão e o erro padrão de um processo a ser registrado em um canal para sua entrada padrão, da maneira normal:
./thing-to-be-logged 2>&1 | cyclog logs/
cyclog
adiciona timestamps TAI64N às linhas como padrão. Para processamento sem timestamp quando algo já estiver com registro de data e hora, use um dos cyclog
s, multilog
ou s6-log
, em cada um dos quais a adição de registro de data e hora é uma opção não padrão.
Substituindo pelo syslog
O que você aponta para modificar o FreeBSD svlogd
em si, com um patch datado de 2001 que pode não se aplicar de forma limpa hoje em dia, para ter outro mecanismo de arquivo de saída.
Uma abordagem alternativa é simplesmente substituir completamente o servidor syslog, além de configurar mais serviços para simplesmente registrar um erro padrão (sob gerenciamento de serviço que canaliza erro padrão para os serviços de registro) em vez de usar syslog em primeiro lugar.
Por exemplo: O conjunto de ferramentas nosh fornece vários substitutos, que dividem o trabalho do syslog e geram saída adequada para alimentação através da entrada padrão de uma das ferramentas de registro acima mencionadas:
- um serviço
syslog
que executa um programa simples chamadoklogd
para ler deklog-read
e simplesmente escreva esse fluxo de log em seu erro padrão. - um serviço
/proc/kmsg
que executa um programa chamadolocal-syslog-read
para ler datagramas desyslog-read
(/dev/log
nos BSDs) e simplesmente escreva esse fluxo de log em seu erro padrão. - um serviço
/run/log
que executa o programaudp-syslog-read
mencionado acima para ouvir a porta syslog do UDP e simplesmente escreva esse fluxo de log em seu erro padrão. - um serviço
syslog-read
que executa o programalocal-priv-syslog-read
mencionado acima para ler datagramas desyslog-read
e simplesmente escreva esse fluxo de log em seu erro padrão.
Leitura adicional
- Jonathan de Boyne Pollard (2015). " Registro ". A família dos daemontools . Respostas frequentemente dadas.
- Jonathan de Boyne Pollard (2016). Não use logrotate ou newsyslog neste século. . Respostas frequentemente dadas.
- Jonathan de Boyne Pollard (2016). " Registro em log ". Guia nosh . Softwares.
- link
- link
- link