# Експортери

LLMS index: [llms.txt](/llms.txt)

---


Надсилайте телеметрію до [OpenTelemetry Collector](/docs/collector/), щоб переконатися, що вона експортується правильно. Використання Collector у виробничих середовищах є найкращою практикою. Щоб візуалізувати вашу телеметрію, експортуйте її до бекенду, такого як [Jaeger](https://jaegertracing.io/), [Zipkin](https://zipkin.io/), [Prometheus](https://prometheus.io/) або [бекенд, специфічний для постачальника](/ecosystem/vendors/).



## Доступні експортери {#available-exporters}

Реєстр містить [список експортерів для Ruby][reg].




Серед експортерів, експортери [OpenTelemetry Protocol (OTLP)][OTLP] розроблені з урахуванням моделі даних OpenTelemetry, що передають дані OTel без втрати інформації. Крім того, багато інструментів, які працюють з телеметричними даними, підтримують OTLP (таких як [Prometheus][], [Jaeger][] і більшість [постачальників][vendors]), надаючи вам високий ступінь гнучкості, коли це потрібно. Щоб дізнатися більше про OTLP, дивіться [Специфікацію OTLP][OTLP].

[Jaeger]: /blog/2022/jaeger-native-otlp/
[OTLP]: /docs/specs/otlp/
[Prometheus]: https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver
[reg]: </ecosystem/registry/?component=exporter&language=ruby>
[vendors]: /ecosystem/vendors/



Ця сторінка охоплює основні експортери OpenTelemetry Ruby та як їх налаштувати.






{{__hugo_ctx/}}


## Точка доступу OTLP {#otlp-endpoint}

Щоб надіслати дані трасування на точку доступу OTLP (наприклад, [collector](/docs/collector) або Jaeger), вам потрібно використовувати пакунок експортерів, такий як `opentelemetry-exporter-otlp`:

   <ul class="nav nav-tabs" id="tabs-1" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab"
          data-td-tp-persist="bundler" aria-controls="tabs-01-00" aria-selected="true">
        bundler
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab"
          data-td-tp-persist="gem" aria-controls="tabs-01-01" aria-selected="false">
        gem
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-1-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-01-00" role="tabpanel" aria-labelled-by="tabs-01-00-tab" tabindex="1">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">bundle add opentelemetry-exporter-otlp
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-01-01" role="tabpanel" aria-labelled-by="tabs-01-01-tab" tabindex="1">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">gem install opentelemetry-exporter-otlp
</span></span></code></pre></div>
    </div>
</div>


Далі налаштуйте експортер для вказівки на точку доступу OTLP. Наприклад, ви можете оновити `config/initializers/opentelemetry.rb` з [Початку роботи](../getting-started/), додавши `require 'opentelemetry-exporter-otlp'` до коду:

```ruby
# 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 для експорту трасувань:

```sh
rails server -p 8080
```

Стандартно трасування надсилаються на точку доступу OTLP, що слухає на localhost:4318. Ви можете змінити точку доступу, встановивши `OTEL_EXPORTER_OTLP_ENDPOINT` відповідним чином:

```sh
env OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318" rails server -p 8080
```

Щоб швидко спробувати OTLP експортер і побачити ваші трасування візуалізованими на точці доступу, ви можете запустити Jaeger в Docker контейнері:

```shell
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 контейнері:

```shell
docker run --rm -d -p 9411:9411 --name zipkin openzipkin/zipkin
```

Встановіть пакунок експортерів як залежність для вашого застосунку:

   <ul class="nav nav-tabs" id="tabs-2" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-02-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-00" role="tab"
          data-td-tp-persist="bundle" aria-controls="tabs-02-00" aria-selected="true">
        bundle
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-02-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-01" role="tab"
          data-td-tp-persist="gem" aria-controls="tabs-02-01" aria-selected="false">
        gem
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-2-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-02-00" role="tabpanel" aria-labelled-by="tabs-02-00-tab" tabindex="2">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">bundle add opentelemetry-exporter-zipkin
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-02-01" role="tabpanel" aria-labelled-by="tabs-02-01-tab" tabindex="2">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">gem install opentelemetry-exporter-zipkin
</span></span></code></pre></div>
    </div>
</div>


Оновіть конфігурацію OpenTelemetry для використання експортера та надсилання даних на
ваш Zipkin backend:

```ruby
# 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:

```sh
env OTEL_TRACES_EXPORTER=zipkin rails server
```

Стандартно трасування надсилаються на точку доступу Zipkin, що слухає на порту localhost:9411. Ви можете змінити endpoint, встановивши `OTEL_EXPORTER_ZIPKIN_ENDPOINT` відповідним чином:

```sh
env OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:9411" rails server
```
