Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Monium
  • Начало работы
  • Обзор
    • Обзор
    • Особенности OTLP в Monium
    • Создание и настройка проекта
      • Настройка OTel Collector
      • OpenTelemetry SDK
      • Пример для демо-приложения Java без использования агента
      • Пример для демо-приложения Java с использованием агента
      • Пример мониторинга ансамбля микросервисов в Kubernetes
      • Устранение неполадок при поставке данных
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • История изменений
  • Обучающие курсы
  1. Поставка данных
  2. Otel Collector
  3. Настройка OTel Collector

Передача данных через OpenTelemetry Collector

Статья создана
Yandex Cloud
Обновлена 3 марта 2026 г.

OpenTelemetry Collector (OTel Collector) — агент для сбора, обработки и экспорта телеметрических данных по стандарту OpenTelemetry. Вы можете использовать OTel Collector для передачи данных из вашего приложения в Monium.

Преимущества отправки телеметрии через OTel Collector перед отправкой из OpenTelemetry SDK:

  • Модификация произвольных атрибутов OpenTelemetry.
  • Эффективное сжатие данных с помощью алгоритма zstd, недоступного в SDK.
  • Расширенные возможности отладки поставки данных.
  • Меньшие накладные расходы для приложения при отправке телеметрии в локальный агент.
  • Объединение телеметрии из разных источников в режимах push (агент принимает метрики в формате OpenTelemetry, Prometheus Remote Write, Graphite, Datadog) и pull (агент по расписанию проверяет метрики в формате Prometheus, собирает телеметрию nginx, Docker, Postgres, MongoDB, Kubernetes и других приложений).
  • Отправка телеметрии одновременно в несколько систем мониторинга.

