OTEL Collector
Source:: https://opentelemetry.io/docs/collector/
OpenTelemetry Collector — это компонент в экосистеме OpenTelemetry, предназначенный для сбора, обработки и передачи телеметрических данных (метрик, логов и трассировок) из различных источников в системы мониторинга и анализа.
Может запускаться как своего рода агент рядом с сервисом (например в виде sidecar контейнера K8S) или как полноценный сервер собирающий Сигналы Наблюдаемости с отдельных агентов и/или сервисов напрямую.
Установка
В целом коллектор представляет из себя обычный бинаринк на Go со всеми вытекающими для установки последствиями.
В Github проекта доступны два основных вида сборки. Просто collector и его contrib версия включающая в себя множество компонентов для приём, отправки и обработки сигналов.
Внимание
Даже
core
сборка коллектора включает в себя ряд компонентов из егоcontib
версии. Что может привести к некоторой путанице в поиске по документации.
Пример установленного и настроенного коллектора: Локальный стенд OpenTelemetry
OCB
Ссылка на оригиналQuote
« Хотя вы можете легко загрузить контейнер Docker или заранее построенный двоичный образ Collector, в рабочих средах следует использовать Collector Builder (https://oreil.ly/UOy49). Эта служебная программа позволяет сгенерировать нестандартную сборку со встроенными получателями, экспортерами и обработчиками, которые вам нужны. » (Page 163)
OpenTelemetry в K8S
Так же доступен как Operator в Kubernetes.
Настройки
Структура любого конфигурационного файла Collector состоит из четырех классов, которые получают доступ к данным телеметрии:
Все эти компоненты должны быть объединены в Services. Кроме того доступны Extension которые не имеют отношения к данным телеметрии, а просто добавляют возможностей самому Collector.
Вот пример рабочего конфига:
Можно заметить, что компоненты могут быть определены через type[/name]
.
Альтернативы
- Jaeger - начиная с версии 2 совместим с коллектором. На самом деле вплоть до того, что использует его кодовую базу.
- Grafana Alloy - альтернативное решение от Grafana Labs.