Модуль логов ЕдиногоАгента

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

Модуль логов ЕдиногоАгента

Эта страница объясняет, как работает модуль логов ЕдиногоАгента, как он читает, буферизует и доставляет логи, а также какие механизмы отказоустойчивости и подключения за этим стоят. В Kubernetes Оператор развёртывает и управляет единым модулем логов. Он может быть:

  • Встроен в ЕдиныйАгент на ноде (через модуль логов ЕдиногоАгента).
  • Развёрнут как отдельный DaemonSet (через модуль логов Kubernetes).

Операция, буферизация и механизмы подключения, описанные на этой странице, применимы к обеим формам. Варианты развёртывания, поддерживаемые платформы и установку см. в разделе Мониторинг логов Kubernetes.

Работа

Модуль логов читает файлы логов, извлекает релевантные данные (временные метки, серьёзность, содержимое, топологический контекст) и подготавливает логи к передаче. Он обрабатывает распространённые методы ротации файлов логов и автоматически обнаруживает файлы логов. В Kubernetes ЕдиныйАгент, развёрнутый на ноде в режиме полного стека, может получать доступ к логам ноды и ОС. Для контейнеров модуль логов захватывает логи, записанные в потоки stdout и stderr. Kubernetes хранит эти потоки как файлы на ноде, а модуль логов подхватывает их и передаёт в Ключ-АСТРОМ. Для логов, записанных внутри файловой системы контейнера, используйте sidecar-контейнер для перенаправления их в stdout/stderr, чтобы модуль логов мог их подхватить. Подробности о настройке удалённой загрузки логов см. в разделе Правила загрузки логов.

В ЕдиномАгенте версии 1.343+ на Linux с локальными дисками модуль логов сохраняет открытый дескриптор файла во время ротации, что позволяет ему немедленно читать сжатые ротационные файлы до освобождения дескриптора. Подробности и ограничения см. в разделе Шаблоны ротации логов. На других платформах или в более старых версиях ЕдиногоАгента немедленное сжатие при ротации препятствует чтению ротационного файла модулем логов. В таких случаях немедленное сжатие является нестандартной настройкой и его следует избегать.

Управление работоспособностью

Модуль логов предоставляет встроенную функцию самоконтроля и диагностики, называемую событиями самоконтроля модуля логов (SFM-события). Подробности см. в разделе Мониторинг работоспособности источников логов с помощью SFM-событий.

Выделенный процесс ЕдиногоАгента контролирует работу модуля логов; если модуль не отвечает в течение 15 минут, процесс перезапускает его. Если перезапуск не удался, задержка перед следующей попыткой удваивается: начиная с десяти секунд и ограничиваясь одним часом. Эта задержка сбрасывается после успешной работы модуля логов в течение 20 минут. Количество попыток перезапуска не ограничено.

Интервалы опроса

ЕдиныйАгент открывает файлы логов и читает до 10 МБ данных логов за раз. После чтения дескриптор файла немедленно закрывается, а логи обрабатываются. Эта процедура повторяется до выполнения одного из следующих условий:

  • Достигнут конец файла.
  • Время обработки превышает пять минут для всех файлов, прочитанных за интервал.
  • Общий объём прочитанных данных превышает 500 МБ для всех файлов, прочитанных за интервал.

Оставшиеся логи читаются в следующем интервале. Интервал опроса составляет 60 секунд. В течение одного интервала ЕдиныйАгент открывает файлы логов и читает до 10 МБ данных логов за раз. После чтения дескриптор файла немедленно закрывается, а логи обрабатываются.

Модуль логов проверяет ротацию файлов логов каждые пять минут, но обнаруживает ротацию немедленно, если она происходит во время чтения файла. Если файл лога появляется и исчезает в течение 60-секундного интервала опроса, модуль логов может его не заметить.

В ЕдиномАгенте версии 1.311+ дескриптор файла остаётся открытым до тех пор, пока все логи не будут проанализированы. В Kubernetes модуль логов продлевает время жизни файлов логов контейнеров, сохраняя их дескрипторы открытыми до пяти минут. Это позволяет ему завершить чтение логов из недолговечных контейнеров и контейнеров, которые завершают работу, даже после исчезновения самого контейнера. Если ваш вариант использования требует более коротких интервалов опроса, обратитесь в службу поддержки Ключ-АСТРОМ.

Буферизация

