OpenTelemetry Span Metrics Gateway: различия между версиями
Azubarev (обсуждение | вклад) Новая страница: «= OpenTelemetry Span Metrics Gateway = Расширение принимает трассировки по протоколу OTLP/HTTP, формирует из спанов метрики количества вызовов и продолжительности и при необходимости пересылает исходные трассировки в кластер Ключ-АСТРОМ. Расширение выполняется удалённ...» |
Azubarev (обсуждение | вклад) [wiki-cd:ruscomtech-extensions:b0985a6744c086353b26ac217dfa652296b8c814] |
||
| Строка 1: | Строка 1: | ||
= OpenTelemetry Span Metrics Gateway = | = OpenTelemetry Span Metrics Gateway = | ||
Расширение принимает трассировки по протоколу OTLP/HTTP, формирует из спанов метрики количества вызовов и | Расширение версии <code>0.1.20</code> принимает трассировки по протоколу OTLP/HTTP, формирует из спанов метрики количества вызовов, продолжительности и числовых атрибутов и при необходимости пересылает исходные трассировки в кластер Ключ-АСТРОМ. | ||
Расширение выполняется удалённо на сервере EEC. | Расширение выполняется удалённо на сервере EEC. | ||
| Строка 13: | Строка 13: | ||
* поддержка сжатия gzip; | * поддержка сжатия gzip; | ||
* создание метрик количества и продолжительности спанов; | * создание метрик количества и продолжительности спанов; | ||
* агрегация выбранных числовых атрибутов спанов; | |||
* добавление атрибутов спанов в измерения метрик; | * добавление атрибутов спанов в измерения метрик; | ||
* ограничение количества временных рядов; | * ограничение количества временных рядов; | ||
| Строка 42: | Строка 43: | ||
== Требования == | == Требования == | ||
* Ключ-АСТРОМ <code>1.300+</code>. | |||
* АктивныйШлюз с включённым EEC и средой Python не ниже <code>3.10</code> в составе EEC. Локальное выполнение на ЕдиномАгенте не поддерживается; зависимости поставляются в пакете расширения. | |||
* На выбранном сервере EEC должен быть свободен TCP-порт для приёма OTLP-запросов. | * На выбранном сервере EEC должен быть свободен TCP-порт для приёма OTLP-запросов. | ||
* Приложения или OpenTelemetry Collector должны иметь сетевой доступ к серверу EEC. | * Приложения или OpenTelemetry Collector должны иметь сетевой доступ к серверу EEC. | ||
| Строка 49: | Строка 52: | ||
Стандартный порт OTLP/HTTP — <code>4318</code>. Если он уже используется другим сервисом, укажите свободный порт. | Стандартный порт OTLP/HTTP — <code>4318</code>. Если он уже используется другим сервисом, укажите свободный порт. | ||
Входящий приёмник использует HTTP, а Bearer-токен сам по себе не шифрует соединение. Ограничьте доступ к порту доверенными отправителями; если требуется шифрование на входе, используйте защищённый канал или TLS на обратном прокси. Параметр проверки TLS в расширении относится к исходящей пересылке, а не к приёмнику. | |||
== Установка расширения == | == Установка расширения == | ||
| Строка 57: | Строка 62: | ||
# Откройте расширение <code>ru.ruscomtech.otel-span-metrics-gateway</code>. | # Откройте расширение <code>ru.ruscomtech.otel-span-metrics-gateway</code>. | ||
# Добавьте конфигурацию мониторинга. | # Добавьте конфигурацию мониторинга. | ||
# Выберите группу EEC, на которой должен работать OTLP-шлюз. | # Выберите группу АктивныхШлюзов с EEC, на которой должен работать OTLP-шлюз. | ||
# Добавьте конечную точку шлюза и заполните параметры. | # Добавьте конечную точку шлюза и заполните параметры. | ||
# Сохраните и активируйте конфигурацию. | # Сохраните и активируйте конфигурацию. | ||
| Строка 65: | Строка 70: | ||
== Настройка шлюза == | == Настройка шлюза == | ||
* '''Адрес прослушивания''' (<code>listen_address</code>) — IP-адрес интерфейса узла выполнения. По умолчанию <code>0.0.0.0</code>, то есть все интерфейсы. | |||
* '''Порт прослушивания''' (<code>listen_port</code>) — TCP-порт OTLP/HTTP, по умолчанию <code>4318</code>. | |||
* '''Пересылать трейсы в кластер''' (<code>forward_traces</code>) — по умолчанию включено. При выключении создаются только метрики. | |||
* '''URL для OTLP-трейсов кластера''' (<code>forward_url</code>) — полный адрес OTLP API с путём <code>/v1/traces</code>; обязателен при включённой пересылке. | |||
* '''API-токен кластера''' (<code>forward_api_token</code>) — секретное поле для токена с разрешением <code>openTelemetryTrace.ingest</code>, если целевой endpoint требует аутентификации. | |||
* '''Проверять TLS-сертификат кластера''' (<code>verify_forward_tls</code>) — по умолчанию включено. Не отключайте проверку в рабочей среде. | |||
* '''Bearer-токен приёмника''' (<code>receiver_bearer_token</code>) — необязательный секрет для входящих запросов. Отправители должны передавать <code>Authorization: Bearer <token></code>. | |||
* '''Атрибуты спана для dimensions''' (<code>dimension_attributes</code>) — список ключей через запятую, по умолчанию <code>peer.service,net.peer.ip</code>. | |||
* '''Числовые атрибуты спана''' (<code>numeric_attributes</code>) — до 20 ключей через запятую для агрегации числовых значений. По умолчанию поле пустое и сбор отключён. | |||
* '''Максимальное количество временных рядов''' (<code>max_series</code>) — предел уникальных комбинаций измерений за интервал отправки, по умолчанию <code>2000</code>, диапазон <code>100–20000</code>. | |||
* '''Максимальный размер распакованного OTLP-запроса''' (<code>max_request_mib</code>) — по умолчанию <code>8 MiB</code>, диапазон <code>1–64 MiB</code>. | |||
* '''Рабочие потоки приёмника''' (<code>worker_threads</code>) — число параллельно обрабатываемых запросов, по умолчанию <code>4</code>. | |||
* '''Размер очереди запросов''' (<code>request_queue_size</code>) — число запросов в ожидании свободного потока, по умолчанию <code>16</code>. | |||
* '''Интервал отправки метрик''' (<code>flush_interval_seconds</code>) — по умолчанию <code>15</code> секунд, диапазон <code>5–300</code>. | |||
* '''Тайм-аут пересылки трейсов''' (<code>forward_timeout_seconds</code>) — ожидание ответа OTLP API, по умолчанию <code>10</code> секунд; используется только при включённой пересылке. | |||
Пример URL для пересылки трассировок через | Пример URL для пересылки трассировок через АктивныйШлюз окружения: | ||
<pre> | <pre> | ||
| Строка 137: | Строка 96: | ||
== Настройка отправителя OTLP == | == Настройка отправителя OTLP == | ||
Пример переменных окружения приложения | Пример переменных окружения приложения с OpenTelemetry SDK: | ||
<pre> | <pre> | ||
| Строка 172: | Строка 131: | ||
exporters: | exporters: | ||
otlp_http/span_metrics_gateway: | otlp_http/span_metrics_gateway: | ||
traces_endpoint: http://eec.example.local:4318 | traces_endpoint: http://eec.example.local:4318/v1/traces | ||
encoding: proto | encoding: proto | ||
compression: gzip | compression: gzip | ||
| Строка 208: | Строка 167: | ||
exporters: | exporters: | ||
otlphttp/span_metrics_gateway: | otlphttp/span_metrics_gateway: | ||
traces_endpoint: http://eec.example.local:4318 | traces_endpoint: http://eec.example.local:4318/v1/traces | ||
</pre> | </pre> | ||
В <code>traces_endpoint</code> указывается полный путь <code>/v1/traces</code>; в отличие от общего <code>endpoint</code>, этот параметр не добавляет путь автоматически. См. [https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlphttpexporter документацию OTLP HTTP exporter]. | |||
После изменения конфигурации перезапустите OpenTelemetry Collector и проверьте появление метрики <code>otel.span.gateway.requests</code>. | После изменения конфигурации перезапустите OpenTelemetry Collector и проверьте появление метрики <code>otel.span.gateway.requests</code>. | ||
| Строка 289: | Строка 250: | ||
Количество таких спанов отображается в метрике <code>otel.span.gateway.overflow_spans</code>. | Количество таких спанов отображается в метрике <code>otel.span.gateway.overflow_spans</code>. | ||
== Сбор числовых атрибутов == | |||
В поле '''Числовые атрибуты спана''' (<code>numeric_attributes</code>) перечислите до 20 точных ключей, например: | |||
<pre> | |||
order.amount,items.count | |||
</pre> | |||
Для каждого ключа расширение отправляет <code>otel.span.attribute.value</code> с измерением <code>attribute.key</code> и агрегатами минимума, максимума, суммы и количества значений за интервал. Значения сохраняют исходный масштаб: автоматического пересчёта единиц измерения нет. | |||
* Поддерживаются числа и строки, которые можно преобразовать в конечное число. Логические значения не считаются числами. | |||
* Подстановка <code>*</code> в этом поле не поддерживается: ключи задаются явно. | |||
* Выбранные числовые ключи исключаются из обычных измерений, в том числе при <code>dimension_attributes=*</code>. Это предотвращает создание отдельного ряда для каждого числового значения. | |||
* Resource attributes автоматически не читаются. При необходимости предварительно скопируйте их в атрибуты спана на стороне Collector. | |||
* Некорректные значения, <code>NaN</code>, бесконечность и значения, вызывающие переполнение суммы, пропускаются и учитываются в <code>otel.span.gateway.invalid_attribute_values</code> по <code>attribute.key</code>. | |||
== Собираемые метрики == | == Собираемые метрики == | ||
* <code>otel.span.calls</code> — количество успешно обработанных спанов с разделением по имени спана и настроенным атрибутам. | |||
* <code>otel.span.duration</code> — продолжительность спанов в миллисекундах. | |||
* <code>otel.span.attribute.value</code> — минимум, максимум, сумма и количество выбранных числовых атрибутов; ключ атрибута указан в <code>attribute.key</code>. | |||
* <code>otel.span.gateway.invalid_attribute_values</code> — количество пропущенных некорректных числовых значений по <code>attribute.key</code>. | |||
* <code>otel.span.gateway.requests</code> — количество успешно обработанных OTLP-запросов. | |||
* <code>otel.span.gateway.spans</code> — количество спанов в обработанных запросах. | |||
* <code>otel.span.gateway.rejected_requests</code> — количество отклонённых запросов с причиной в <code>reason</code>. | |||
* <code>otel.span.gateway.forward_errors</code> — количество ошибок пересылки трассировок. | |||
* <code>otel.span.gateway.active_series</code> — количество активных временных рядов за интервал агрегации. | |||
* <code>otel.span.gateway.overflow_spans</code> — количество спанов в overflow-ряде из-за ограничения кардинальности. | |||
Все метрики входят в набор функций <code>default</code>. | Все метрики входят в набор функций <code>default</code>. | ||
| Строка 345: | Строка 304: | ||
* отсутствие ошибок <code>otel.span.gateway.forward_errors</code>; | * отсутствие ошибок <code>otel.span.gateway.forward_errors</code>; | ||
* значение <code>otel.span.gateway.overflow_spans</code>. | * значение <code>otel.span.gateway.overflow_spans</code>. | ||
Если настроен <code>numeric_attributes</code>, дополнительно проверьте <code>otel.span.attribute.value</code> по нужному <code>attribute.key</code> и отсутствие роста <code>otel.span.gateway.invalid_attribute_values</code>. | |||
Код ответа <code>401</code> указывает на ошибку Bearer-токена, <code>413</code> — на превышение размера запроса, <code>415</code> — на неподдерживаемый формат, а <code>503</code> — на переполнение очереди шлюза. | Код ответа <code>401</code> указывает на ошибку Bearer-токена, <code>413</code> — на превышение размера запроса, <code>415</code> — на неподдерживаемый формат, а <code>503</code> — на переполнение очереди шлюза. | ||
| Строка 350: | Строка 311: | ||
== История изменений == | == История изменений == | ||
=== Версия 0.1.20 === | |||
* Добавлен параметр <code>numeric_attributes</code> для сбора до 20 выбранных числовых атрибутов спана. | |||
* Добавлена метрика <code>otel.span.attribute.value</code> с агрегатами минимума, максимума, суммы и количества значений и измерением <code>attribute.key</code>. | |||
* Числовые атрибуты исключены из измерений, включая режим <code>*</code>. | |||
* Добавлена метрика <code>otel.span.gateway.invalid_attribute_values</code> для пропущенных некорректных значений и переполнения суммы. | |||
=== Версия 0.1.19 === | |||
* Используется идентификатор <code>ru.ruscomtech.otel-span-metrics-gateway</code>. | * Используется идентификатор <code>ru.ruscomtech.otel-span-metrics-gateway</code>. | ||
* Добавлен шлюз для преобразования OTLP-спанов в метрики количества вызовов и продолжительности. | * Добавлен шлюз для преобразования OTLP-спанов в метрики количества вызовов и продолжительности. | ||
* Поддержаны режимы «метрики и трассировки» и «только метрики». | * Поддержаны режимы «метрики и трассировки» и «только метрики». | ||
* Добавлены ограничения размера запросов, очереди обработки и количества временных рядов. | * Добавлены ограничения размера запросов, очереди обработки и количества временных рядов. | ||
Текущая версия от 23:24, 22 октября 2026
OpenTelemetry Span Metrics Gateway
Расширение версии 0.1.20 принимает трассировки по протоколу OTLP/HTTP, формирует из спанов метрики количества вызовов, продолжительности и числовых атрибутов и при необходимости пересылает исходные трассировки в кластер Ключ-АСТРОМ.
Расширение выполняется удалённо на сервере EEC.
Идентификатор расширения: ru.ruscomtech.otel-span-metrics-gateway
Возможности
- приём трассировок через OTLP/HTTP;
- поддержка бинарного формата protobuf;
- поддержка сжатия gzip;
- создание метрик количества и продолжительности спанов;
- агрегация выбранных числовых атрибутов спанов;
- добавление атрибутов спанов в измерения метрик;
- ограничение количества временных рядов;
- защита входящего endpoint с помощью Bearer-токена;
- пересылка исходных трассировок в кластер Ключ-АСТРОМ;
- контроль отклонённых запросов и ошибок пересылки.
Схема работы
Приложение или OpenTelemetry Collector
|
| OTLP/HTTP protobuf
v
OpenTelemetry Span Metrics Gateway на EEC
|
+-- метрики спанов --> Ключ-АСТРОМ
|
+-- исходные трассировки --> OTLP API Ключ-АСТРОМ
Шлюз принимает трассировки по следующим путям:
/v1/traces— стандартный путь OTLP/HTTP;/otlp/v1/traces— дополнительный поддерживаемый путь.
OTLP/gRPC и OTLP/JSON не поддерживаются.
Требования
- Ключ-АСТРОМ
1.300+. - АктивныйШлюз с включённым EEC и средой Python не ниже
3.10в составе EEC. Локальное выполнение на ЕдиномАгенте не поддерживается; зависимости поставляются в пакете расширения. - На выбранном сервере EEC должен быть свободен TCP-порт для приёма OTLP-запросов.
- Приложения или OpenTelemetry Collector должны иметь сетевой доступ к серверу EEC.
- Экспорт трассировок должен использовать протокол
http/protobuf. - Для пересылки трассировок в кластер необходим токен с разрешением
openTelemetryTrace.ingest. - Межсетевой экран должен разрешать подключения к настроенному порту шлюза.
Стандартный порт OTLP/HTTP — 4318. Если он уже используется другим сервисом, укажите свободный порт.
Входящий приёмник использует HTTP, а Bearer-токен сам по себе не шифрует соединение. Ограничьте доступ к порту доверенными отправителями; если требуется шифрование на входе, используйте защищённый канал или TLS на обратном прокси. Параметр проверки TLS в расширении относится к исходящей пересылке, а не к приёмнику.
Установка расширения
- Скачайте пакет расширения.
- В интерфейсе Ключ-АСТРОМ откройте раздел управления расширениями.
- Загрузите архив расширения.
- Откройте расширение
ru.ruscomtech.otel-span-metrics-gateway. - Добавьте конфигурацию мониторинга.
- Выберите группу АктивныхШлюзов с EEC, на которой должен работать OTLP-шлюз.
- Добавьте конечную точку шлюза и заполните параметры.
- Сохраните и активируйте конфигурацию.
Для одной конфигурации можно создать только одну конечную точку шлюза.
Настройка шлюза
- Адрес прослушивания (
listen_address) — IP-адрес интерфейса узла выполнения. По умолчанию0.0.0.0, то есть все интерфейсы. - Порт прослушивания (
listen_port) — TCP-порт OTLP/HTTP, по умолчанию4318. - Пересылать трейсы в кластер (
forward_traces) — по умолчанию включено. При выключении создаются только метрики. - URL для OTLP-трейсов кластера (
forward_url) — полный адрес OTLP API с путём/v1/traces; обязателен при включённой пересылке. - API-токен кластера (
forward_api_token) — секретное поле для токена с разрешениемopenTelemetryTrace.ingest, если целевой endpoint требует аутентификации. - Проверять TLS-сертификат кластера (
verify_forward_tls) — по умолчанию включено. Не отключайте проверку в рабочей среде. - Bearer-токен приёмника (
receiver_bearer_token) — необязательный секрет для входящих запросов. Отправители должны передаватьAuthorization: Bearer <token>. - Атрибуты спана для dimensions (
dimension_attributes) — список ключей через запятую, по умолчаниюpeer.service,net.peer.ip. - Числовые атрибуты спана (
numeric_attributes) — до 20 ключей через запятую для агрегации числовых значений. По умолчанию поле пустое и сбор отключён. - Максимальное количество временных рядов (
max_series) — предел уникальных комбинаций измерений за интервал отправки, по умолчанию2000, диапазон100–20000. - Максимальный размер распакованного OTLP-запроса (
max_request_mib) — по умолчанию8 MiB, диапазон1–64 MiB. - Рабочие потоки приёмника (
worker_threads) — число параллельно обрабатываемых запросов, по умолчанию4. - Размер очереди запросов (
request_queue_size) — число запросов в ожидании свободного потока, по умолчанию16. - Интервал отправки метрик (
flush_interval_seconds) — по умолчанию15секунд, диапазон5–300. - Тайм-аут пересылки трейсов (
forward_timeout_seconds) — ожидание ответа OTLP API, по умолчанию10секунд; используется только при включённой пересылке.
Пример URL для пересылки трассировок через АктивныйШлюз окружения:
https://activegate.example.local:9999/e/ENVIRONMENT_ID/api/v2/otlp/v1/traces
Если пересылка трассировок отключена, URL и API-токен заполнять не требуется.
Настройка отправителя OTLP
Пример переменных окружения приложения с OpenTelemetry SDK:
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://eec.example.local:4318/v1/traces OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
Если в конфигурации шлюза задан Bearer-токен:
OTEL_EXPORTER_OTLP_TRACES_HEADERS="Authorization=Bearer <token>"
Значение токена на стороне отправителя должно совпадать со значением поля «Bearer-токен приёмника».
Пример конфигурации OpenTelemetry Collector
OpenTelemetry Collector может принимать трассировки от приложений и передавать их в шлюз, работающий на сервере EEC.
Пример файла config.yaml:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
exporters:
otlp_http/span_metrics_gateway:
traces_endpoint: http://eec.example.local:4318/v1/traces
encoding: proto
compression: gzip
headers:
Authorization: "Bearer <receiver-token>"
timeout: 10s
service:
pipelines:
traces:
receivers:
- otlp
processors:
- batch
exporters:
- otlp_http/span_metrics_gateway
Замените:
eec.example.local— адресом сервера EEC, на котором работает расширение;4318— портом, указанным в конфигурации шлюза;<receiver-token>— значением поля «Bearer-токен приёмника».
Если Bearer-токен в расширении не настроен, удалите из конфигурации блок:
headers: Authorization: "Bearer <receiver-token>"
В старых версиях OpenTelemetry Collector компонент экспортёра может называться otlphttp:
exporters:
otlphttp/span_metrics_gateway:
traces_endpoint: http://eec.example.local:4318/v1/traces
В traces_endpoint указывается полный путь /v1/traces; в отличие от общего endpoint, этот параметр не добавляет путь автоматически. См. документацию OTLP HTTP exporter.
После изменения конфигурации перезапустите OpenTelemetry Collector и проверьте появление метрики otel.span.gateway.requests.
Важно: расширение добавляет в измерения только атрибуты спанов. Resource attributes, например service.name, автоматически не используются.
Если необходимо группировать метрики по имени сервиса, в OpenTelemetry Collector Contrib можно скопировать service.name из resource attributes в атрибут спана:
processors:
transform/span_dimensions:
error_mode: ignore
trace_statements:
- context: span
statements:
- set(attributes["service.name"], resource.attributes["service.name"])
where resource.attributes["service.name"] != nil
Затем добавьте процессор в трассировочный pipeline:
service:
pipelines:
traces:
receivers:
- otlp
processors:
- transform/span_dimensions
- batch
exporters:
- otlp_http/span_metrics_gateway
В конфигурации расширения добавьте service.name в поле «Атрибуты спана для dimensions».
Режимы работы
Метрики и трассировки
При включённой пересылке шлюз:
- принимает OTLP-запрос;
- декодирует спаны;
- пересылает исходный запрос в OTLP API;
- после успешной пересылки учитывает спаны в метриках.
Если кластер возвращает ошибку или недоступен, увеличивается метрика otel.span.gateway.forward_errors.
Только метрики
При выключенной пересылке шлюз создаёт метрики из принятых спанов, но не отправляет исходные трассировки в кластер.
Настройка измерений
Измерение span.name добавляется автоматически.
В поле «Атрибуты спана для dimensions» можно:
- перечислить необходимые атрибуты через запятую;
- указать
*для автоматического добавления допустимых атрибутов спана; - оставить поле пустым, если дополнительные измерения не нужны.
Пример:
peer.service,net.peer.ip,http.request.method
Resource attributes в измерения метрик не добавляются.
Использование * может значительно увеличить кардинальность метрик. Для рабочих сред рекомендуется перечислять только необходимые атрибуты.
Если количество уникальных комбинаций измерений превышает установленный предел, оставшиеся спаны объединяются в ряд:
otel.metric.overflow=true
Количество таких спанов отображается в метрике otel.span.gateway.overflow_spans.
Сбор числовых атрибутов
В поле Числовые атрибуты спана (numeric_attributes) перечислите до 20 точных ключей, например:
order.amount,items.count
Для каждого ключа расширение отправляет otel.span.attribute.value с измерением attribute.key и агрегатами минимума, максимума, суммы и количества значений за интервал. Значения сохраняют исходный масштаб: автоматического пересчёта единиц измерения нет.
- Поддерживаются числа и строки, которые можно преобразовать в конечное число. Логические значения не считаются числами.
- Подстановка
*в этом поле не поддерживается: ключи задаются явно. - Выбранные числовые ключи исключаются из обычных измерений, в том числе при
dimension_attributes=*. Это предотвращает создание отдельного ряда для каждого числового значения. - Resource attributes автоматически не читаются. При необходимости предварительно скопируйте их в атрибуты спана на стороне Collector.
- Некорректные значения,
NaN, бесконечность и значения, вызывающие переполнение суммы, пропускаются и учитываются вotel.span.gateway.invalid_attribute_valuesпоattribute.key.
Собираемые метрики
otel.span.calls— количество успешно обработанных спанов с разделением по имени спана и настроенным атрибутам.otel.span.duration— продолжительность спанов в миллисекундах.otel.span.attribute.value— минимум, максимум, сумма и количество выбранных числовых атрибутов; ключ атрибута указан вattribute.key.otel.span.gateway.invalid_attribute_values— количество пропущенных некорректных числовых значений поattribute.key.otel.span.gateway.requests— количество успешно обработанных OTLP-запросов.otel.span.gateway.spans— количество спанов в обработанных запросах.otel.span.gateway.rejected_requests— количество отклонённых запросов с причиной вreason.otel.span.gateway.forward_errors— количество ошибок пересылки трассировок.otel.span.gateway.active_series— количество активных временных рядов за интервал агрегации.otel.span.gateway.overflow_spans— количество спанов в overflow-ряде из-за ограничения кардинальности.
Все метрики входят в набор функций default.
Проверка работы
Проверьте состояние HTTP-приёмника:
curl http://eec.example.local:4318/healthz
Исправный шлюз возвращает:
ok
После отправки трассировок проверьте:
- состояние конфигурации расширения;
- появление метрики
otel.span.gateway.requests; - появление метрик
otel.span.callsиotel.span.duration; - отсутствие постоянного роста
otel.span.gateway.rejected_requests; - отсутствие ошибок
otel.span.gateway.forward_errors; - значение
otel.span.gateway.overflow_spans.
Если настроен numeric_attributes, дополнительно проверьте otel.span.attribute.value по нужному attribute.key и отсутствие роста otel.span.gateway.invalid_attribute_values.
Код ответа 401 указывает на ошибку Bearer-токена, 413 — на превышение размера запроса, 415 — на неподдерживаемый формат, а 503 — на переполнение очереди шлюза.
История изменений
Версия 0.1.20
- Добавлен параметр
numeric_attributesдля сбора до 20 выбранных числовых атрибутов спана. - Добавлена метрика
otel.span.attribute.valueс агрегатами минимума, максимума, суммы и количества значений и измерениемattribute.key. - Числовые атрибуты исключены из измерений, включая режим
*. - Добавлена метрика
otel.span.gateway.invalid_attribute_valuesдля пропущенных некорректных значений и переполнения суммы.
Версия 0.1.19
- Используется идентификатор
ru.ruscomtech.otel-span-metrics-gateway. - Добавлен шлюз для преобразования OTLP-спанов в метрики количества вызовов и продолжительности.
- Поддержаны режимы «метрики и трассировки» и «только метрики».
- Добавлены ограничения размера запросов, очереди обработки и количества временных рядов.