Какое место занимает микрометр в проекте OpenTelemetry

Когда OpenTelemetry пытается стать де-факто стандартом наблюдаемости приложений / сервисов, какое место занимает Micrometer? Веб-сайт Micrometer утверждает, что это SLF4J для метрик, но не противоречит ли это API метрик OpenTelemetry? Интересно, должны ли API OpenTelemetry Metric представлять SLF4J, а Micrometer должен представлять реализацию вроде Log4J.

Цените, если кто-то может помочь мне прояснить это.

3 ответа

Я бы сказал, что ответ @checketts уже устарел. Метрики теперь очень заметны в OpenTelemetry, и они объявлены стабильными.

OpenTelemetry и Micrometer имеют некоторое сходство в том смысле, что у них обоих есть метрические API. Оба они имеют возможность экспорта в различные форматы. Однако Micrometer специфичен для Java, в то время как OpenTelemetry имеет реализации на многих языках. У этих двух проектов разные цели.

Вы можете использовать OpenTelemetry с API Micrometer, используя реестр OpenTelemetry Meter для Micrometer . Это перенаправит захваченные метрики Micrometer в измеритель OpenTelemetry.

OpenTelemetry ориентирован на отслеживание (см. Zipkin и Jaeger) больше, чем на метрики. Метрики микрометра частично совпадают, но подход совсем другой.

Микрометр по-прежнему похож на slf4j, поскольку это фасад метрик для кодирования и записи метрик. Фактическая реализация (как вы думаете о log4j) для метрик - это Prometheus, Statsd, Datadog и т. Д.

Таким образом, OpenTelemetry и Micrometer можно рассматривать как метрические абстракции, но, поскольку существуют разные типы метрик (трассировка и агрегирование производительности), они отслеживают разные вещи.

Другой способ подумать об этом - OpenTelemtry был бы полезен для измерения многих микросервисов, поскольку они передают запросы, и вам нужно отслеживать поведение, в то время как Micrometer был бы более полезным для отслеживания производительности и работоспособности одного приложения.

Архитектура OpenTelemetry определяет эти ключевые компоненты.

  1. Клиент OpenTelemetry (помогает коду приложения/фреймворка выполнять инструментирование, помогает собирать эти метрики, помогает предоставлять метрики сборщику)
  2. OpenTelemetry Collector (имеет приемники на основе push/pull для сбора показателей от клиентов, обработки и последующего экспорта в серверные части/базы данных)
  3. Серверные части/базы данных OpenTelemetry.

Micrometer вписывается в состав клиента телеметрии. предоставляет независимый от поставщика API для инструментирования/сбора метрик. Библиотека Micrometer — это способ работы Spring. Micrometer вместе с приводами Spring образуют клиент Telemetry/OpenTelemetry.

Другие вопросы по тегам