4 votes

rsyslog semble agir sur une ancienne configuration

J'utilise un modèle pour générer dynamiquement les noms de fichiers rsyslog. J'ai apporté quelques modifications à mon format original, mais rsyslog semble toujours utiliser à la fois le nouveau modèle et l'ancien après le redémarrage.

Mon modèle de nom de fichier est parti de ceci :

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

A ceci :

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

J'ai arrêté rsyslogd en utilisant service rsyslog stop J'ai supprimé tous mes fichiers journaux en utilisant rm -rf /var/log/remote/* et ensuite redémarrer rsyslogd avec service rsyslog start .

Le problème est que rsyslog semble construire des structures de dossiers du type "/var/log/remote/%hostname%/%$year%/%$month%/%$day%.log" (c'est-à-dire sans l'IP distante), qui n'apparaît plus nulle part dans ma configuration.

Est-il possible que les anciens journaux ou données de configuration aient été mis en cache quelque part et soient conservés lors du redémarrage du serveur ? Cela me donne un peu la chair de poule.

0 votes

Quel OS ? S'agit-il de RHEL/CentOS 6 ?

0 votes

J'utilise Ubuntu 10.04.

0 votes

J'ai retapé votre question... N'oubliez pas d'inclure ces informations dans votre question pour nous aider à y répondre ;)

1voto

Jeff Lee Points 171

Ce problème s'est résolu de lui-même après avoir réparé une question connexe J'avais avec rsyslog. Je ne suis pas sûr que ce soit pertinent, mais si rsyslog a des problèmes d'ouverture de fichiers journaux dynamiques, il semble avoir un comportement erratique par rapport aux configurations passées. Quoi qu'il en soit, voici une réimpression de ma solution :

Après avoir examiné le fichier /var/log/syslog du serveur, j'ai découvert que rsyslog avait des problèmes pour ouvrir les fichiers dynamiques. Il s'avère que la configuration par défaut d'Ubuntu 10.04 LTS pour rsyslog n'est pas adaptée aux fichiers journaux dynamiques (basés sur des modèles). Le correctif proposé, dû à Richard Fleming, est le suivant :

--- /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/

Pour plus d'informations, voir : https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/484336

-1voto

Dexter Legaspi Points 99

J'ai rencontré ce même problème étrange et ma solution est plus simple (le fil se résume à un problème de permissions)... puisque le fichier d'état ne contient pas d'informations sensibles :

chmod 777 /var/lib/rsyslog

puis redémarrez rsyslog plusieurs fois.

Avis de non-responsabilité : Je sais que ce n'est pas une bonne pratique de donner à tout le monde tout ce qui se trouve dans un répertoire et que cette solution de contournement est un peu idiote, mais dans ce cas, avec la cause inexpliquée du bug rsyslog, j'ai dû faire une exception puisque le dossier est exclusivement utilisé pour les fichiers d'état pour rsyslog . Notez que j'ai essayé d'autres chown pour accorder des privilèges à l'utilisateur effectif rsyslog, sans succès, d'où cette solution de contournement stupide.

1 votes

NOPE NOPE NOPE NOPE -- ne jamais, jamais accorder des permissions "tout le monde peut tout faire" sur un répertoire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X