ТЕХНОЛОГИИ

После перезапуска неверное время: TLS-ошибки и порядок событий в логах

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Неверные часы узла способны вызвать TLS not yet valid и исказить порядок событий в логах. Сначала сравните текущее время и certificate validity. Для телеметрии различайте Timestamp источника и ObservedTimestamp сборщика: они не являются двумя измерениями одного и того же момента.

Неверные часы узла способны вызвать TLS not yet valid и исказить порядок событий в логах. Сначала сравните текущее время и certificate validity. Для телеметрии различайте Timestamp источника и ObservedTimestamp сборщика: они не являются двумя измерениями одного и того же момента.

Найдите часы, которыми проверяют сертификат

Сохраните UTC-время узла, контейнера и доверенного контрольного источника, учитывая доступные полномочия. Контейнер обычно зависит от времени хоста, но приложение может преобразовывать часовые пояса и форматировать логи отдельно. Ошибка отображения timezone не обязательно означает неверный system clock. Запишите сырой timestamp и его единицу. Для TLS важен момент проверки относительно notBefore/notAfter, а не локально отформатированная строка времени в интерфейсе оператора или dashboard.

Официальный источник 1.

Проверьте validity и identity отдельно

RFC 5280 задаёт период валидности сертификата от notBefore до notAfter включительно. Сравните его с фактическими часами клиента, затем отдельно проверьте цепочку и имя сервиса. Не перевыпускайте сертификат автоматически при каждом not yet valid: проблема может быть в узле после восстановления или старта. В то же время корректные часы не исправляют действительно истёкший сертификат. Сохраните fingerprint, чтобы сравнение до и после касалось одного и того же leaf.

Официальный источник 2.

Разберите два времени логирования

OpenTelemetry Timestamp отражает время события по часам источника, ObservedTimestamp — время, когда событие увидел сборщик. В учебном случае worker ошибается по времени на 5 минут, а Collector принимает записи с правильными часами. Сортировка по Timestamp меняет видимую последовательность между узлами. Сортировка по ObservedTimestamp показывает приём, но не восстанавливает истинную причинность при сетевой задержке и buffering. Число 5 минут иллюстрирует расхождение, а не допустимый эксплуатационный порог.

ПолеЗначение в расследовании
System UTCОснова клиентской проверки времени
Certificate validityРазрешённый интервал сертификата
TimestampЧасы источника события
ObservedTimestampЧасы места наблюдения

Исправьте источник времени

Проверьте предусмотренный механизм синхронизации узла и состояние после reboot/restore. Не двигайте системные часы произвольно в рабочем окружении без оценки влияния на процессы и наблюдаемость. Отдельно исправьте неверное преобразование timezone, если raw timestamps корректны. В отчёте укажите, какой слой изменён: host synchronization, application formatting или Collector processing. Это разные операции, и их результаты нельзя объединять в один недоказанный вывод о восстановлении времени всего распределённого сервиса.

Сохраните проверяемую последовательность

Повторите TLS-подключение тем же клиентом и сравните события по обеим временным шкалам. Сохраните исходные raw записи, величину расхождения и момент исправления. Если часы делали скачок, отметьте границу, за которой прежние сравнения длительности ненадёжны. Артефакт позволяет интерпретировать исторические логи без их молчаливого переписывания. Успех состоит в корректной новой проверке и понятной истории старых событий, а не в искусственно красивом порядке строк на dashboard.

Связанные разборы: gpu owner network outage log; gpu monitoring scorecard.

← Все материалы