# Що таке OpenTelemetry?

> Коротке пояснення, чим є та чим не є OpenTelemetry.

---

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

---

OpenTelemetry це:

- **Фреймворк та інструменти [спостережуваності][observability]** створені для допомоги у
  - [Генерації][instr]
  - Експорті
  - [Збиранні](../concepts/components/#collector)

  [телеметричних даних][telemetry data] таких як [трейси][traces], [метрики][metrics], та [логи][logs].

- **Відкритий вихідний код**, а також **незалежність від постачальника та інструменту**, що означає, що його можна використовувати з широким спектром бекендів спостережуваності, включаючи інструменти з відкритим вихідним кодом, такі як [Jaeger][] та [Prometheus][], а також комерційні пропозиції. OpenTelemetry **не є** самостійним бекендом спостережуваності.

Основною метою OpenTelemetry є забезпечення простого інструментарію для ваших застосунків та систем, незалежно від мови програмування, інфраструктури та середовища виконання, що використовуються.

Бекенд (зберігання) та фронтенд (візуалізація) телеметричних даних навмисно залишено для інших інструментів.

<div class="td-max-width-on-larger-screens">
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/iEEIabOha8U?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

</div>

Більше відео з цієї серії та додаткові ресурси дивіться у розділі [Що далі?](#what-next)

## Що таке спостережуваність {#what-is-observability}

[Спостережність][observability] — це можливість розуміти внутрішній стан системи, досліджуючи її вивід.

У контексті програмного забезпечення це зазвичай досягається шляхом аналізу телеметричних даних, таких як трасування, метрики та журнали.

Для того, щоб зробити систему спостережуваною, її необхідно [інструментувати][instr]. Це означає, що код повинен генерувати [трейси][traces], [метрики][metrics] або [логи][logs]. Зібрані дані потім повинні бути відправлені до бекенду спостережуваності.

## Чому OpenTelemetry? {#why-opentelemetry}

З підвищенням популярності хмарних обчислень, мікросервісних архітектур та все складніших бізнес-вимог, потреба у [спостережуваності][observability] програмного забезпечення та інфраструктури більша, ніж будь-коли.

OpenTelemetry задовольняє потребу у спостережуваності, дотримуючись двох ключових принципів:

1. Ви володієте даними, які генеруєте. Ви не залежите від постачальника.
2. Вам потрібно вивчити лише один набір API та домовленостей.

Обидва принципи разом надають командам та організаціям гнучкість, якої вони потребують у сучасному світі обчислень.

Якщо ви хочете дізнатися більше, перегляньте [місію, візію та цінності](/community/mission/) OpenTelemetry.

## Основні компоненти OpenTelemetry {#main-opentelemetry-components}

OpenTelemetry складається з наступних основних компонентів:

- [Специфікація](/docs/specs/otel) для всіх компонентів
- Стандартний [протокол](/docs/specs/otlp/), який визначає форму телеметричних даних
- [Семантичні домовленості](/docs/specs/semconv/), які визначають стандартну схему найменування для типів телеметричних даних
- API, які визначають, як генерувати телеметричні дані
- [Мовні SDK](../languages), які реалізують специфікацію, API та експорт телеметричних даних
- Екосистема [бібліотек](/ecosystem/registry), які реалізують інструментування для популярних бібліотек та фреймворків
- Компоненти автоматичного інструментування, які генерують телеметричні дані без необхідності змін в коді
- [Колектор OpenTelemetry](../collector), проксі, який отримує, обробляє та експортує телеметричні дані
- Різноманітні інші інструменти, такі як [Оператор OpenTelemetry для Kubernetes](../platforms/kubernetes/operator/), [чарти Helm OpenTelemetry](../platforms/kubernetes/helm/) та [спільні активи для FaaS](../platforms/faas/)

OpenTelemetry використовується широким колом [бібліотек, сервісів та застосунків](/ecosystem/integrations/), які стандартно мають фреймворк OpenTelemetry інтегрованим для забезпечення спостережуваності.

OpenTelemetry підтримується численними [постачальниками](/ecosystem/adopters/), багато з яких надають комерційну підтримку для OpenTelemetry та вносять внесок у проєкт безпосередньо.

## Розширюваність {#extensibility}

OpenTelemetry спроєктовано таким чином, щоб її можна було розширювати. Деякі приклади того, як вона може бути розширюватися включають

- Додавання приймача до колектора OpenTelemetry для підтримки телеметричних даних з власного джерела
- Завантаження власних бібліотек інструментування в SDK
- Створення [дистрибутиву](../concepts/distributions/) SDK або колектора, призначеного для конкретного використання
- Створення нового експортера для власного бекенду, який ще не підтримує протокол OpenTelemetry (OTLP)
- Створення власного розповсюджувача для нестандартного формату передачі контексту

Хоча більшості користувачів, можливо, не знадобиться розширювати OpenTelemetry, проєкт спроєктований таким чином, щоб зробити це можливим майже на всіх рівнях.

## Історія {#history}

OpenTelemetry є проєктом [Cloud Native Computing Foundation (CNCF)][Cloud Native Computing Foundation], який виник в результаті [злиття][merger] двох попередніх проєктів, [OpenTracing](https://opentracing.io) та [OpenCensus](https://opencensus.io). Обидва ці проєкти були створені для вирішення однієї й тієї ж проблеми: відсутності стандарту для інструментування коду та надсилання телеметричних даних до бекенду спостережуваності. Оскільки жоден з проєктів не міг повністю розвʼязати проблему самостійно, вони обʼєдналися, щоб створити OpenTelemetry та поєднати свої сили, пропонуючи одне рішення.

У випадку якщо ви вже використовуєте OpenTracing або OpenCensus, ви можете дізнатися, як перейти на OpenTelemetry в [Посібнику з міграції](../compatibility/migration/).

[merger]: https://www.cncf.io/blog/2019/05/21/a-brief-history-of-opentelemetry-so-far/

## Що далі? {#what-next}

- [Розпочніть](../getting-started/) негайно!
- Дізнайтесь про [концепції OpenTelemetry](../concepts/).
- [Перегляньте відео][Watch videos] для [тих хто тільки починає][OTel for beginners] або інші [добірки][playlists].
- Зареєструйтесь на [тренінг](/training), включаючи **безплатний курс** "[Початок роботи з OpenTelemetry](/training/#courses)".

[Cloud Native Computing Foundation]: https://www.cncf.io
[instr]: ../concepts/instrumentation
[Jaeger]: https://www.jaegertracing.io/
[logs]: ../concepts/signals/logs/
[metrics]: ../concepts/signals/metrics/
[observability]: ../concepts/observability-primer/#what-is-observability
[OTel for beginners]: https://www.youtube.com/playlist?list=PLVYDBkQ1TdyyWjeWJSjXYUaJFVhplRtvN
[playlists]: https://www.youtube.com/@otel-official/playlists
[Prometheus]: https://prometheus.io/
[telemetry data]: ../concepts/signals/
[traces]: ../concepts/signals/traces/
[Watch videos]: https://www.youtube.com/@otel-official
