Форматы данных логов ЕдиногоАгента
Форматы данных логов ЕдиногоАгента
Система мониторинга логов может считывать и анализировать:
- Логи событий Windows
Системные, логи безопасности и логи приложений автоматически обнаруживаются на хостах. Другие пользовательские форматы логов событий можно добавить вручную на уровне среды. Метка времени берется из атрибута события Event.System.TimeCreated.<xmlattr>.SystemTime.
- Логи в простом текстовом формате
Любой текстовый файл лога действителен, если он закодирован в UTF-8 или UTF-16. Метка времени определяется автоматически, если она присутствует, в соответствии с правилами, описанными в разделе «Поддерживаемые форматы меток времени (Logs Classic)». Также можно настроить метку времени. Если метка времени отсутствует, формат лога все равно считается действительным. В этом случае каждая строка, не начинающаяся с пробела, рассматривается как начало новой записи лога и автоматически получает метку времени, соответствующую времени чтения записи лога ЕдинымАгентом.
- Неправильные форматы дат
Любая запись в логе с нераспознанной меткой времени будет скорректирована с учетом текущей метки времени, чтобы обеспечить возможность обработки этой записи.
Примеры допустимых форматов времени в файлах логов
Правильный формат временной метки включает в себя как дату, так и время. Ниже приведен список возможных форматов времени, которые необходимо сопоставить с допустимыми форматами даты, перечисленными в следующем разделе:
12:23:34.123 12:23:34.123GMT+0100 12:23:34.123 GMT+0100 0:00:00 GMT 0:00:00 GMT+0100 00:00:00 12:13:01+0100 12:13:02.123 12:13:03.123123+0100 12:13:02,123 12:13:03,123123+0100 12:13:04GMT 12:13:05GMT+0100 12:13:06GMT+01 12:13:09+0100 12:13:10+01 12:13:12+0200 12:13:13.123pm 12:13:14.123 AM 12:13:15.123PM+01 12:13:16.123 AM+02 12:13:17CEST 12:13:18 CET 00:13:19
Примеры допустимых временных меток файлов логов
Ниже приведены форматы дат, которые необходимо сопоставить с форматами времени, указанными в предыдущем разделе:
2018-04-06 09:54:04.839 UTC 2018-04-06 11:01:19,625 2018/04/06 11:06:23 UTC 6 апреля 12:23:52 6 апреля 13:35:57.621
JSON-логи
Версия ЕдиныйАгент 1.327+ Поддерживается вывод логов в формате JSON.
Данные логов могут быть представлены в виде объектов JSON или массивов. Символы новой строки могут использоваться для создания многострочных объектов JSON.
Допускаются заголовки и префиксы, не являющиеся JSON-файлами. Они анализируются как обычный текст.
ЕдиныйАгент принимает заголовок в начале файла, который анализируется как обычный текст.
В логах JSON поддерживаются следующие форматы временных меток:
- Формат ISO 8601:
%Y-%m-%d %H:%M:%S - Формат RFC 3339:
%Y-%m-%dT%H:%M:%S - Формат Unix Epoch, указывающий количество секунд или миллисекунд, прошедших с 1 января 1970 года.
- Формат RFC 3164:
%b %t%d %H:%M:%S - Формат W3C (Консорциум Всемирной паутины):
%Y-%m-%d %H:%M:%S %d %b %Y %H:%M:%S%Y %b %d %H:%M:%S%d/%b/%Y:%H:%M:%S
Пример того, как эти временные метки могут отображаться в записях лога, приведен ниже:
2025-03-04 10:30:00 UTC 2025-03-04T10:30:00Z 1772616602 6 апреля 12:23:52 2025-03-04 10:30:00 17 апреля 2022 г., 11:25:12.345 17 апреля 2022 г., 11:25:12.345 17/апр/2022:11:25:12.345
Обогащение JSON-логов
ЕдиныйАгент извлекает атрибуты timestamp и loglevel из соответствующих полей объекта JSON. Это аналогично поведению API для приема логов.
Кроме того, программа извлекает атрибуты из префикса, не являющегося JSON-файлом, если таковой присутствует. В таком случае приоритет отдается значениям из префикса.
Если в одном JSON-объекте содержится несколько полей timestamp и loglevel, используется первый ключ в заданном порядке со значением, имеющим правильный формат данных. Для неподдерживаемого формата временной метки используется текущая временная метка, а значение неподдерживаемого формата временной метки сохраняется в атрибуте unparsed_timestamp. Этот атрибут не индексируется для Log monitoring Classic.
Когда поля начинаются с dt. (например, dt.trace_id или dt.span_id) и находятся в корневом или первом вложенном уровне объекта JSON, ЕдиныйАгент автоматически извлекает их и добавляет в качестве атрибутов.
Чтобы узнать больше об уровнях логирования, перейдите в раздел «Автоматическое обогащение логов».
Конфигурация
Автоматический анализ JSON включен по умолчанию. Если ЕдиныйАгент не распознает содержимое в формате JSON, файл лога обрабатывается как обычный текст.
Вы можете явно отключить разбор JSON, создав правило конфигурации временной метки, в котором опция разбора JSON отключена. Чтобы узнать, как настроить правило временной метки, перейдите в раздел «Конфигурация временной метки/разделения».
Чтобы отключить анализ JSON-данных для файла лога:
- Перейдите в Настройки > Сбор и запись > Мониторинг логов > Настройка модуля логов > Правила временных меток/разделения.
- В записи с настроенным правилом установки временной метки выберите Дополнительно (…) > Редактировать.
- Отключите опцию Определение JSON.
- Выберите Сохранить.