Що таке OpenTelemetry?
OpenTelemetry це:
Фреймворк та інструменти спостережуваності створені для допомоги у
телеметричних даних таких як трейси, метрики, та логи.
Відкритий вихідний код, а також незалежність від постачальника та інструменту, що означає, що його можна використовувати з широким спектром бекендів спостережуваності, включаючи інструменти з відкритим вихідним кодом, такі як Jaeger та Prometheus, а також комерційні пропозиції. OpenTelemetry не є самостійним бекендом спостережуваності.
Основною метою OpenTelemetry є забезпечення простого інструментарію для ваших застосунків та систем, незалежно від мови програмування, інфраструктури та середовища виконання, що використовуються.
Бекенд (зберігання) та фронтенд (візуалізація) телеметричних даних навмисно залишено для інших інструментів.
Більше відео з цієї серії та додаткові ресурси дивіться у розділі Що далі?
Що таке спостережуваність
Спостережність — це можливість розуміти внутрішній стан системи, досліджуючи її вивід. У контексті програмного забезпечення це означає можливість розуміти внутрішній стан системи, досліджуючи її телеметричні дані, які включають трейси, метрики та логи.
Для того, щоб зробити систему спостережуваною, її необхідно інструментувати. Це означає, що код повинен генерувати трейси, метрики або логи. Зібрані дані потім повинні бути відправлені до бекенду спостережуваності.
Чому OpenTelemetry?
З підвищенням популярності хмарних обчислень, мікросервісних архітектур та все складніших бізнес-вимог, потреба у спостережуваності програмного забезпечення та інфраструктури більша, ніж будь-коли.
OpenTelemetry задовольняє потребу у спостережуваності, дотримуючись двох ключових принципів:
- Ви володієте даними, які генеруєте. Ви не залежите від постачальника.
- Вам потрібно вивчити лише один набір API та домовленостей.
Обидва принципи разом надають командам та організаціям гнучкість, якої вони потребують у сучасному світі обчислень.
Якщо ви хочете дізнатися більше, перегляньте місію, візію та цінності OpenTelemetry.
Основні компоненти OpenTelemetry
OpenTelemetry складається з наступних основних компонентів:
- Специфікація для всіх компонентів
- Стандартний протокол, який визначає форму телеметричних даних
- Семантичні домовленості, які визначають стандартну схему найменування для типів телеметричних даних
- API, які визначають, як генерувати телеметричні дані
- Мовні SDK, які реалізують специфікацію, API та експорт телеметричних даних
- Екосистема бібліотек, які реалізують інструментування для популярних бібліотек та фреймворків
- Компоненти автоматичного інструментування, які генерують телеметричні дані без необхідності змін в коді
- Колектор OpenTelemetry, проксі, який отримує, обробляє та експортує телеметричні дані
- Різноманітні інші інструменти, такі як Оператор OpenTelemetry для Kubernetes, чарти Helm OpenTelemetry та спільні активи для FaaS
OpenTelemetry використовується широким колом бібліотек, сервісів та застосунків, які стандартно мають фреймворк OpenTelemetry інтегрованим для забезпечення спостережуваності.
OpenTelemetry підтримується численними постачальниками, багато з яких надають комерційну підтримку для OpenTelemetry та вносять внесок у проєкт безпосередньо.
Розширюваність
OpenTelemetry спроєктовано таким чином, щоб її можна було розширювати. Деякі приклади того, як вона може бути розширюватися включають
- Додавання приймача до колектора OpenTelemetry для підтримки телеметричних даних з власного джерела
- Завантаження власних бібліотек інструментування в SDK
- Створення дистрибутиву SDK або колектора, призначеного для конкретного використання
- Створення нового експортера для власного бекенду, який ще не підтримує протокол OpenTelemetry (OTLP)
- Створення власного розповсюджувача для нестандартного формату передачі контексту
Хоча більшості користувачів, можливо, не знадобиться розширювати OpenTelemetry, проєкт спроєктований таким чином, щоб зробити це можливим майже на всіх рівнях.
Історія
OpenTelemetry є проєктом Cloud Native Computing Foundation (CNCF), який виник в результаті злиття двох попередніх проєктів, OpenTracing та OpenCensus. Обидва ці проєкти були створені для вирішення однієї й тієї ж проблеми: відсутності стандарту для інструментування коду та надсилання телеметричних даних до бекенду спостережуваності. Оскільки жоден з проєктів не міг повністю розвʼязати проблему самостійно, вони обʼєдналися, щоб створити OpenTelemetry та поєднати свої сили, пропонуючи одне рішення.
У випадку якщо ви вже використовуєте OpenTracing або OpenCensus, ви можете дізнатися, як перейти на OpenTelemetry в Посібнику з міграції.
Що далі?
- Розпочніть негайно!
- Дізнайтесь про концепції OpenTelemetry.
- Перегляньте відео для тих хто тільки починає або інші добірки.
- Зареєструйтесь на тренінг, включаючи безплатний курс “Початок роботи з OpenTelemetry”.
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!