Для обеспечения надёжной доставки логов модуль логов ЕдиногоАгента использует двухуровневую систему буферизации:

  • Исходные файлы логов служат первичным буфером.
  • Постоянное хранилище поддерживает транзакционно-безопасную очередь сообщений для управления связью с вашей средой Ключ-АСТРОМ или АктивнымШлюзом среды.

Постоянное хранилище обеспечивает отказоустойчивость при перезапусках как модуля логов, так и хоста. Оно хранит логи в сжатом формате с метаданными и содержит только обработанные и обогащённые данные за последний интервал обработки. Данные удаляются из постоянного хранилища, как только ваша среда Ключ-АСТРОМ подтверждает получение. Если ваша среда Ключ-АСТРОМ или АктивныйШлюз среды временно недоступны, модуль логов прекращает чтение новых логов; он возобновляет чтение после восстановления подключения. Во время сбоя исходные файлы логов служат буфером — в Kubernetes это файлы логов контейнеров, хранящиеся на ноде. Если эти файлы будут ротированы или удалены до восстановления подключения, данные будут потеряны безвозвратно. Например, кластер Kubernetes временно теряет подключение к своим АктивнымШлюзам среды: буферизованные и передаваемые логи доставляются после восстановления соединения, а логи из файлов, которые были ротированы или удалены во время сбоя, теряются.

В Kubernetes сохранение дескрипторов файлов логов контейнеров открытыми до пяти минут (см. раздел Интервалы опроса) снижает — но не устраняет — этот риск для недолговечных контейнеров. Короткие сбои, как правило, обратимы. Если проблемы с подключением сохраняются, необходимо устранить основную причину, прежде чем доставка логов сможет догнать. Во время быстрого завершения работы модуль логов пытается отправить логи перед отключением. Если хост не перезапускается, часть данных может быть потеряна.

Характеристики и ограничения

Следующие ограничения оптимизированы для отказоустойчивых крупномасштабных операций. Их изменение требует консультации со службой поддержки и анализа варианта использования.

Тип Значение по умолчанию Описание
Ёмкость хранилища 2 ГБ Сжатые логи, включая метаданные.
Скорость обработки логов 500 МБ/мин Может быть увеличена до 1 ГБ/мин, если позволяют ресурсы.

Подключение

Модуль логов поддерживает два пути передачи:

  • Прямое подключение к вашей среде Ключ-АСТРОМ.
  • Маршрутизация логов через АктивныйШлюз среды.

Сетевые зоны определяют порядок подключения для ЕдиныхАгентов. Подробности см. в разделе Сетевые зоны.

Прямое подключение

Буферизованные сообщения логов отправляются с уникальными идентификаторами сообщений, и модуль логов ожидает подтверждения (ACK) для подтверждения доставки. Если ACK не получен, модуль логов повторно отправляет сообщение, используя алгоритм экспоненциальной задержки. Каждое сообщение независимо проверяется на подтверждение, что обеспечивает надёжную доставку даже при одновременной передаче логов. Ограничения на количество повторных попыток нет; однако записи логов старше предельного возраста логов удаляются из очереди отправки. Записи логов с временной меткой старше 2 часов не создают точки метрик на основе логов.

АктивныйШлюз среды

Когда АктивныйШлюз среды используется в качестве компонента маршрутизации, он действует как транзитный узел для логов, полученных от модуля логов. Они немедленно пересылаются в вашу среду Ключ-АСТРОМ, не сохраняясь локально на АктивномШлюзе. Если ваша среда временно недоступна, логи не сохраняются на АктивномШлюзе для последующей доставки. Модуль логов включает следующие механизмы надёжности для связи с АктивнымШлюзом:

  • Он ожидает ACK для каждого сообщения, отправленного на АктивныйШлюз. Если ACK не получен вовремя, сообщение отправляется повторно.
  • Чтобы предотвратить дублирование и потерю данных, модуль логов использует те же методы ACK и экспоненциальной задержки для обработки сценариев, когда он аварийно завершается или перезапускается во время передачи.

Когда пропускная способность логов, создаваемая хостом, превышает то, что Ключ-АСТРОМ может загрузить (будь то из-за сетевых ограничений между хостом и средой, ограничений маршрутизации АктивногоШлюза или ограничений целевой среды), модуль логов отстаёт: подтверждения задерживаются, неподтверждённые записи накапливаются в очереди, а исходные файлы логов служат буфером. Если файлы логов будут ротированы или удалены до того, как модуль логов догонит, данные могут быть потеряны.

Диагностика

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