Тип сервиса ServiceHttpKafkaProxy#
Тип сервиса service_http_kafka_proxy предназначен для передачи http запросов в Kafka.
В контексте service объявляется соответствующий тип сервиса service_http_kafka_proxy:
service:
service_http_kafka_proxy:
Сервис представляет собой группу, включающую в себя следующие параметры.
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Обязательный |
Общие настройки для подключения к Kafka |
Последовательность параметров и их значения |
— |
|
Обязательный (в рамках |
Список брокеров Kafka в формате хост:порт. Для разделения нескольких значений использовать запятую |
Текстовое значение, например: |
— |
|
Обязательный |
Указание разрешенных методов запроса и параметров запроса |
Группа параметров, описанных в разделе Параметр allowed_queries |
Значения группы задаются пользователем |
|
Опциональный |
Идентификатор клиента Kafka |
Текстовое значение |
— |
|
Опциональный |
Метод сжатия сообщения |
|
— |
|
Опциональный |
Идентификатор разделов topic |
Текстовое значение |
Автоматически по идентификатору сообщения |
|
Опциональный |
Алгоритм распределения сообщений по разделам |
|
|
|
Опциональный |
Уровень логирования syslog — 3 |
Целочисленное значение (0-7) |
|
|
Опциональный |
Количество повторных попыток отправки сообщений |
Целочисленное значение (0-10000000) |
|
|
Опциональный |
Максимальное количество сообщений в локальной очереди |
Целочисленное значение (1-10000000) |
|
|
Опциональный |
Время отката в миллисекундах |
Целочисленное значение (0-3600000) |
|
|
Опциональный |
Уровень сжатия |
Целочисленное значение (-1-12) |
|
|
Опциональный |
Максимально допустимый размер сообщения |
Целочисленное значение (1000-1000000000) |
|
|
Опциональный |
Максимально допустимый размер сообщения, копируемого в буфер |
Целочисленное значение (1000-1000000000) |
|
|
Опциональный |
Таймаут локального сообщения (время ожидания для доставки) |
Целочисленное значение |
|
|
Опциональный |
Период обновления topic и метаданных в миллисекундах |
Целочисленное значение (1-3600000) |
|
|
Опциональный |
Алгоритм валидации имени хоста брокера |
|
|
|
Опциональный |
Верификация серверного сертификата брокера средствами openssl |
|
|
|
Опциональный |
Журнал отладки |
|
|
|
Опциональный |
SSL/TLS соединение |
|
|
|
Опциональный (если |
Местоположение хранилища ключей (только формат pkcs12) |
Текстовое значение |
— |
|
Опциональный (если |
Файл, содержащий пароль для хранилища ключей |
Текстовое значение |
— |
|
Опциональный (если |
Местоположение клиентского сертификата |
Текстовое значение |
— |
|
Опциональный (если |
Имя файла сертификатов доверенных CA для проверки клиентских сертификатов |
Текстовое значение |
— |
|
Опциональный (если |
Местоположение клиентского ключа |
Текстовое значение |
— |
|
Опциональный |
Список сервисов |
Последовательность параметров и их значения |
— |
|
Обязательный (в рамках |
Идентификатор сервиса. Значение должно быть уникальным |
Текстовое значение (строка, число или их комбинация, разделитель — «_») |
— |
|
Обязательный (в рамках |
Относительный url, на котором будет работать сервис. Значение должно быть уникальным |
Строковое значение |
— |
|
Обязательный (в рамках |
Topic Kafka |
Текстовое значение |
— |
|
Опциональный (в рамках |
Технологическое название сервиса. Значение должно быть уникальным |
Текстовое значение |
— |
|
Опциональный (в рамках |
Версия профиля данного сервиса |
Текстовое значение |
— |
|
Опциональный (в рамках |
Строка с описанием сервиса |
Текстовое значение |
— |
|
Опциональный (в рамках |
Настройки прослушивания. Если не указан, используются unix-сокеты |
Последовательность параметров, описанных в разделе Параметр listen |
— |
|
Опциональный (в рамках |
Виртуальное имя сервера |
Последовательность строковых значений |
|
|
Опциональный (в рамках |
Таймауты, сессия, ограничения, утилиты и др. |
Параметры, описанные в разделе «ServiceHttpKafkaProxy - optional» |
— |
|
Опциональный (в рамках |
Динамическая генерация ответов на запросы о состоянии экземпляра или сервиса |
Параметры, описанные в разделе Пaраметр healthcheck_dynamic |
— |
|
Опциональный (в рамках |
Фильтр modsecurity — проверка download/upload трафика на наличие угроз |
Группа параметров и их значения |
— |
|
Опциональный (в рамках |
Преобразование заголовков при выполнении заданных условий |
Параметры, описанные в разделе Фильтр Transformations |
— |
|
Опциональный (в рамках |
Валидация тела запроса/ответа. Альтернатива: JsonValidation и XsdValidation |
Параметры, описанные в разделе Валидация |
— |
|
Опциональный (в рамках |
Постобработчик postprocessor_error для формирования сообщения об ошибке по шаблону |
Группа параметров и их значения |
— |
ServiceHttpKafkaProxy - allowed_queries#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Обязательный |
Разрешенный метод запроса для сервиса |
|
— |
|
Опциональный |
Множество допустимых параметров запроса и допустимых значений |
Последовательность параметров и их значения |
— |
|
Обязательный (в рамках |
Имя параметра. Значение должно быть уникальным |
Строковое значение |
— |
|
Обязательный (в рамках |
Значение, которое может принимать параметр name. Не чувствительно к регистру. Есть возможность использования регулярного выражения |
Текстовое значение |
— |
ServiceHttpKafkaProxy - optional#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Опциональный |
Возможность отправки пустого сообщения в брокер Kafka |
|
|
|
Опциональный |
Передача заголовков http запросов в заголовки сообщения Kafka |
|
|
|
Опциональный |
Список заголовков http запросов, блокируемых для отправки в Kafka (без учета регистра) |
Последовательность текстовых значений |
— |
|
Опциональный |
Синхронный режим доставки сообщений в Kafka, код ответа при ошибке, таймаут проверки доставки |
Группа параметров и их значения |
— |
|
Опциональный (в рамках |
Вкл./Откл. block_mode. Если выключен, транзакции с любыми статус-кодами будут добавлены в очередь |
|
|
|
Опциональный (если |
Клиент будет ожидать результат доставки сообщения или таймаут |
|
|
|
Опциональный (если |
Время ожидания результата доставки сообщения на topic Kafka |
Текстовое значение с суффиксом: |
— |
|
Опциональный (если |
Интервал для проверки доставки сообщений |
Текстовое значение с суффиксом: |
|
|
Опциональный (если |
Код ошибки для клиента при сбое доставки сообщения |
Целочисленное значение |
— |
|
Опциональный |
Уровень логирования для сервиса |
|
Наследуется от значения в |
|
Опциональный |
Блок настроек подключения к Kafka, специфичный для сервиса. Переопределяет общие настройки |
Структура аналогична общим настройкам |
— |
|
Опциональный |
Группировка access журналов по кодам состояния |
|
|
|
Опциональный |
Должен ли сервис быть доступен только локально |
|
— |
|
Опциональный |
Размер кэша для ssl/tls сессии |
Группа параметров и их значения |
Оценивается автоматически |
|
Обязательный (в рамках |
Тип размера кэша |
|
— |
|
Обязательный (если |
Имя размера |
Строковое значение |
— |
|
Обязательный (если |
Величина размера |
Текстовое значение с суффиксом: число (байты), |
— |
|
Опциональный |
Тело для отправки на Kafka |
Текстовое значение |
— |
|
Опциональный |
Идентификатор сообщения для отправки на Kafka |
Текстовое значение, например: |
— |
|
Опциональный |
Определение имен переменных и их значений |
Последовательность параметров и их значения |
— |
|
Обязательный (в рамках |
Имя переменной |
Текстовое значение |
— |
|
Обязательный (в рамках |
Значение переменной |
Текстовое значение |
— |
|
Опциональный |
Исключение сервисов из статистики учета реквестов/респонсов |
Последовательность строковых значений |
— |
|
Опциональный |
Ограничение скорости обработки запросов |
Параметры, описанные в разделе Параметр limit_req |
— |
|
Опциональный |
Ограничение запросов |
Параметры, описанные в разделе Пaраметр limit_requests |
— |
|
Опциональный |
Противодействие роботам и сканированию портов |
Параметры, описанные в разделе Параметр robot_mitigation |
— |
|
Опциональный |
Мониторинг поведения пользователей при доступе к серверу |
Параметры, описанные в разделе Параметр ip_behavior |
— |
|
Опциональный |
Отслеживание заголовков Set-Cookies и значений cookie в ответе. Зависит от session_module |
Параметры, описанные в разделе Параметр cookie_poisoning |
— |
|
Опциональный |
Сжатие ответа методом gzip |
Параметры, описанные в разделе Параметр gzip |
— |
|
Опциональный |
Журналирование событий |
Параметры, описанные в разделе Параметр event_hook |
— |
|
Опциональный |
Настройка файлового асинхронного ввода-вывода |
Параметры, описанные в разделе Параметр async_io |
— |
|
Опциональный |
Правила маскирования чувствительной информации в логах |
Параметры, описанные в разделе Параметр log_masking_rules |
— |
|
Опциональный |
Настройки входящих подключений по протоколу http2 |
Параметры, описанные в разделе Параметр http2 |
— |
|
Опциональный |
Параметры отправки событий конфигуратора |
Параметры, описанные в разделе Параметр logging |
— |
|
Опциональный |
Ограничение размера тела запроса |
Группа параметров и их значения |
|
|
Обязательный (в рамках |
Максимальный размер тела запроса |
Текстовое значение с суффиксом: число (байты), |
— |
|
Опциональный (в рамках |
Сброс соединения при превышении size |
|
— |
|
Опциональный |
Правила маскирования данных в заголовках и телах запросов/ответов |
Последовательность параметров и их значения |
— |
|
Опциональный (в рамках |
Тип логов |
|
|
|
Обязательный (в рамках |
Объект, к которому применяется маскирование |
|
— |
|
Обязательный (если |
Имя заголовка для маскирования |
Строковое значение |
— |
|
Обязательный (если |
Регулярное выражение с группами для определения фрагмента замены |
Текстовое значение |
— |
|
Опциональный (если |
Заменять все или первое найденное значение |
|
|
|
Опциональный (в рамках |
Символ для замены |
Строковое значение |
|
|
Опциональный |
Запрет использования HTTP pipelined requests для входящих запросов |
|
|
|
Опциональный |
Ограничение приема входящих соединений только по протоколу http2 |
|
|
|
Опциональный |
Максимальное время обработки запросов в рамках keep-alive соединения |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Секция параметров телеметрии |
Параметры, описанные в разделе Параметр opentelemetry_tracing |
Значения группы задаются пользователем |
Пример минимальной настройки сервиса:
version: 2.0.3
profile: profile_name
system:
wrk_count: 4
conn_count: 2048
service:
service_http_kafka_proxy:
settings:
brokers: hostname1:port1, hostname2:port2
instances:
- id: UserAnalytics
allowed_queries:
- method: post
url: /metrics/myapp
topic: topicname
hostname:
- localhost
listen:
- port: 80
Пример session_cache:
session_cache:
type: shared
name: my_name_size
size: 4k
Пример upload_size_limit:
upload_size_limit:
size: 40M
drop: on