ОтелHttpТранспорт
HTTP-транспорт для отправки телеметрии по протоколу OTLP.
Описание
Обеспечивает отправку данных трассировки, метрик и логов в формате JSON или protobuf по HTTP на адреса OTLP-совместимых коллекторов (Grafana LGTM, OpenTelemetry Collector и т.д.). Использует библиотеку 1connector для HTTP-запросов.
При получении HTTP-кодов 429, 502, 503, 504 транспорт автоматически выполняет повторные попытки с экспоненциальной задержкой и jitter (поддержка Retry-After).
Поддерживает протоколы http/protobuf (по умолчанию, согласно спецификации OTel) и http/json, gzip-сжатие тела запроса, а также TLS-настройки через ОтелНастройкиTls.
Конструктор
Новый ОтелHttpТранспорт(
Адрес,
НовыеЗаголовки,
Таймаут,
НовыйМаксПопыток,
Компрессия,
НастройкиTls,
НовыйПротокол,
НовыйСигнал
)| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Адрес | Строка | — | Адрес OTLP-коллектора, например "http://localhost:4318" |
НовыеЗаголовки | Соответствие | Неопределено | Дополнительные HTTP-заголовки, отправляемые с каждым запросом |
Таймаут | Число | 10 | Таймаут HTTP-запроса в секундах |
НовыйМаксПопыток | Число | 3 | Максимальное количество попыток отправки при повторяемых ошибках |
Компрессия | Строка | Неопределено | Алгоритм сжатия: "gzip" или Неопределено для отключения |
НастройкиTls | ОтелНастройкиTls | Неопределено | Настройки TLS для защищённых соединений |
НовыйПротокол | Строка | "http/protobuf" | Протокол OTLP: "http/protobuf" или "http/json" |
НовыйСигнал | Строка | "" | Сигнал телеметрии: "traces", "metrics", "logs" или пустая строка |
Методы
Отправить
Отправляет данные на указанный путь OTLP-адреса. При получении HTTP 429/502/503/504 выполняет retry с экспоненциальной задержкой. Поддерживает оба протокола: http/json и http/protobuf.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Путь | Строка | — | Путь OTLP-адреса, например "/v1/traces" |
Данные | Соответствие | — | Данные для отправки в формате OTLP JSON |
Возвращает: Булево — Истина, если отправка прошла успешно
ПолучитьЗаголовки
Возвращает HTTP-заголовки, отправляемые с каждым запросом.
Возвращает: Соответствие — заголовки HTTP-запроса
ПолучитьНастройкиTls
Возвращает настройки TLS транспорта.
Возвращает: ОтелНастройкиTls, Неопределено — настройки TLS или Неопределено, если не заданы
Пример
#Использовать opentelemetry
// Простой HTTP-транспорт
Транспорт = Новый ОтелHttpТранспорт("http://localhost:4318");
// С заголовками авторизации и gzip-сжатием
Заголовки = Новый Соответствие();
Заголовки.Вставить("Authorization", "Bearer mytoken");
Транспорт = Новый ОтелHttpТранспорт("https://collector.example.com", Заголовки, 30, 5, "gzip");
// С настройками TLS
НастройкиTls = Новый ОтелНастройкиTls();
НастройкиTls.ФайлСертификата = "/etc/ssl/ca.crt";
Транспорт = Новый ОтелHttpТранспорт("https://collector.example.com", , , , , НастройкиTls);
// Использование с экспортером спанов
ЭкспортерСпанов = Новый ОтелЭкспортерСпанов(Транспорт);