Управление трафиком

Данный раздел описывает настройки для контроля трафика логов с применением семплирования, ограничения частоты событий и дедупликации. Это позволяет улучшать производительность системы, эффективно управляя нагрузкой на систему сбора логов.

Настройки могут быть применены как ко всем логам в рамках пространства целиком, так и лишь к определенным группам логов — например, к логам в рамках сервиса.

Управление трафиком осуществляется в разделе Настройки → Пространства и сервисы → Управление трафиком веб-интерфейса системы.

Раздел доступен только учетным записям со статусом Суперадминистратор.

Настройка управления трафиком

Чтобы настроить управление трафиком:

  1. Перейдите в раздел Настройки → Пространства и сервисы → Управление трафиком.

  2. Задайте следующие настройки:

  3. Чтобы сохранить внесенные изменения, нажмите на кнопку Сохранить в нижней части раздела.

    Вносите изменения в настройки с осторожностью. Некорректные настройки могут привести к повышенной нагрузке на систему или потере данных.

    Чтобы отменить все несохраненные изменения, нажмите на кнопку Отменить в нижней части раздела.

    Чтобы сбросить все настройки до значений по умолчанию, нажмите на кнопку Сбросить настройки в нижней части раздела.

Семплирование логов

Семплирование логов — механизм оптимизации, при котором для хранения и анализа отбирается только часть поступивших логов.

Настройки семплирования сгруппированы по следующим секциям:

Глобальные настройки семплирования

  • Делитель семплирования (глобальный) — целое положительное число, определяющее, какой по счету лог в пространстве необходимо сохранить. Например, если делитель равен 100, то в системе сохраняется только 1 из каждых 100 логов, поступивших в пространство, остальные — удаляются.

    По умолчанию параметр равен 1. Это означает, что в системе сохраняются все логи, поступающие в каждое пространство.

  • Правило исключения из семплирования (глобальное) — условие на языке VRL, определяющее, нужно ли исключить событие из семплирования. Должно возвращать логическое значение:

    • true — событие сохраняется без участия в семплировании.

    • false — событие участвует в семплировании.

    Пример правила исключения из семплирования
    .metadata."evo.space/space-id" == "space-1"

    Данное правило означает, что в системе без семплирования будут сохраняться все логи из пространства с ID space-1.

Точечные настройки семплирования

  • Делитель семплирования — целое положительное число, определяющее, какой по счету лог в группе необходимо сохранить. Например, если делитель равен 100, то в системе сохраняется только 1 из каждых 100 логов в группе, остальные — удаляются.

    По умолчанию параметр равен 1. Это означает, что в системе сохраняются все логи из каждой группы.

  • Группировать логи по полю — поле, по которому необходимо группировать логи для семплирования. Логи с одинаковым значением поля будут объединены в группу. Каждая группа участвует в семплировании независимо от других.

    По умолчанию параметр имеет следующее значение:

    '{{.metadata."evo.space/workload-id"}}'

    Это означает, что для семплирования все логи группируются по ID сервиса.

  • Правило исключения из семплирования — условие на языке VRL, определяющее, нужно ли исключить событие из семплирования. Должно возвращать логическое значение:

    • true — событие сохраняется без участия в семплировании.

    • false — событие участвует в семплировании.

    Пример правила исключения из семплирования
    .metadata."evo.space/space-id" == "space-1"

    Данное правило означает, что в системе без семплирования будут сохраняться все логи из пространства с ID space-1.

    По умолчанию параметр равен true. Это означает, что все логи в каждой группе сохраняются в системе без семплирования.

Ограничение частоты событий (троттлинг)

Троттлинг — механизм ограничения количества событий, которое система может обрабатывать. При достижении порогового количества событий новые события отбрасываются, пока поток событий не вернется к значениям ниже порога.

Настройки троттлинга сгруппированы по следующим секциям:

Глобальные настройки троттлинга

  • Порог событий (глобальный) — количество событий в пространстве, при достижении которого включается механизм троттлинга.

    По умолчанию параметр равен 1000000. Это означает, что троттлинг активируется при достижении 1 000 000 событий в пространстве.

  • Размер временного окна (глобальный) — количество секунд, в течение которых происходит подсчет событий.

    По умолчанию параметр равен 1. Это означает, что троттлинг активируется при достижении порога событий за 1 секунду.

  • Условие для исключения (глобальное) — условие на языке VRL, определяющее, нужно ли исключить событие из троттлинга. Должно возвращать логическое значение:

    • true — событие не участвует в троттлинге.

    • false — событие участвует в троттлинге.

    Пример правила исключения из троттлинга
    .metadata."evo.space/space-id" == "space-1"

    Пример выше означает, что логи из пространства с ID space-1 не будут участвовать в механизме троттлинга.

    По умолчанию параметр равен true. Это означает, что при подсчете порога событий никакие логи в пространстве не участвуют в механизме троттлинга.

Точечные настройки троттлинга

  • Порог событий — количество событий в группе, при достижении которого включается механизм троттлинга.

    По умолчанию параметр равен 1000000. Это означает, что троттлинг активируется при достижении 1 000 000 событий в группе.

  • Размер временного окна — количество секунд, в течение которых происходит подсчет событий.

    По умолчанию параметр равен 1. Это означает, что троттлинг активируется при достижении порога событий за 1 секунду.

  • Правило группировки — поле, по которому необходимо группировать логи для троттлинга. Логи с одинаковым значением поля будут объединены в группу. Каждая группа участвует в троттлинге независимо от других.

    По умолчанию параметр имеет следующее значение:

    '{{.metadata."evo.space/workload-id"}}'

    Это означает, что для троттлинга все логи группируются по ID сервиса.

  • Условие для исключения — условие на языке VRL, определяющее, нужно ли исключить событие из троттлинга. Должно возвращать логическое значение:

    • true — событие не участвует в троттлинге.

    • false — событие участвует в троттлинге.

    Пример правила исключения из троттлинга
    .metadata."evo.space/space-id" == "space-1"

    Пример выше означает, что логи из пространства с ID space-1 не будут участвовать в механизме троттлинга.

    По умолчанию параметр равен true. Это означает, что при подсчете порога событий никакие логи в группе не участвуют в механизме троттлинга.

Дедупликация событий

Дедупликация событий — механизм, позволяющий обнаруживать и удалять дублирующиеся события (дубликаты). Дубликатами считаются логи, у которых совпадают значения следующих полей:

  • timestamp — метка времени.

  • message — сообщение.

  • host — идентификатор хоста, на котором произошло событие.

  • metadata."evo.space/workload-id" — ID сервиса.

Удаление дубликатов происходит следующим образом:

  1. Система проверяет, есть ли запись о логе в кэше:

    • Если записи нет, то лог считается уникальным и добавляется в кэш.

    • Если запись есть, то лог считается дубликатом и отбрасывается.

  2. Если кэш переполнен, система освобождает место для новых записей, удаляя старые.

Таким образом, пока кэш не заполнен, гарантируется отсутствие дубликатов логов. Количество записей, которые могут храниться в кэше, задается в параметре Размер кэша дедупликации.

По умолчанию параметр равен 1. Это означает, что в кэше может одновременно храниться только одна запись, то есть дедупликация не происходит.

Была ли полезна эта страница?

Обратная связь