Поддерживаемые форматы временных меток

Материал из Документация Ключ-АСТРОМ
Версия от 19:24, 18 июля 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «= Поддерживаемые форматы временных меток (Logs Classic) = Классический мониторинг логов Поиск временной метки, включающей дату, время, часовой пояс и смещение, осуществляется в первых 64 символах содержимого лога (это значение можно настроить в разделе '''Мон...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Поддерживаемые форматы временных меток (Logs Classic)

Классический мониторинг логов

Поиск временной метки, включающей дату, время, часовой пояс и смещение, осуществляется в первых 64 символах содержимого лога (это значение можно настроить в разделе Мониторинг логов > Временная метка/Шаблоны разделения). Если смещение или часовой пояс не найдены, используется локальный часовой пояс хоста.

В процессе обработки лога каждая строка, в которой обнаружена поддерживаемая метка времени, начинает новую запись лога. Строка без метки времени считается продолжением существующей записи лога и добавляется к строке, содержащей метку времени. Если метка времени отсутствует в файле лога или метка времени не распознается из-за неподдерживаемого формата, каждая строка, не начинающаяся с пробелов, например, space или tab, начинает новую запись лога. Каждая строка, начинающаяся с пробелов, например space, или tab, рассматривается как продолжение записи лога.

Из-за множества форматов входящих данных лога мониторинг логов также позволяет определять определенный формат даты с помощью правил меток времени, которые определяют, что следует считать меткой времени в записи лога. Для получения более подробной информации об определении формата даты см. раздел «Настройка меток времени лога».

Поддерживаемые форматы временных меток

  • Формат ISO 8601: %Y-%m-%d %H:%M:%S
    • Пример: 2022-04-17 11:25:12.345
  • Формат RFC 3339: %Y-%m-%dT%H:%M:%S
    • Пример: 2022-04-17T11:25:12.345
  • Формат Unix Epoch, указывающий количество миллисекунд, прошедших с 1 января 1970 года.
    • Пример: 1652088888997
  • Формат RFC 3164: %b %d %H:%M:%S
    • Пример: Apr 17 11:25:12
  • Формат Db2 (IBM Database 2): %Y-%m-%d-%H.%M.%S
    • Пример: 2022-05-17-11.25.12.114000-300
  • Формат IIS: %m/%d/%Y, %H:%M:%S
    • Пример: 04/17/2022, 11:25:12.345
  • Формат W3C (Консорциум Всемирной паутины): %Y-%m-%d %H:%M:%S
    • Пример: 2022-04-17 11:25:12.345 указан в часовом поясе UTC.
  • Формат Klog и Golang/glog: [IWEF]%m%d %H:%M:%S
    • Пример: I0408 06:40:02.634162
  • Другие распространённые форматы:
    • %d %b %Y %H:%M:%S (пример: 17 Apr 2022 11:25:12.345)
    • %Y %b %d %H:%M:%S (пример: 2022 Apr 17 11:25:12.345)
    • %d/%b/%Y:%H:%M:%S (пример: 17/Apr/2022:11:25:12.345)

Файлы JSON

Поддерживаются только для Docker. Если в файле JSON обнаружен соответствующий тег log, то соответствующее сообщение обрабатывается и анализируется. Внутри сообщения выполняется поиск по метке времени одного из поддерживаемых форматов. Если поддерживаемый формат файла не найден, выполняется поиск по тегу time. Например:

{
   "log" : "2020-11-24 11:01:36,484 CRIT Supervisor running as root (no user in config file)\n",
   "stream" : "stdout",
   "time" : "2020-11-24T11:01:36.484996713Z"
}
{
   "log" : "2020-11-24 11:01:36,500 INFO RPC interface 'supervisor' initialized\n",
   "stream" : "stdout",
   "time" : "2020-11-24T11:01:36.50065223Z"
}

Примеры допустимых форматов времени в файлах логов

Большинство поддерживаемых форматов временных меток связаны с автоматическим определением формата часового пояса. Распознаются следующие форматы часовых поясов:

  • Примеры смещения относительно зоны UTC:
    • 2022-04-17 11:25:12.345 +01:00
    • 2022-04-17 11:25:12.345 +0100
    • 2022-04-17 11:25:12.345Z -01:00
    • 2022-04-17 11:25:12.345Z-0100
    • 2022-04-17 11:25:12.345 UTC-01:00
    • 2022-04-17 11:25:12.345 GMT-0100
  • Полное название часового пояса IANA
    • Пример: 2022-04-17 11:25:12.345 Europe/Warsaw
  • Сокращенные названия часовых поясов
    • Примеры: 2022-04-17 11:25:12.345 CEST, 2022-12-17 11:25:12.345 CET, 2022-04-17 11:25:12.345Z, 2022-04-17 11:25:12.345UTC+0100

Если в строке лога не обнаружен индикатор часового пояса, то при анализе метки времени по умолчанию устанавливается часовой пояс, настроенный в разделе Настройки > Мониторинг логов > Расширенные настройки логов > Часовой пояс по умолчанию для агентов.

Изменить часовой пояс

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

Часовой пояс, используемый по умолчанию

При обработке временных меток ЕдиныйАгент учитывает как локальные часовые пояса, так и часовые пояса UTC.

Местные часовые пояса

Если в содержимом лога не указан часовой пояс, по умолчанию используются следующие форматы меток времени, соответствующие локальному часовому поясу хоста:

  • ISO 8601 (%Y-%m-%d %H:%M:%S)
  • RFC 3164 (%b %d %H:%M:%S)
  • IIS (%m/%d/%Y, %H:%M:%S)
  • Klog и Golang/glog ([IWEF]%m%d %H:%M:%S)
  • %d %b %Y %H:%M:%S
  • %Y %b %d %H:%M:%S
  • %d/%b/%Y:%H:%M:%S

Шаблоны часовых поясов UTC

Если в содержимом лога не указан часовой пояс, по умолчанию используются следующие форматы меток времени UTC:

  • RFC 3339 (%Y-%m-%dT%H:%M:%S)
  • Db2 (%Y-%m-%d-%H.%M.%S)
  • W3C (%Y-%m-%d %H:%M:%S)
  • Время Unix

Чтобы проверить, какой часовой пояс использовался для анализа временной метки, найдите в логах ЕдиногоАгента (файл oneagent-logmon-detailed.log) запись Diagnostic statistics for LGI.