Bukan solusi langsung tetapi saya akan memungkinkan beberapa debugging untuk melihat apa yang terjadi di balik layar.
Ide # 1 - Debugging logger
Sebagai permulaan ketika Anda menjalankan logger
perintah, Anda dapat melakukannya seperti itu, menggemakan pesan ke STDERR.
$ logger -s "hi"
saml: hi
Ide # 2 - memvalidasi file konfigurasi Anda
Anda juga dapat mencoba memvalidasi file konfigurasi rsyslog Anda:
$ 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
Ide # 3 - Aktifkan debugging rsyslogd
Saya juga akan mencoba mengaktifkan debugging rsyslogd
daemon untuk wawasan lebih lanjut.
$ 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'
Mengkonfirmasi info versi
$ 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.
Bug yang dikonfirmasi dan solusinya
OP mengirimkan ini sebagai bug ke Red Hat.
Bug ditandai sebagai berikut:
Benar saja ketika saya mengatur waktu tuan rumah sendiri VM memiliki waktu yang salah sama dengan tuan rumah. Saat itulah saya perhatikan / var / log / pesan tidak lagi diperbarui.
Ternyata tidak lain dari me-restart layanan rsyslog itu sendiri log ke file pada saat itu. Jika saya melakukannya ini akan dicatat:
---
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
---
Kalau tidak, tidak ada yang dicatat ke file, termasuk logger.
Jika saya berkomentar $ OmitLocalLogging di dalam rsyslog.conf maka file logging resume (perhatikan bahwa sampai saat itu saya belum mengubah rsyslog.conf).
Masuk melalui jurnal tidak terpengaruh oleh semua ini. journalctl -b menunjukkan logging, termasuk apa pun yang dikirim oleh logger.
Di mana salah satu pengembang merespons:
Ketika masalah ini terjadi, Anda dapat menghapus /var/lib/rsyslog/imjournal.state
dan memulai ulang daemon sebagai solusinya.
rsyslog tidak menangani tanggal secara langsung tetapi hanya melalui API systemd. Saya telah memeriksa kode di imjournal beberapa waktu lalu dan ini terlihat seperti masalah di systemd.
Untuk referensi, lihat: https://github.com/rsyslog/rsyslog/issues/43
/etc/rsyslog.conf
dan/etc/rsyslog.d
direktori. Sepertinya Anda tidak memiliki apa pun yang dikonfigurasi untuk diarahkan ke file log tertentu. Anda juga dapat mencoba menentukan pesan syslog denganEMERG
prioritas untuk melihat apakah itu berhasil. Contoh:logger -p EMERG not really an emergency