Поддерживаемые форматы временных меток
Поддерживаемые форматы временных меток (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:002022-04-17 11:25:12.345 +01002022-04-17 11:25:12.345Z -01:002022-04-17 11:25:12.345Z-01002022-04-17 11:25:12.345 UTC-01:002022-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.