• Русский
  • Конфигурация Exporter

    Exporters определяют, как телеметрические данные отправляются из инструментированных приложений в системы наблюдения. Пользовательский ресурс Instrumentation позволяет настроить параметры exporter, которые контролируют назначение и формат телеметрических данных.

    Базовая конфигурация Exporter

    Конфигурация exporter в CR Instrumentation указывает конечную точку, куда должны отправляться телеметрические данные:

    apiVersion: opentelemetry.io/v1alpha1
    kind: Instrumentation
    metadata:
      name: my-instrumentation
    spec:
      exporter:
        endpoint: http://otel-collector:4317

    Эта конфигурация направляет все телеметрические данные (трейсы, метрики и логи) на указанный endpoint с использованием протокола OTLP.

    Протокол OTLP

    OpenTelemetry Protocol (OTLP) — это нативный протокол для передачи телеметрических данных. Он поддерживает как gRPC, так и HTTP транспорт:

    • gRPC — порт по умолчанию 4317, бинарный протокол с эффективной сериализацией
    • HTTP — порт по умолчанию 4318, HTTP/1.1 или HTTP/2 с кодированием protobuf или JSON

    Вы можете указать протокол с помощью переменных окружения:

    spec:
      exporter:
        endpoint: http://otel-collector:4318
      env:
        - name: OTEL_EXPORTER_OTLP_PROTOCOL
          value: http/protobuf

    Конечные точки для отдельных сигналов

    Можно настроить разные конечные точки для различных телеметрических сигналов:

    spec:
      env:
        - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
          value: http://traces-collector:4318/v1/traces
        - name: OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
          value: http://metrics-collector:4318/v1/metrics
        - name: OTEL_EXPORTER_OTLP_LOGS_ENDPOINT
          value: http://logs-collector:4318/v1/logs

    Это позволяет направлять разные типы телеметрических данных в специализированные бекенды.

    Заголовки Exporter

    Вы можете добавить пользовательские заголовки к запросам exporter для аутентификации или маршрутизации:

    spec:
      env:
        - name: OTEL_EXPORTER_OTLP_HEADERS
          value: "api-key=your-api-key,tenant-id=production"

    Заголовки указываются в виде пары ключ-значение, разделённых запятыми.

    Конфигурация таймаута

    Настройте таймаут экспорта, чтобы контролировать, как долго SDK ожидает завершения операций экспорта:

    spec:
      env:
        - name: OTEL_EXPORTER_OTLP_TIMEOUT
          value: "10000"

    Значение таймаута указывается в миллисекундах.

    Сжатие

    Включите сжатие для уменьшения использования сетевой пропускной способности:

    spec:
      env:
        - name: OTEL_EXPORTER_OTLP_COMPRESSION
          value: gzip

    Поддерживаемые алгоритмы сжатия: gzip и none.

    Пример конфигурации

    Ниже приведён полный пример конфигурации exporter:

    apiVersion: opentelemetry.io/v1alpha1
    kind: Instrumentation
    metadata:
      name: production-instrumentation
      namespace: production
    spec:
      exporter:
        endpoint: http://otel-collector.observability.svc:4318
      env:
        - name: OTEL_EXPORTER_OTLP_PROTOCOL
          value: http/protobuf
        - name: OTEL_EXPORTER_OTLP_TIMEOUT
          value: "10000"
        - name: OTEL_EXPORTER_OTLP_COMPRESSION
          value: gzip
    TIP

    При использовании OpenTelemetry Collector в качестве бекенда настройте exporter так, чтобы он указывал на OTLP receiver endpoint Collector. Collector затем может обрабатывать маршрутизацию, обработку и пересылку телеметрических данных в несколько бекендов.

    Проверка конфигурации Exporter

    После настройки exporter убедитесь, что телеметрические данные отправляются корректно, выполнив:

    1. Проверку логов приложения на наличие ошибок экспорта
    2. Мониторинг бекенд-системы на поступление телеметрических данных
    3. Использование debug exporter OpenTelemetry Collector для инспекции потока данных
    NOTE

    Убедитесь, что endpoint exporter доступен из подов вашего приложения. Сетевые политики, конфигурации service mesh и правила брандмауэра могут влиять на доступность.