Шаблон розгортання — Агент
У моделі розгортання агентів сигнали телеметрії можуть надходити з
- Застосунків інструментованих а допомогою OpenTelemetry SDK з використанням протоколу OpenTelemetry (OTLP).
- Колекторів (з використанням OTLP експортера).
Сигнали надсилаються до екземпляра Collector, який працює разом із застосунком або на тому самому хості, наприклад, у вигляді sidecar або DaemonSet.
Кожен SDK на стороні клієнта або підлеглий (downstream) Колектор налаштовується з урахуванням адреси екземпляра Колектора:
- У застосунку SDK налаштований на надсилання даних OTLP до колектора.
- Колектор налаштований на надсилання даних телеметрії до одного або більше бекендів.
Приклад
У цьому прикладі шаблону розгортання агента почніть з ручного інструментування Java-застосунку для експорту метрик за допомогою OpenTelemetry Java SDK, включаючи стандартне значення OTEL_METRICS_EXPORTER, otlp. Далі налаштуйте експортер OTLP з адресою вашого колектора. Наприклад:
export OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.example.com:4318
Далі налаштуйте колектор, що працює за адресою collector.example.com:4318, наступним чином:
receivers:
otlp: # OTLP приймач, до якого застосунок надсилає трейси
protocols:
http:
endpoint: 0.0.0.0:4318
exporters:
otlp/jaeger: # Jaeger підтримує OTLP безпосередньо
endpoint: https://jaeger.example.com:4317
sending_queue:
batch:
service:
pipelines:
traces/dev:
receivers: [otlp]
exporters: [otlp/jaeger]
receivers:
otlp: # OTLP приймач, до якого застосунок надсилає метрики
protocols:
http:
endpoint: 0.0.0.0:4318
exporters:
prometheusremotewrite: # PRW експортер, для передачі метрик до бекенду
endpoint: https://prw.example.com/v1/api/remote_write
sending_queue:
batch:
service:
pipelines:
metrics/prod:
receivers: [otlp]
exporters: [prometheusremotewrite]
receivers:
otlp: # OTLP приймач, до якого застосунок надсилає логи
protocols:
http:
endpoint: 0.0.0.0:4318
exporters:
file: # File експортер, для передачі логів до локального файлу
path: ./app42_example.log
rotation:
service:
pipelines:
logs/dev:
receivers: [otlp]
exporters: [file]
Щоб докладно ознайомитися з цією схемою, див. приклади Java або Python.
Компроміси
Переваги:
- Простий початок роботи
- Чітке 1:1 зіставлення між застосунком та колектором
Недоліки:
- Обмежена масштабованість для команд та інфраструктурних ресурсів
- Негнучкість для складних або мінливих розгортань
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!