Eu uso o rsyslog para salvar logs de hosts remotos em um servidor da seguinte maneira:
Servidor:
# Logfile for each host
$template DynaFile,"/var/log/rsyslog/%HOSTNAME%.log"
*.* -?DynaFile
Clientes:
*.* @servername
Isso cria arquivos de log para cada host do cliente nos servidores, /var/log/rsyslog/
mas também registra todas as mensagens nos servidores /var/log/syslog
. Então fica muito inchado. Como posso evitá-lo para que /var/log/syslog
apenas contenha mensagens do próprio servidor?
/var/log/syslog
Respostas:
Aqui está o que funciona para mim:
fonte
TempAuth
eTempMsg
?Eu tenho trabalhado muito nisso e acho que encontrei uma solução. Encorajo outras pessoas a tentar isso e procurar consequências potencialmente adversas. Sugiro que isso seja implementado em laboratório / teste e em máquinas não críticas primeiro.
As 4 linhas acima estão na parte superior do meu arquivo /etc/rsyslog.conf
No momento, estou assistindo dois arquivos de log:
/var/log/net-hosts/10.1.1.1
e / var / log / syslog
enquanto assisto a ambos, estou vendo logs preenchidos no arquivo host remoto, mas não no syslog . Reiniciei o apache e vi entradas de log no syslog para esta tarefa.
fonte
Você deve certificar-se de que suas novas regras sejam avaliadas antes daquela registrada em / var / log / syslog.
Por exemplo, no Ubuntu Trusty (rsyslog 7.4.4), o /etc/rsyslog.conf contém
$IncludeConfig /etc/rsyslog.d/*.conf
para que as regras padrão sejam carregadas
/etc/rsyslog.d/50-default.conf
, a do / var / log / syslog incluída.Nesse caso, você pode adicionar um novo arquivo a ser carregado antes desse, como
00-remote.conf
. Para completar, eis o conteúdo de um sistema que estou gerenciando:fonte