Експортери
Надсилайте телеметрію до OpenTelemetry Collector, щоб переконатися, що вона експортується правильно. Використання Collector у виробничих середовищах є найкращою практикою. Щоб візуалізувати вашу телеметрію, експортуйте її до бекенду, такого як Jaeger, Zipkin, Prometheus або бекенд, специфічний для постачальника.
Доступні експортери
Реєстр містить список експортерів для Ruby.
Серед експортерів, експортери OpenTelemetry Protocol (OTLP) розроблені з урахуванням моделі даних OpenTelemetry, що передають дані OTel без втрати інформації. Крім того, багато інструментів, які працюють з телеметричними даними, підтримують OTLP (таких як Prometheus, Jaeger і більшість постачальників), надаючи вам високий ступінь гнучкості, коли це потрібно. Щоб дізнатися більше про OTLP, дивіться Специфікацію OTLP.
Ця сторінка охоплює основні експортери OpenTelemetry Ruby та як їх налаштувати.
Точка доступу OTLP
Щоб надіслати дані трасування на точку доступу OTLP (наприклад, collector або Jaeger), вам потрібно використовувати пакунок експортерів, такий як opentelemetry-exporter-otlp:
bundle add opentelemetry-exporter-otlp
gem install opentelemetry-exporter-otlp
Далі налаштуйте експортер для вказівки на точку доступу OTLP. Наприклад, ви можете оновити config/initializers/opentelemetry.rb з Початку роботи, додавши require 'opentelemetry-exporter-otlp' до коду:
# config/initializers/opentelemetry.rb
require 'opentelemetry/sdk'
require 'opentelemetry/instrumentation/all'
require 'opentelemetry-exporter-otlp'
OpenTelemetry::SDK.configure do |c|
c.service_name = 'dice-ruby'
c.use_all() # вмикає всі інструменти!
end
Якщо ви зараз запустите свій застосунок, він буде використовувати OTLP для експорту трасувань:
rails server -p 8080
Стандартно трасування надсилаються на точку доступу OTLP, що слухає на localhost:4318. Ви можете змінити точку доступу, встановивши OTEL_EXPORTER_OTLP_ENDPOINT відповідним чином:
env OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318" rails server -p 8080
Щоб швидко спробувати OTLP експортер і побачити ваші трасування візуалізованими на точці доступу, ви можете запустити Jaeger в Docker контейнері:
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
-e COLLECTOR_OTLP_ENABLED=true \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 14250:14250 \
-p 14268:14268 \
-п 14269:14269 \
-п 9411:9411 \
jaegertracing/all-in-one:latest
Ви можете візуалізувати трасування за допомогою інтерфейсу Jaeger trace UI, відвідавши localhost:16686 у своєму вебоглядачі.
Zipkin
Щоб налаштувати Zipkin якомога швидше, запустіть його в Docker контейнері:
docker run --rm -d -p 9411:9411 --name zipkin openzipkin/zipkin
Встановіть пакунок експортерів як залежність для вашого застосунку:
bundle add opentelemetry-exporter-zipkin
gem install opentelemetry-exporter-zipkin
Оновіть конфігурацію OpenTelemetry для використання експортера та надсилання даних на ваш Zipkin backend:
# config/initializers/opentelemetry.rb
require 'opentelemetry/sdk'
require 'opentelemetry/instrumentation/all'
require 'opentelemetry-exporter-zipkin'
OpenTelemetry::SDK.configure do |c|
c.service_name = 'dice-ruby'
c.use_all() # вмикає всі інструменти!
end
Якщо ви зараз запустите свій застосунок, встановіть змінну середовища OTEL_TRACES_EXPORTER на Zipkin:
env OTEL_TRACES_EXPORTER=zipkin rails server
Стандартно трасування надсилаються на точку доступу Zipkin, що слухає на порту localhost:9411. Ви можете змінити endpoint, встановивши OTEL_EXPORTER_ZIPKIN_ENDPOINT відповідним чином:
env OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:9411" rails server
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!