как проверить, настроил ли NTP системное время в Linux?

18

У меня есть машина, которая испытывала некоторые проблемы с некоторыми вещами в реальном времени, которыми я управляю. Одно из выводов, которое у меня есть, заключается в том, что демон NTP мог перемещать время, вызывая ложные тайм-ауты.

Как мне узнать, действительно ли демон NTP перемещал время вообще? Любые журналы? Я вижу перезапуск демона NTP в / var / log / messages, но я не знаю, должна ли там быть настройка времени.

уточнить: мне нужно понять это из логов, после события. Может быть через 2 дня после корректировки времени. Запуск команд для просмотра текущего состояния не помогает.

н-александр
источник

Ответы:

8

Вы можете использовать ntpdc -c sysinfoкоманду для запроса статуса ntpd. Он возвращает вывод, похожий на этот:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      338.44917 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  8:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.003998 s
authdelay:            0.000000 s
Янне Пиккарайнен
источник
4

Файл дрейфа (/ var / lib / ntp / drift) не измеряет разницу между местным временем и временем, вычисленным ntpd на основе времени, в течение которого серверы обращались.

Вместо этого это оценочный дрейф (ошибка частоты) локальных часов (в ppm). Это значение обновляется ntpd раз в час и не уменьшается со временем.

Насколько я могу судить, это значение используется ntpd после перезагрузки, чтобы оценить, насколько неправильны локальные часы (локальные часы работают, даже когда машина выключена).

Пример: содержимое файла: 5 Машина была выключена 1 день (86400 с) 5 промилле 86400 - это 0,432 => Местные часы равны 0,432 с «в будущем»

Точки: - ntpd теперь может применить первую приблизительную поправку к местному времени (-0,432 с) сразу после запуска - ntpd сразу знает, насколько неправильны локальные часы (в этом примере: 5 ppm)

(Мне не разрешено комментировать комментарий Sirex, поэтому я добавил новый комментарий)

Мартин Шнейвейс
источник
3

у вас должно быть значение в файле дрейфа. Его местоположение будет в вашем /etc/ntp.conf

Например: "файл дрейфа / var / lib / ntp / drift"

Этот файл используется для регистрации того, как далеко ваши часы от того, что они должны быть, и медленно ntp должен уменьшать это значение с течением времени. - Это не будет сделано за один раз, потому что это может вызвать проблемы с метками времени в системе.

Sirex
источник
это хорошая информация, спасибо. Тем не менее, после того, как время было перемещено, это будет 0, и я потеряю свою информацию. Не протоколирует ли ntp какие-либо сообщения, чтобы сказать мне, что это сделано вообще?
n-alexander
3

ntpq -nc peers покажет вам ваш статус синхронизации со всеми пирами.

BillThor
источник
2

Извините, это старая ветка - надеюсь, я не нарушил здесь правила :)

В /etc/ntp.conf у меня есть строка, которая выглядит следующим образом:

#statsdir /var/log/ntpstats/

В описании говорится, чтобы раскомментировать эту строку для регистрации статистики. Я только что настроил ntp на нашем сервере, так что я не уверен, что он регистрирует, но в итоге я искал ту же информацию, так что, надеюсь, это поможет кому-то еще.

dsl101
источник