Настройка передачи телеметрии из приложенияНастройка передачи телеметрии из приложения

  1. Установите OTel Collector рядом с вашим приложением. Приложение может находиться в инфраструктуре Yandex Cloud, в облаке другого провайдера или в вашей инфраструктуре.

  2. Добавьте OpenTelemetry SDK в ваше приложение.

  3. Создайте файл конфигурации otel-collector.yaml.

    Ниже приведена конфигурация otel-collector.yaml для поставки всех видов телеметрии, вы можете удалить ненужное.

    # ============================================================================
    # RECEIVERS - Приемники данных телеметрии
    # ============================================================================
    receivers:
      # настраиваем на агенте порты для приема телеметрии в формате OpenTelemetry
      otlp:
        protocols:
          # gRPC endpoint (порт 4317) - рекомендуется для production
          grpc:
            endpoint: 0.0.0.0:4317
            # max_recv_msg_size_mib: 4  # Максимальный размер сообщения (по умолчанию 4MB)
            # max_concurrent_streams: 16  # Максимум одновременных стримов
          
          # HTTP endpoint (порт 4318) - для мониторинга приложений на JavaScript, а также в случае недоступности протокола gRPC
          http:
            endpoint: 0.0.0.0:4318
    
    # ============================================================================
    # PROCESSORS - Обработчики данных
    # ============================================================================
    processors:
      # Передает кумулятивные монотонные суммы как дельты, которые в Monium дифференцируются и пишутся с типом RATE. Требует дистрибутив otel-collector-contrib
      # cumulativetodelta:
    
      # Memory Limiter - защита от Out-of-Memory, рекомендуется в production для стабильности
      memory_limiter:
        check_interval: 1s
        limit_mib: 512        # Жесткий лимит памяти
        spike_limit_mib: 128  # Запас для всплесков
    
      # Resource - добавление атрибутов ресурса
      # resource:
      #   attributes:
      #     - key: deployment.environment
      #       value: production
      #       action: insert
    
      # Filter - фильтрация данных для исключения ненужной телеметрии
      # filter:
      #   traces:
      #     span:
      #       - 'attributes["http.url"] == "/health"'  # Исключить health checks
      #       - 'attributes["http.url"] == "/metrics"'
      #   metrics:
      #     metric:
      #       - 'name == "unwanted_metric"'
      #   logs:
      #     log_record:
      #       - 'severity_number < SEVERITY_NUMBER_INFO'  # Только INFO и выше
    
    # ============================================================================
    # EXPORTERS - Отправители данных
    # ============================================================================
    exporters:
      # Отправка в Monium по gRPC
      otlp_grpc/monium:
        endpoint: ingest.monium.yacloudkz.tech:443
        compression: zstd  # Сжатие для экономии трафика (none | gzip | zstd)
        headers:
          Authorization: "Api-Key ${env:MONIUM_API_KEY}"
          x-monium-project: "${env:MONIUM_PROJECT}"
        sending_queue:
          batch:
        
        # Настройки повторных попыток при ошибках
        retry_on_failure:
          enabled: true
          initial_interval: 5s     # Первая попытка через 5 сек
          max_interval: 30s        # Максимальная задержка 30 сек
          max_elapsed_time: 300s   # Прекратить попытки через 5 мин
    
      # Отправка в Monium по HTTP
      # otlp_http/monium:
        # endpoint: https://ingest.monium.yacloudkz.tech/otlp
        # compression: zstd  # Сжатие для экономии трафика (none | gzip | zstd)
        # headers:
          # Authorization: "Api-Key ${env:MONIUM_API_KEY}"
          # x-monium-project: "${env:MONIUM_PROJECT}"
        # sending_queue:
          # batch:
    
    # ============================================================================
    # EXTENSIONS - Расширения
    # ============================================================================
    extensions:
    
    # ============================================================================
    # SERVICE - Конфигурация пайплайнов
    # ============================================================================
    service:
      
      # Пайплайны обработки данных
      pipelines:
        # Поставка трейсов (удалите секцию, если трейсы не требуются)
        traces:
          receivers: [ otlp ]
          processors: [ memory_limiter ]
          exporters: [ otlp_grpc/monium ]
    
        # Поставка метрик (удалите секцию, если метрики не требуются)
        metrics:
          receivers: [ otlp ]
          processors: [ memory_limiter ]
          exporters: [ otlp_grpc/monium ]
    
        # Поставка логов (удалите секцию, если логи не требуются)
        logs:
          receivers: [ otlp ]
          processors: [ memory_limiter ]
          exporters: [ otlp_grpc/monium ]
    
      # Телеметрия самого OTel Collector
      telemetry:
        logs:
          level: info  # debug | info | warn | error    
        metrics:
          level: detailed  # none | basic | normal | detailed
          
          # Отправка телеметрии самого OTel Collector
          readers:
             - periodic:
                 interval: 60000
                 exporter:
                   otlp:
                     protocol: http/protobuf
                     endpoint: http://${env:MY_POD_IP}:4318
    
    Для otel-collector версии 0.144 и раньше
    # ============================================================================
    # RECEIVERS - Приемники данных телеметрии
    # ============================================================================
    receivers:
      # настраиваем на агенте порты для приема телеметрии в формате OpenTelemetry
      otlp:
        protocols:
          # gRPC endpoint (порт 4317) - рекомендуется для production
          grpc:
            endpoint: 0.0.0.0:4317
            # max_recv_msg_size_mib: 4  # Максимальный размер сообщения (по умолчанию 4MB)
            # max_concurrent_streams: 16  # Максимум одновременных стримов
          
          # HTTP endpoint (порт 4318) - для мониторинга приложений на JavaScript, а также в случае недоступности протокола gRPC
          http:
            endpoint: 0.0.0.0:4318
    
    # ============================================================================
    # PROCESSORS - Обработчики данных
    # ============================================================================
    processors:
      # Batch - группирует данные перед отправкой (обязательно для production)
      batch:
        timeout: 10s          # Отправлять каждые 10 секунд
        send_batch_size: 1024 # Или когда накопится 1024 элемента
        # send_batch_max_size: 2048  # Максимальный размер батча
    
      # Передает кумулятивные монотонные суммы как дельты, которые в Monium дифференцируются и пишутся с типом RATE. Требует дистрибутив otel-collector-contrib или производные от него
      # cumulativetodelta:
    
      # Memory Limiter - защита от Out-of-Memory, рекомендуется в production для стабильности
      memory_limiter:
        check_interval: 1s
        limit_mib: 512        # Жесткий лимит памяти
        spike_limit_mib: 128  # Запас для всплесков
    
      # Resource - добавление атрибутов ресурса
      # resource:
      #   attributes:
      #     - key: deployment.environment
      #       value: production
      #       action: insert
    
      # Filter - фильтрация данных для исключения ненужной телеметрии
      # filter:
      #   traces:
      #     span:
      #       - 'attributes["http.url"] == "/health"'  # Исключить health checks
      #       - 'attributes["http.url"] == "/metrics"'
      #   metrics:
      #     metric:
      #       - 'name == "unwanted_metric"'
      #   logs:
      #     log_record:
      #       - 'severity_number < SEVERITY_NUMBER_INFO'  # Только INFO и выше
    
    # ============================================================================
    # EXPORTERS - Отправители данных
    # ============================================================================
    exporters:
      # Отправка в Monium по gRPC
      otlp/monium:
        endpoint: ingest.monium.yacloudkz.tech:443
        compression: zstd  # Сжатие для экономии трафика (none | gzip | zstd)
        headers:
          Authorization: "Api-Key ${env:MONIUM_API_KEY}"
          x-monium-project: "${env:MONIUM_PROJECT}"
        
        # Настройки повторных попыток при ошибках
        retry_on_failure:
          enabled: true
          initial_interval: 5s     # Первая попытка через 5 сек
          max_interval: 30s        # Максимальная задержка 30 сек
          max_elapsed_time: 300s   # Прекратить попытки через 5 мин
    
      # Отправка в Monium по HTTP
      # otlphttp/monium:
        # endpoint: https://ingest.monium.yacloudkz.tech/otlp
        # compression: zstd  # Сжатие для экономии трафика (none | gzip | zstd)
        # headers:
          # Authorization: "Api-Key ${env:MONIUM_API_KEY}"
          # x-monium-project: "${env:MONIUM_PROJECT}"
    
    # ============================================================================
    # EXTENSIONS - Расширения
    # ============================================================================
    extensions:
    
    # ============================================================================
    # SERVICE - Конфигурация пайплайнов
    # ============================================================================
    service:
      
      # Пайплайны обработки данных
      pipelines:
        # Поставка трейсов (удалите секцию, если трейсы не требуются)
        traces:
          receivers: [ otlp ]
          processors: [ memory_limiter, batch ]
          exporters: [ otlp/monium ]
    
        # Поставка метрик (удалите секцию, если метрики не требуются)
        metrics:
          receivers: [ otlp ]
          processors: [ memory_limiter, batch ]
          exporters: [ otlp/monium ]
    
        # Поставка логов (удалите секцию, если логи не требуются)
        logs:
          receivers: [ otlp ]
          processors: [ memory_limiter, batch ]
          exporters: [ otlp/monium ]
    
      # Телеметрия самого OTel Collector
      telemetry:
        logs:
          level: info  # debug | info | warn | error    
        metrics:
          level: detailed  # none | basic | normal | detailed
          
          # Отправка телеметрии самого OTel Collector
          readers:
             - periodic:
                 interval: 60000
                 exporter:
                   otlp:
                     protocol: http/protobuf
                     endpoint: http://${env:MY_POD_IP}:4318
    
  4. Проверьте конфигурацию otel-collector.yaml:

    otelcol validate --config=otel-collector.yaml
    
  5. Установите переменные окружения:

    • MONIUM_PROJECT — имя проекта Monium. Имя проекта может быть folder__<идентификатор_каталога>, например, folder__b1g86q4m5vej********.
    • MONIUM_API_KEY — API-ключ.
    • OTEL_SERVICE_NAME — имя вашего приложения или сервиса для распределения данных по шардам.
  6. Запустите приложение и начните поставлять телеметрию.

  7. Посмотрите данные телеметрии в Monium.

Была ли статья полезна?

Предыдущая
Создание и настройка проекта
Следующая
OpenTelemetry SDK
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»