Doğrudan bir çözüm değil ama sahne arkasında neler olduğunu görmek için bazı hata ayıklama sağlar.
Fikir # 1 - Hata ayıklayıcı günlüğü
logger
Komutlarınızı çalıştırdığınızda yeni başlayanlar için bunları STDERR'a tekrarlayarak bu şekilde yapabilirsiniz.
$ logger -s "hi"
saml: hi
Fikir # 2 - Yapılandırma dosyanızı doğrulayın
Ayrıca rsyslog yapılandırma dosyanızı doğrulamayı da deneyebilirsiniz:
$ 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
Fikir # 3 - rsyslogd hata ayıklamasını aç
Ayrıca rsyslogd
daha fazla bilgi için arka plan programının hata ayıklamasını etkinleştirmeyi denerdim .
$ 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'
Sürüm bilgisini onaylama
$ 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.
Onaylanan hata ve bir geçici çözüm
OP bunu Red Hat'a bir hata olarak gönderdi.
Böcek aşağıdaki gibi karakterize edildi:
Ana bilgisayarın kendi saatini ayarladığımda, VM'nin ana bilgisayarla aynı yanlış zamana sahip olduğundan emin olabilirsiniz. İşte o zaman / var / log / mesajlarının güncellenmediğini fark ettim.
Bu noktada rsyslog hizmetinin kendisini günlüklere yeniden başlatmaktan başka bir şey çıkmaz. Bunu yaparsam bu günlüğe kaydedilir:
---
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
---
Aksi takdirde, kaydedici dahil hiçbir şey günlüğe kaydedilmez.
Ben rsyslog.conf $ OmitLocalLogging açık yorum sonra dosya günlüğü devam eder (o noktaya kadar rsyslog.conf değişmemişti dikkat edin).
Dergide oturum açmak bunlardan etkilenmez. journalctl -b günlükçünün gönderdiği her şeyi içeren günlük kaydını gösterir.
Geliştiricilerden birinin yanıt verdiği:
Bu sorun oluştuğunda, /var/lib/rsyslog/imjournal.state
geçici bir çözüm olarak arka plan programını silebilir ve yeniden başlatabilirsiniz.
rsyslog tarihi doğrudan işlemez, yalnızca systemd API'sı aracılığıyla işler. Bir süre önce haksız yere kodu kontrol ettik ve bu systemd bir sorun gibi görünüyor.
Referans için bakınız: https://github.com/rsyslog/rsyslog/issues/43
/etc/rsyslog.conf
ve/etc/rsyslog.d
dizinleri. Belirli bir günlük dosyasına yönlendirilmek üzere yapılandırılmış hiçbir şeyiniz yok gibi görünüyor. AyrıcaEMERG
bunun gerçekleşip gerçekleşmediğini görmek için öncelikli bir sistem günlüğü mesajı belirlemeyi de deneyebilirsiniz . Örnek:logger -p EMERG not really an emergency