Vector-agent#
Vector-agent - это высокопроизводительный агент для сбора, преобразования и отправки логов, метрик и других данных телеметрии. В режиме agent он развертывается на каждом узле кластера Kubernetes и используется для локального сбора данных с контейнеров и системных компонентов.
Основные задачи и возможности
Сбор логов с pod и контейнеров: Vector может собирать логи напрямую с контейнеров, фильтровать их и направлять в различные хранилища или системы анализа (например, Loki, Elasticsearch, S3 и др.).
Интеграция с Kubernetes API: Vector взаимодействует с API Kubernetes для получения метаданных о pod, контейнерах и узлах, что позволяет добавлять контекстную информацию к собранным данным.
Обогащение данных и преобразование: поддерживает фильтрацию, парсинг, маскировку и преобразование логов и метрик перед отправкой, обеспечивая гибкость обработки данных.
Легковесность и производительность: написан на языке Rust, что делает его очень эффективным по сравнению с другими агентами, такими как Fluentd или Logstash.
Развертывание через
DaemonSet: для равномерного покрытия всего кластера Vector обычно разворачивается какDaemonSet, чтобы работать на всех узлах и собирать данные локально.Поддержка множества выходных целей: может отправлять данные в разные системы: от централизованных хранилищ (Elasticsearch, Loki) до брокеров сообщений (Kafka, NATS), облачных сервисов и конечных точек HTTP.
Примечание
Vector-agent устанавливается по умолчанию с компонентом logging. Для Vector-agent преднастроена интеграция с Vector-aggregator.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем vector-agent и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
rollWorkload – пересоздание workload при изменении ConfigMap
rollWorkloadSecrets – пересоздание workload при изменении Secret
rollWorkloadExtraObjects – пересоздание workload при изменении extraObjects
podDisruptionBudget – ограничение одновременной недоступности pod
workloadResourceAnnotations – аннотации workload-ресурса Vector
terminationGracePeriodSeconds – тайм-аут корректного завершения работы pod
affinity – правила привязки (affinity и anti-affinity) pod к узлам
topologySpreadConstraints – ограничения распределения pod по топологии
ingress – настройки Ingress для маршрутизации внешнего трафика
existingConfigMaps – внешние ConfigMap с конфигурацией Vector
persistence – параметры постоянного хранилища (PersistentVolumeClaim)
shareProcessNamespace – совместное использование пространства имен процессов контейнерами
nameOverride – переопределение имени чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение базового имени ресурсов чарта для генерации имен |
|
fullnameOverride – полное переопределение имени чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полное переопределение имени для всех создаваемых ресурсов чарта |
|
role – роль экземпляра Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Роль экземпляра Vector. |
|
daemonSet – переопределение версии API для DaemonSet#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение версии API для |
|
statefulSet – переопределение версии API для StatefulSet#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение версии API для |
|
rollWorkload – пересоздание workload при изменении ConfigMap#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация добавления контрольной суммы сгенерированного |
|
rollWorkloadSecrets – пересоздание workload при изменении Secret#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация добавления контрольной суммы сгенерированного |
|
rollWorkloadExtraObjects – пересоздание workload при изменении extraObjects#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация добавления контрольной суммы объектов из extraObjects в аннотации |
|
commonLabels – общие метки для всех ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные метки, добавляемые ко всем создаваемым ресурсам |
|
image – параметры контейнерного образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение реестра и имени образа Vector |
|
|
Политика загрузки образа Vector. |
|
|
Список |
|
|
Тег образа контейнера |
|
|
SHA-хеш образа для проверки целостности |
|
|
Базовый дистрибутив образа Vector. При указании заменяет суффикс базового дистрибутива в |
|
replicas – количество реплик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик pod |
|
hostAliases – псевдонимы хостов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список псевдонимов хостов для добавления в |
|
podManagementPolicy – политика управления pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика управления pod для |
|
secrets – секреты для использования Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор произвольных ключей и значений, добавляемых в |
|
autoscaling – настройки автомасштабирования#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Активация масштабирования внешним механизмом, например KEDA |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Минимальное количество реплик при автоматическом масштабировании |
|
|
Максимальное количество реплик при автоматическом масштабировании |
|
|
Целевой процент утилизации CPU для HPA Vector |
|
|
Целевой процент утилизации памяти для HPA Vector |
|
|
Настройка пользовательской метрики для автомасштабирования. |
|
|
Раздельная настройка поведения |
|
podDisruptionBudget – ограничение одновременной недоступности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
|
Минимальное количество pod, которое должно оставаться доступным после вытеснения ( |
|
|
Максимальное количество pod, которое может быть недоступно после вытеснения ( |
|
rbac – настройки RBAC (управление доступом на основе ролей)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация автоматического создания ресурсов RBAC |
|
|
Дополнительные правила Kubernetes RBAC, добавляемые в |
|
psp – создание PodSecurityPolicy#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание ресурса |
|
serviceAccount – настройки сервисного аккаунта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение создания |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Имя |
|
|
Активация автоматического монтирования учетных данных API в |
|
podAnnotations – аннотации pod Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации, добавляемые на pod Vector |
|
podLabels – метки pod Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Метка для pod Vector. Обычно используется для исключения логов Vector из сбора метрик |
|
podPriorityClassName – имя PriorityClass#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя |
|
podHostNetwork – использование hostNetwork#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация запуска pod Vector в сетевом пространстве узла |
|
podSecurityContext – параметры контекста безопасности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
UID пользователя, от имени которого запускаются контейнеры в pod Vector |
|
|
GID основной группы для контейнеров в pod Vector |
|
|
Тип Seccomp-профиля для pod Vector |
|
workloadResourceAnnotations – аннотации workload-ресурса Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации для ресурса |
|
securityContext – контекст безопасности контейнеров Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запуск контейнера Vector в привилегированном режиме. Требуется для создания каталогов в |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Монтирование корневой файловой системы в режиме «только для чтения» |
|
|
Список возможностей ( |
|
command – команда запуска контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Команда запуска контейнера, переопределяющая стандартный |
|
args – аргументы запуска контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аргументы, переопределяющие стандартные аргументы запуска контейнера |
|
env – параметры переменных окружения контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переменные окружения контейнера. |
|
envFrom – альтернативные источники переменных окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Источники переменных окружения ( |
|
containerPorts – порты контейнера Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Cписок портов контейнера с отключением автоматической генерации |
|
resources – запросы и ограничения ресурсов контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запросы и ограничения ресурсов для контейнера. |
|
lifecycle – хуки жизненного цикла контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Параметры |
|
minReadySeconds – минимальное время готовности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Время в состоянии |
|
updateStrategy – стратегия обновления ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Стратегия обновления ресурса. |
|
terminationGracePeriodSeconds – тайм-аут корректного завершения работы pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Время, отведенное на корректное завершение работы pod |
|
nodeSelector – селектор узлов для планирования pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Селектор узлов для планирования pod |
|
tolerations – параметры Toleration для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
|
|
affinity – правила привязки (affinity и anti-affinity) pod к узлам#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки правила привязки ( |
|
topologySpreadConstraints – ограничения распределения pod по топологии#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Ограничения топологии для равномерного распределения pod по зонам доступности и узлам |
|
service – настройки Service#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация создания |
|
|
Тип |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Задание |
|
|
Список портов |
|
|
Политика маршрутизации внешнего трафика для |
|
|
Политика маршрутизации внутреннего трафика для |
|
|
Статический IP-адрес для |
|
|
Политика использования IPv4/IPv6 для |
|
|
Список IP-семейств, поддерживаемых |
|
|
Параметр распределения трафика для |
|
serviceHeadless – настройки headless-сервиса#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание headless-сервиса |
|
ingress – настройки Ingress для маршрутизации внешнего трафика#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
|
Имя |
|
|
Аннотации |
|
|
Массив хостов |
|
|
Массив объектов TLS для |
|
existingConfigMaps – внешние ConfigMap с конфигурацией Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список существующих |
|
dataDir – путь для хранения данных Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь к каталогу данных Vector при использовании существующих |
|
customConfig – пользовательская конфигурация Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
API-адрес Vector для |
|
|
Включение встроенного API Vector |
|
|
Каталог хранения данных Vector |
|
|
Тип источника для сбора метрик хоста |
|
|
Список устройств, исключаемых из сбора метрик файловых систем |
|
|
Список файловых систем, исключаемых из сбора метрик |
|
|
Список mountpoint-шаблонов, исключаемых из сбора метрик файловых систем |
|
|
Тип источника внутренних метрик Vector |
|
|
Тип источника для чтения журнала systemd |
|
|
Тип источника для сбора логов Kubernetes pod |
|
|
Тип источника для чтения audit-логов Kubernetes из файлов |
|
|
Список файлов audit-логов Kubernetes, которые будет читать Vector |
|
|
Точка начала чтения файлового источника |
|
|
Игнорирование файлов старше указанного количества секунд |
|
|
Тип |
|
|
Список входов для |
|
|
VRL-скрипт для установки признака источника логов pod |
|
|
Тип |
|
|
Список входов для |
|
|
VRL-скрипт для установки признака источника логов узла |
|
|
Тип |
|
|
Список входов для |
|
|
VRL-скрипт для парсинга JSON audit-событий, фильтрации шума и нормализации ключевых полей |
|
|
Тип |
|
|
Список входов для |
|
|
VRL-скрипт, заполняющий поле |
|
|
Тип sink для отправки данных в upstream Vector aggregator |
|
|
Адрес удаленного Vector aggregator для отправки событий |
|
|
Список входов для sink отправки в aggregator |
|
|
Тип sink для экспорта метрик в формате Prometheus |
|
|
Адрес и порт, на которых Prometheus exporter будет слушать соединения |
|
|
Список входов для Prometheus exporter |
|
defaultVolumes – тома, монтируемые в pod по умолчанию#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тома, монтируемые в pod Vector по умолчанию. Обычно изменять не требуется. Для пользовательских томов используются |
|
defaultVolumeMounts – стандартные монтирования томов Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Стандартные |
|
extraVolumes – дополнительные тома#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные тома |
|
extraVolumeMounts – дополнительные точки монтирования томов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список дополнительных точек монтирования томов ( |
|
initContainers – init-контейнеры для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список init-контейнеров, запускаемых перед основными. |
|
extraContainers – дополнительные контейнеры#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные контейнеры для pod Vector. Поддерживает шаблоны Helm. |
|
persistence – параметры постоянного хранилища (PersistentVolumeClaim)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание и использование |
|
|
Имя существующего |
|
|
Политика сохранения |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Список access modes для |
|
|
Размер |
|
|
Список finalizers для |
|
|
Label selectors для выбора подходящего |
|
|
Включение хранения данных через |
|
|
Путь hostPath для хранения данных роли |
|
dnsPolicy – политика DNS для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика разрешения DNS для pod |
|
dnsConfig – пользовательская конфигурация DNS для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пользовательская конфигурация DNS для pod. |
|
shareProcessNamespace – совместное использование пространства имен процессов контейнерами#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение общего пространства имен процессов между контейнерами pod. Позволяет контейнерам видеть процессы друг друга и взаимодействовать через сигналы (например, с sidecar-контейнерами) |
|
livenessProbe – параметры проверки работоспособности#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройка параметров проверки работоспособности контейнера. |
|
readinessProbe – параметры проверки готовности#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройка параметров проверки готовности контейнера. |
|
startupProbe – параметры проверки успешного запуска#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройка проверки успешного запуска приложения внутри контейнера. Пока не завершится успешно, проверки работоспособности и готовности не запускаются. |
|
podMonitor – определение PodMonitor для сбора метрик Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание |
|
|
Метка, из которой Prometheus Operator будет брать имя |
|
|
Имя порта, используемого для scrape |
|
|
Путь для сбора метрик |
|
|
Интервал опроса метрик Prometheus |
|
|
Тайм-аут сбора метрик |
|
|
|
|
|
|
|
|
Список меток pod, переносимых на target метрик |
|
|
Дополнительные метки для ресурса |
|
|
Установка |
|
|
Установка |
|
logLevel – уровень логирования Vector#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Уровень логирования Vector. |
|
haproxy – встроенный балансировщик HAProxy#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание встроенного балансировщика HAProxy |
|
|
Переопределение реестра и имени образа HAProxy |
|
|
Политика загрузки образа HAProxy |
|
|
Список |
|
|
Тег образа контейнера |
|
|
Добавление контрольной суммы сгенерированного |
|
|
Количество реплик pod |
|
|
Создание |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Имя |
|
|
Автоматический монтаж учетных данных API в |
|
|
Стратегия обновления pod HAProxy. |
|
|
Время, отведенное на корректное завершение работы pod |
|
|
Аннотации для pod HAProxy |
|
|
Метки для pod HAProxy |
|
|
Имя |
|
|
Параметры контекста безопасности pod. |
|
|
Контекст безопасности контейнеров HAProxy. |
|
|
Явное задание |
|
|
Тип |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Задание |
|
|
Список портов |
|
|
Политика маршрутизации внешнего трафика для |
|
|
Статический IP-адрес для |
|
|
Политика использования IPv4/IPv6 для |
|
|
Список IP-семейств, поддерживаемых |
|
|
Имя существующего |
|
|
Полное переопределение конфигурации HAProxy. Поддерживает шаблоны Helm для подстановки значений. По умолчанию конфигурация генерируется на основе |
|
|
Дополнительные тома |
|
|
Список дополнительных точек монтирования томов ( |
|
|
Список init-контейнеров, запускаемых перед основными |
|
|
Дополнительные контейнеры для pod HAProxy. Поддерживает шаблоны Helm |
|
|
Создание |
|
|
Масштабирование HAProxy внешним |
|
|
Минимальное количество реплик при автоматическом масштабировании |
|
|
Максимальное количество реплик при автоматическом масштабировании |
|
|
Целевой процент утилизации CPU для HPA HAProxy |
|
|
Целевой процент утилизации памяти для HPA HAProxy |
|
|
Пользовательская метрика для автомасштабирования HAProxy. |
|
|
Запросы и ограничения ресурсов для контейнера. |
|
|
TCP-порт для стандартной проверки работоспособности контейнера HAProxy |
|
|
TCP-порт для стандартной проверки готовности контейнера HAProxy |
|
|
Селектор узлов для планирования pod |
|
|
|
|
|
Настройки правила привязки ( |
|
extraObjects – дополнительные объекты Helm-чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Добавление дополнительных динамических объектов в Helm-чарте. |
|