Декларативна конфігурація
Декларативна конфігурація використовує файл YAML замість змінних середовища.
Цей підхід корисний, коли:
- У вас є багато параметрів конфігурації для налаштування.
- Ви хочете використовувати параметри конфігурації, які недоступні як змінні середовища.
title=“Попередження” %}} Декларативна конфігурація є експериментальною.
Підтримувані мови
Наступні SDK OpenTelemetry підтримують декларативну конфігурацію:
Детальнішу інформацію див. у Матриці відповідності
Початок роботи
- Збережіть наступний файл конфігурації як
otel-config.yaml. - Встановіть зміну оточення
OTEL_EXPERIMENTAL_CONFIG_FILE=/path/to/otel-config.yaml
Рекомендований файл конфігурації:
file_format: '1.0-rc.1'
resource:
attributes_list: ${OTEL_RESOURCE_ATTRIBUTES}
detection/development:
detectors:
- service: # буде додавати "service.instance.id" та "service.name" з OTEL_SERVICE_NAME
propagator:
composite:
- tracecontext:
- baggage:
tracer_provider:
processors:
- batch:
exporter:
otlp_http:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT:-http://localhost:4318}/v1/traces
meter_provider:
readers:
- periodic:
exporter:
otlp_http:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT:-http://localhost:4318}/v1/metrics
logger_provider:
processors:
- batch:
exporter:
otlp_http:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT:-http://localhost:4318}/v1/logs
Змінні середовища
- Декларативна конфігурація підтримує синтаксис для читання змінних середовища.
- Усі змінні середовища ігноруються, якщо ви явно не додасте їх до файлу конфігурації.
Наприклад, якщо ви встановите:
OTEL_RESOURCE_ATTRIBUTES=service.version=1.1,deployment.environment.name=staging
Наступна конфігурація створіть ресурс з service.version=1.1 та deployment.environment.name=staging:
resource:
attributes_list: ${OTEL_RESOURCE_ATTRIBUTES}
Всі змінні середовища ігноруються, якщо ви явно не додасте їх до файлу конфігурації.
Конфігурація міграції
Якщо ваша поточна конфігурація базується на змінних середовища, ви можете використовувати конфігурацію міграції як відправну точку для переходу на декларативну конфігурацію.
Доступні параметри конфігурації
Повний перелік параметрів конфігурації можна знайти в прикладі kitchen sink.
Точка доступу для кожного окремого сигналу
Якщо у вас є різні точки доступу для трасування, метрик та логів, використовуйте наступну конфігурацію при використанні otlp_http:
| OTLP HTTP Exporter | Значення Endpoint |
|---|---|
| Трейси | ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces} |
| Метрики | ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} |
| Логи | ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs} |
Експортер gRPC
Замість otlp_http ви також можете використовувати otlp_grpc для експорту через gRPC:
otlp_grpc:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT:-http://localhost:4317}
Атрибути ресурсів
Рекомендований підхід до встановлення атрибутів ресурсів — через змінні середовища, оскільки він добре працює з інструментами, що встановлюють змінні середовища, такими як OpenTelemetry Operator для Kubernetes.
Однак ви також можете встановити атрибути ресурсів безпосередньо у файлі конфігурації:
resource:
attributes:
- name: service.name
value: shopping_cart
- name: deployment.environment.name
value: staging
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!