To dziwny problem.
Testowałem usługi chrony / ntp na maszynie wirtualnej RHEL7 i resetowałem czas, jak również hosta. Kiedy byłem z tego zadowolony, sprawdziłem /var/log/messages
i zdałem sobie sprawę, że od jakiegoś czasu nie uległo to zmianie.
Teraz bez względu na to, co robię, nic nie jest rejestrowane, z wyjątkiem sytuacji, gdy ponownie uruchamiam samą usługę rsyslog; kiedy to dostaję to:
Apr 15 13:59:43 mymachine1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2847" x-info="http://www.rsyslog.com"] exiting on signal 2.
Apr 15 13:59:59 mymachine1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2853" x-info="http://www.rsyslog.com"] start
Apr 15 14:00:11 mymachine1 rsyslogd-3000: sd_journal_get_cursor() failed: 'Cannot assign requested address'
Próbowanie rzeczy takich jak „ logger test
nie loguj”, wydaje się, że nic więcej poza własnymi wiadomościami rsyslog. Kiedy uruchamiam rsyslog ręcznie z -n -N1
argumentami, otrzymuję:
rsyslogd: version 7.4.2, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye
Wydaje się, że z jakiegoś powodu nic nie może zalogować się przez rsyslog. Druga identyczna maszyna wirtualna na tym samym hoście (która nie przechodziła przez ten sam cykl wielokrotnego wyłączania ntp, zmieniając datę i wielokrotnie uruchamiając ponownie) z tymi samymi logami plików rsyslog.conf.
W tym momencie data / godzina są poprawne, chrony są włączone i działają, i zrestartowałem kilka razy - po 30 sekundach wiadomości jądra nic więcej się nie loguje.
Myśli?
/etc/rsyslog.conf
i/etc/rsyslog.d
katalogi. Wygląda na to, że nie masz nic skonfigurowanego do przekierowania do określonego pliku dziennika. Możesz także spróbować określićEMERG
priorytetowo wiadomość syslog, aby sprawdzić, czy to się uda. Przykład:logger -p EMERG not really an emergency
systemd
(do którego migrował RHEL7, IIRC) Czy możesz sprawdzić,journalctl -b
czy twoje dzienniki idą do dziennika systemowego?Odpowiedzi:
Nie jest to bezpośrednie rozwiązanie, ale pozwoliłbym na debugowanie, aby zobaczyć, co dzieje się za kulisami.
Pomysł nr 1 - Rejestrator debugowania
Na początek, kiedy uruchamiasz swoje
logger
polecenia, możesz to zrobić w ten sposób, wysyłając komunikaty do STDERR.Pomysł nr 2 - sprawdź poprawność pliku konfiguracyjnego
Możesz także spróbować sprawdzić poprawność pliku konfiguracyjnego rsyslog:
Pomysł nr 3 - Włącz debugowanie rsyslogd
Również spróbuję włączyć debugowanie
rsyslogd
demona, aby uzyskać więcej informacji.Potwierdzanie informacji o wersji
Potwierdzony błąd i obejście
OP zgłosił to jako błąd do Red Hata.
Błąd został scharakteryzowany następująco:
Na który odpowiedział jeden z programistów:
źródło
W moim przypadku
systemctl restart systemd-journald
pomogło, ponieważźródło
Spróbuj sprawdzić rsyslog conf za pomocą: rsyslogd -f /etc/rsyslog.conf -N 1
Jeśli wszystko jest w porządku, spróbuj zrestartować systemd-journald.socket za pomocą: systemctl restart systemd-journald.socket
, możesz użyć polecenia „logger”, aby sprawdzić jeśli rsyslog działa, czy nie: logger „hello”
źródło