Как отключить спам в сообщении systemd «Время было изменено» в журнале systemd при использовании sdwdate?

10

Из-за комбинированного использования Debian stretch, который использует systemd по умолчанию, и sdwdate (который использует Slow Clock Adjuster ( gh )), мои системные часы часто меняются.

В результате journalctl -fполучает бесконечный спам.

[...]
Nov 07 13:46:49 host systemd[766]: Time has been changed
Nov 07 13:46:50 host systemd[766]: Time has been changed
Nov 07 13:46:51 host systemd[766]: Time has been changed
[...]

Это не было проблемой в Debian wheezy, который использовал sysvinit.

Как настроить systemd так, чтобы сообщение не отправлялось Time has been changedв журнал?

Смежный вопрос Как отключить спам в системном сообщении «Время было изменено» в / var / log / syslog в Debian jessie? была решена, но это решение не будет работать здесь.

adrelanos
источник
systemdглубоко заботится о таймерах. Кажется, это вызвано обновлением аппаратных часов, например hwclock --systohc, вы звоните так каждую секунду?
mr.spuratic
@ mr.spuratic, глядя на связанный источник, похоже, именно это и происходит.
Дэн Гетц,
Да, это то, что делает медленная настройка часов (sclockadj). @ mr.spuratic
adrelanos
1
Запрос функции systemd: option to disable systemd's “Time has been changed” message spam in journal log github.com/systemd/systemd/issues/5207
adrelanos

Ответы:

10

Сообщение приходит из src/core/manager.cисточников systemd. Он жестко запрограммирован на использование уровня ведения журнала INFO.

По умолчанию systemd регистрирует сообщения, имеющие уровень INFO, если вы можете изменить его, выбрав /etc/systemd/system.conf:

LogLevel=notice

но вы потеряете немало других информационных сообщений.

Лучше всего починить src/core/manager.c:

 log_struct(LOG_DEBUG,
            MESSAGE_ID(SD_MESSAGE_TIME_CHANGE),
            "MESSAGE=Time has been changed",
            NULL);

( LOG_DEBUGопределяется как следующий более высокий и самый высокий уровень в sys/syslog.h) или закомментируйте все сообщение.

Я не нашел способ сообщать только об изменениях таймера, которые имеют минимальный размер X секунд. Но если это возможно, это, несомненно, сделает более сложным и подверженным ошибкам патч.

Энтон
источник