Ce n'est pas une solution directe mais j'autoriserais un débogage pour voir ce qui se passe dans les coulisses.
Idée n ° 1 - Journal de débogage
Pour commencer lorsque vous exécutez vos logger
commandes, vous pouvez les faire comme cela, en faisant écho aux messages à STDERR.
$ logger -s "hi"
saml: hi
Idée n ° 2 - valider votre fichier de configuration
Vous pouvez également essayer de valider votre fichier de configuration rsyslog:
$ sudo rsyslogd -N6 | head -10
rsyslogd: version 7.2.6, config validation run (level 6), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
6921.173842409:7f8b11df2780: rsyslogd 7.2.6 startup, module path '', cwd:/root
6921.175241008:7f8b11df2780: caller requested object 'net', not found (iRet -3003)
6921.175261977:7f8b11df2780: Requested to load module 'lmnet'
6921.175272711:7f8b11df2780: loading module '/lib64/rsyslog/lmnet.so'
6921.175505384:7f8b11df2780: module lmnet of type 2 being loaded (keepType=0).
6921.175520208:7f8b11df2780: entry point 'isCompatibleWithFeature' not present in module
6921.175528413:7f8b11df2780: entry point 'setModCnf' not present in module
6921.175535294:7f8b11df2780: entry point 'getModCnfName' not present in module
6921.175541502:7f8b11df2780: entry point 'beginCnfLoad' not present in module
Idée n ° 3 - Augmentez le débogage de rsyslogd
J'essaierais également d'activer le débogage du rsyslogd
démon pour plus d'informations.
$ sudo -i
$ export RSYSLOG_DEBUGLOG="/tmp/debuglog"
$ export RSYSLOG_DEBUG="Debug"
$ service rsyslog stop
$ rsyslogd -d | head -10
7160.005597645:7fae096a3780: rsyslogd 7.2.6 startup, module path '', cwd:/root
7160.005872662:7fae096a3780: caller requested object 'net', not found (iRet -3003)
7160.005895004:7fae096a3780: Requested to load module 'lmnet'
7160.005906331:7fae096a3780: loading module '/lib64/rsyslog/lmnet.so'
7160.006023505:7fae096a3780: module lmnet of type 2 being loaded (keepType=0).
7160.006030872:7fae096a3780: entry point 'isCompatibleWithFeature' not present in module
7160.006033780:7fae096a3780: entry point 'setModCnf' not present in module
7160.006036209:7fae096a3780: entry point 'getModCnfName' not present in module
7160.006038359:7fae096a3780: entry point 'beginCnfLoad' not present in module
...
...
7160.006063913:7fae096a3780: rsyslog runtime initialized, version 7.2.6, current users 1
7160.006102179:7fae096a3780: source file syslogd.c requested reference for module 'lmnet', reference count now 2
7160.006113657:7fae096a3780: GenerateLocalHostName uses 'greeneggs'
Confirmation des informations de version
$ rsyslogd -version
rsyslogd 7.2.6, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
uuid support: Yes
See http://www.rsyslog.com for more information.
Bogue confirmé et solution de contournement
L'OP a soumis cela comme un bug à Red Hat.
Le bug a été caractérisé comme suit:
Effectivement, lorsque j'ai défini l'heure de l'hôte, la machine virtuelle a eu le même mauvais moment que l'hôte. C'est alors que j'ai remarqué que / var / log / messages n'était plus mis à jour.
Il s'avère que le redémarrage du service rsyslog lui-même se connecte aux fichiers à ce stade. Si je le fais, cela est enregistré:
---
Apr 15 16:39:39 rhel7time-dev rsyslogd-3000: sd_journal_get_cursor() failed: 'Cannot assign requested address'
Apr 15 16:39:39 rhel7time-dev rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="574" x-info="http://www.rsyslog.com"] exiting on signal 15.
Apr 15 16:39:39 rhel7time-dev rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2117" x-info="http://www.rsyslog.com"] start
---
Sinon, rien n'est enregistré dans le fichier, y compris l'enregistreur.
Si je commente $ OmitLocalLogging dans rsyslog.conf, la journalisation des fichiers reprend (notez que jusqu'à ce moment-là, je n'avais pas changé rsyslog.conf).
La journalisation dans le journal n'est pas affectée par tout cela. journalctl -b affiche la journalisation, y compris tout ce qui est envoyé par l'enregistreur.
À quoi l'un des développeurs a répondu:
Lorsque ce problème se produit, vous pouvez supprimer /var/lib/rsyslog/imjournal.state
et redémarrer le démon comme solution de contournement.
rsyslog ne gère pas la date directement mais uniquement via l'API systemd. J'ai vérifié le code dans imjournal il y a un moment et cela ressemble à un problème dans systemd.
Pour référence, voir: https://github.com/rsyslog/rsyslog/issues/43
/etc/rsyslog.conf
les/etc/rsyslog.d
répertoires. Il semble que vous n'ayez rien configuré pour être routé vers un fichier journal particulier. Vous pouvez également essayer de spécifier un message syslog avecEMERG
priorité pour voir si cela passe. Exemple:logger -p EMERG not really an emergency