Особенности OTLP в Monium
Monium поддерживает прием метрик по протоколу OTLP
Эндпоинты
Monium предоставляет следующие эндпоинты для приема метрик в формате OTLP:
|
Протокол |
Эндпоинт |
Описание |
|
HTTP |
|
HTTP-эндпоинт для приема метрик |
|
HTTP |
|
HTTP-эндпоинт для приема логов |
|
HTTP |
|
HTTP-эндпоинт для приема трейсов |
|
gRPC |
|
gRPC эндпоинт для приема всей телеметрии |
Эндпоинты gRPC и HTTP полностью совместимы со спецификацией OTLP
Авторизация
Для авторизации запросов используется API-ключ, передаваемый в заголовке Authorization:
Authorization: Api-Key <API_ключ>
API-ключ создается для сервисного аккаунта с ролью monium.telemetry.writer. Ключ должен иметь область действия yc.monium.telemetry.write для записи любого вида телеметрии, либо одну или несколько из yc.monium.metrics.write, yc.monium.logs.write, yc.monium.traces.write для гранулированного доступа. Подробнее о создании API-ключа.
Заголовки
Обязательные заголовки
|
Заголовок |
Описание |
Пример |
|
|
API-ключ для аутентификации |
|
|
|
Имя проекта Monium |
|
Опциональные заголовки
|
Заголовок |
Описание |
Пример |
Значение по умолчанию |
|
|
Имя кластера |
|
|
|
|
Имя сервиса |
|
|
Распределение по шардам
Все метрики, логи, трейсы в Monium имеют обязательные метки project, cluster и service. Эти метки формируют ключ шарда.
При поставке телеметрии в формате OpenTelemetry значения ключевых атрибутов определяются следующим образом:
- Приоритетнее — значения, заданные через HTTP или gRPC заголовки.
- Затем — значения, заданные в ресурсных атрибутах тела запроса с ключами
cluster,service. - Затем — значения, заданные в ресурсных атрибутах, рекомендуемые семантической конвенцией OpenTelemetry.
- Иначе проставляется значение по умолчанию.
Имя проекта проставляется только из заголовка. Алгоритм определения ключа шарда представлен в таблице ниже.
|
заголовок |
собственный атрибут ресурса |
стандартный атрибут ресурса |
значение по умолчанию |
|
|
— |
— |
— |
|
|
|
|
|
|
|
|
|
|
Подробнее о параметрах шардирования см. в разделе Основные понятия.
Компрессия данных
Monium поддерживает следующие методы компрессии:
|
Метод |
HTTP заголовок |
gRPC |
Рекомендация |
|
Без сжатия |
– |
– |
Для отладки либо при небольшом потоке данных |
|
gzip |
|
|
Поддерживается по умолчанию |
|
zstd |
|
|
Рекомендуется: эффективнее по вычислительным ресурсам |
Сопоставление типов метрик
В разделе приведено отображение типов данных в OpenTelemetry в типы Monium.
Типы метрик OTLP
OpenTelemetry использует следующие типы метрик:
|
Тип OTLP |
Характеристика |
Примеры использования |
|
|
Мгновенное значение |
Использование памяти, температура |
|
|
Монотонный счетчик |
Количество запросов, размер запроса |
|
|
Аддитивный счетчик |
Количество активных подключений |
|
|
Распределение значений |
Длительность запроса, размер ответа |
|
|
Квантили и сумма |
Процентили задержки |
Сопоставление типов Monium
Monium преобразует типы OTLP в свои внутренние типы метрик в зависимости от темпоральности (temporality):
Temporality = Delta (дельта)
|
Тип OTLP |
Монотонность |
Тип в Monium |
Примечание |
|
|
— |
|
Мгновенное значение |
|
|
Monotonic |
|
Сумма делится на длину интервала в секундах |
|
|
— |
|
|
|
|
— |
|
|
Temporality = Cumulative (кумулятивная)
|
Тип OTLP |
Монотонность |
Тип в Monium |
Примечание |
|
|
— |
|
Мгновенное значение |
|
|
Non-monotonic |
|
Абсолютное значение счетчика |
|
|
Monotonic |
|
Абсолютное значение счетчика |
|
|
— |
|
|
|
|
— |
|
|
Примеры обработки сумм
Кумулятивная сумма (Cumulative Sum)
|
Период |
Инкременты |
Сумма |
Значение в Monium |
Тип |
Примечание |
|
#1 |
|
15 |
15 |
|
Используется значение суммы |
|
#2 |
|
10 |
10 |
|
Используется значение суммы |
|
#3 |
|
10 |
10 |
|
Последнее значение сохраняется |
Монотонная дельта сумма (Delta Sum, Monotonic)
|
Период |
Инкременты |
Сумма, интервал |
Значение в Monium |
Тип |
Примечание |
|
#1 |
|
|
3 (15 / 5) |
|
Сумма делится на интервал |
|
#2 |
|
|
2 (10 / 5) |
|
Сумма делится на интервал |
|
#3 |
|
|
0 (0 / 5) |
|
Нулевое значение |
Немонотонные дельта‑суммы в OpenTelemetry, как правило, не используются.
Обработка ресурсных атрибутов
Monium обрабатывает ресурсные атрибуты OTLP следующим образом:
Сохраняемые атрибуты
Следующие ресурсные атрибуты сохраняются как метки метрик:
Атрибуты хоста (приоритет от высшего к низшему):
hosthost.namehostname
Эти атрибуты сохраняются в метку host.
Атрибуты окружения (приоритет от высшего к низшему):
envdeployment.environment.namedeployment.environment
Эти атрибуты сохраняются в метку env.
Атрибуты Kubernetes и Cloud (сохраняются без изменения имени):
cloud.availability_zonecloud.regioncontainer.namek8s.cluster.namek8s.container.namek8s.cronjob.namek8s.daemonset.namek8s.deployment.namek8s.job.namek8s.namespace.namek8s.pod.namek8s.replicaset.namek8s.statefulset.name
Зарезервированные метки
Если в атрибутах точек данных (data point attributes) используются зарезервированные имена меток, они автоматически переименовываются:
|
Исходное имя |
Переименованное |
|
|
|
|
|
|
|
|
|
Остальные атрибуты
Ресурсные атрибуты, не входящие в вышеперечисленные списки, отбрасываются.
Все атрибуты точек данных сохраняются как метки метрик Monium.
Формат данных
Monium поддерживает формат OTLP Protobuf для всех видов телеметрии. Формат OTLP JSON в настоящее время поддерживается для логов и трейсов.