rsyslog parece atuar na configuração antiga

4

Estou usando um modelo para gerar dinamicamente nomes de arquivos rsyslog. Fiz algumas alterações no meu formato original, mas o rsyslog ainda parece estar usando o novo modelo e o antigo após a reinicialização.

Meu modelo de nome de arquivo foi:

$template RemoteDailyLog,"/var/log/remote/%hostname%/%$year%/%$month%/%$day%.log"

Para isso:

$template RemoteDailyLog,"/var/log/remote/%hostname%/%fromhost-ip%/%$year%/%$month%/%$day%.log"

Parei o rsyslogd usando service rsyslog stop , excluí todos os meus arquivos de log usando rm -rf /var/log/remote/* e reiniciei o rsyslogd com service rsyslog start .

O problema é que o rsyslog parece estar construindo estruturas de pastas do tipo "/var/log/remote/%hostname%/%$year%/%$month%/%$day%.log" (ou seja, sem o IP remoto), que não aparece mais em lugar algum da minha configuração.

É possível que dados de log ou de configuração antigos tenham sido armazenados em cache em algum lugar e estejam sendo preservados por meio da reinicialização do servidor? Isso está me assustando um pouco.

    
por Jeff Lee 05.04.2012 / 00:01

2 respostas

1

Este problema resolveu-se depois de corrigir um problema relacionado Eu estava tendo com o rsyslog. Não tenho certeza de como isso é relevante, mas se o rsyslog estiver com problemas para abrir arquivos de log dinâmicos, ele parece ter um comportamento errático em relação a configurações anteriores. Enfim, aqui está uma reimpressão da minha solução:

Após examinar o / var / log / syslog do servidor, descobri que o rsyslog estava tendo problemas para abrir arquivos dinâmicos. Acontece que a configuração padrão do Ubuntu 10.04 LTS para o rsyslog não é adequada para arquivos de log dinâmicos (baseados em modelo). O patch proposto, devido a Richard Fleming, é o seguinte:

--- /etc/rsyslog.conf.orig  2009-11-17 11:21:10.874573462 -0500
+++ /etc/rsyslog.conf   2009-11-17 12:45:15.604573200 -0500
@@ -42,9 +42,11 @@
 $FileGroup adm
 $FileCreateMode 0640
 $DirCreateMode 0755
+$DirOwner syslog
+$DirGroup adm
 $Umask 0022
 $PrivDropToUser syslog
-$PrivDropToGroup syslog
+$PrivDropToGroup adm

 #
 # Include all config files in /etc/rsyslog.d/

Para mais informações, consulte: link

    
por 05.04.2012 / 22:16
-1

eu me deparei com esse mesmo problema estranho e minha solução é mais simples (o segmento resume-se ao problema de permissões) ... já que o arquivo de estado não contém informações confidenciais:

chmod 777 /var/lib/rsyslog

reinicie o rsyslog por algumas vezes.

Disclaimer : Eu sei que não é uma boa prática dar tudo a todos em um diretório e essa solução é um pouco boba, mas nesse caso com a causa inexplicável do bug do rsyslog, eu tive que faça uma exceção, pois a pasta é usada exclusivamente para arquivos de estado para o rsyslog . Note que eu tentei outras configurações chown para conceder privilégios para o usuário efetivo rsyslog para nenhum sucesso, daí esta solução tola.

    
por 15.10.2015 / 04:03