Форматы данных логов ЕдиногоАгента

Материал из Документация Ключ-АСТРОМ

Форматы данных логов ЕдиногоАгента

Система мониторинга логов может считывать и анализировать:

  • Логи событий 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-данных для файла лога:

  1. Перейдите в Настройки > Сбор и запись > Мониторинг логов > Настройка модуля логов > Правила временных меток/разделения.
  2. В записи с настроенным правилом установки временной метки выберите Дополнительно (…) > Редактировать.
  3. Отключите опцию Определение JSON.
  4. Выберите Сохранить.