Унификация облачной наблюдения: руководство по передовому опыту для Elastic и OpenTelemetry
Унификация облачной наблюдения: руководство по передовому опыту для Elastic и OpenTelemetry

OpenTelemetry — это больше, чем просто открытый стандарт

OpenTelemetry — это больше, чем просто открытый стандарт наблюдаемости. Являясь одним из крупных проектов Cloud Native Computing Foundation (CNCF), OpenTelemetry поддерживается большим количеством поставщиков корпоративного программного обеспечения и поставщиков облачных услуг. Глобальные предприятия из финансовой, страховой, технологической и других отраслей постепенно стандартизируют использование OpenTelemetry. С помощью OpenTelemetry команды DevOps могут последовательно собирать и принимать данные телеметрии, обеспечивая де-факто стандарт наблюдения.

Elastic® стратегически использует OpenTelemetry в качестве основной архитектуры сбора данных для обеспечения наблюдаемости и безопасности. Кроме того, Elastic стремится помочь OpenTelemetry стать лучшей инфраструктурой сбора данных в экосистеме наблюдения. В дополнение к недавнему вкладу Elastic Common Schema (ECS) в OpenTelemetry, Elastic еще больше углубляет свои отношения с OpenTelemetry.

Начиная с версии Elastic 7.14, Elastic изначально поддерживает OpenTelemetry и может напрямую принимать трассировки, метрики и журналы на основе протокола OpenTelemetry (OTLP).

варианты конфигурации отеля
варианты конфигурации отеля

В этой статье мы рассмотрим поддержку OpenTelemetry, предоставляемую в настоящее время Elastic, включая следующее:

Прием данных OpenTelemetry в Elastic

Если вы хотите узнать, как просто импортировать трассировки и метрики OpenTelemetry в Elastic, выполните действия, описанные в этой статье.

Ниже приведены параметры, предоставляемые Elastic для приема данных OpenTelemetry:

блок-схема
блок-схема

Использование сборщика OpenTelemetry

Использование сборщика OpenTelemetry Это наиболее распространенный вариант конфигурации, требующий добавления только двух ключевых переменных.

Данные инструкции по использованию описывают конкретное из opentelemetry-collector Настройте для адаптации Эластичный. По сути, эластичная/открытая телеметрия-демо в проекте values.yaml Файл настроен opentelemetry-collector, чтобы он указывал на Elastic APM Server используйте два основных значения:

  • OTEL_EXPORTER_OTLP_ENDPOINT:Elastic из APM сервер
  • OTEL_EXPORTER_OTLP_HEADERS:Elastic Заголовок авторизации

Эти значения можно найти в OpenTelemetry в инструкции по настройке APM Инструкции по интеграции(Integrations->APM)найден в。

Прокси-сервер OpenTelemetry, встроенный в код

Если вы планируете существовать, используйте код OpenTelemetry библиотеку, просто укажите сервис на Elastic из APM Просто используйте сервер, потому что он поддерживает встроенный OLTP протокол, не нужно быть особенным из Elastic Конвертировать.

Чтобы продемонстрировать это более эффективно и дать некоторое представление о том, как использовать OpenTelemetry, мы предоставляем вам два примера:

  • Elastic из OpenTelemetry Демо-версия:идругой Наблюдаемость То же, что и поставщик,Мы создали форк демо-версии OpenTelemetry.
  • Elastiflix:Эта демонстрацияприложениедатот, который поможет вам узнать, каксуществоватьразличные языкиивыполняется по сигналам телеметрии Инструментарийиз Пример。

Пожалуйста, посетите наш блог об использовании приложений Elastiflix и OpenTelemetry для Инструментария:

Мы также сделали похожие темы из YouTube-видео:

Тогда как Elastic и OpenTelemetry из Благодаря широкой базе пользователей эти ресурсы предназначены для всех, кто хочет учиться OpenTelemetry Инструментарий Complexity предоставляет пользователям богатые образовательные ресурсы.

Эластичный прокси с поддержкой OpenTelemetry

Если вы реализовали OpenTelemetry, все еще работает с OpenTelemetry Вместеиспользоватьони。Elastic APM В настоящее время агент может передавать OpenTelemetry Span как часть трассировки. Это означает, что если какой-либо компонент вашего приложения излучает OpenTelemetry пролет, это станет Elastic APM актерское мастерство захвата из трека части.

Журналы OpenTelemetry в Elastic

Если вы просмотрите OpenTelemetry документации вы обнаружите, что многие языковые библиотеки все еще являются экспериментальными или еще не реализованы. Согласно документации, Java В стабильном состоянии. В зависимости от языка вашего сервиса и вашей восприимчивости к новым технологиям, из вашего сервиса экспортируется и интегрируется несколько типов продуктов. часть наблюдаемостииз Параметры。

существовать предыдущее из в блоге,мы обсуждалиПравильно импортируйте данные журнала Elastic из Три разные конфигурации。Блог исследует OpenTelemetry бревноиздо настоящего временисостояние,и предоставляет рекомендации по доступным методам из,В основном оно включает в себя следующие принципы:

  • существуют применимые из случая,Воля Журнал обслуживанияи OTel Создать из ассоциации трассировки
  • Правильно ловить исключения
  • Универсальный контекст по следам, индикаторам ибревноиз
  • Поддержка пар ключ-значение slf4j («структурированные журналы»).
  • с Мобильное дополнение осуществляет доставку багажа OTel из метаданных
  • использовать Elastic Серверная часть наблюдаемости
  • Каким бы ни был метод, существуют Elastic Поддерживать постоянную точность данных в

В блоге рассматриваются три типа методов отслеживания багажа, в том числе:

  • использовать Встроитьиз OpenTelemetry Библиотека Инструментарий Воля сервис избревно (и трекинг и индикаторы вместе) вывод в Elastic,проходить OTLP протокол
  • Воля сервис избревно пишет файлы, по OpenTelemetry Collector схватить, затем провести OTLP протокол переслать Elastic
  • Воля сервис избревно пишет файлы, по Elastic Агент (или Filebeat)схватить, затем провести Elastic Определение изпротокол переслать Elastic

нужно вниманиеизда,по сравнению с методом (2) и (3), метод (1) Не предполагает загрузку журналов службы в Elastic прежде чем записать его в файл.

OpenTelemetry — предпочтительный режим Elastic.

Elastic Недавно Проект OpenTelemetry (OTel) способствовал Эластичная общая схема (ECS),существовать OTel Безопасная и Наблюдаемость данных из единой спецификации данных реализуется в рамках семантических соглашений.

ECS это спецификация с открытым исходным кодом, разработанная Elastic Сообщество пользователей поддерживает разработку определений, хранящихся в Elasticsearch® Общий набор полей для данных о событиях. ЭКС Помогает снизить затраты на управление и хранение, вызванные дублированием данных, и повысить эффективность работы.

Аналогично, ОТел Семантическое соглашение (SemConv) также определяет общие имена для различных операций и данных. использовать OTel SemConv из выгодсуществовать заключается в том, что это OTel Между существующими библиотеками пользовательского кода и библиотеками и платформами предусмотрена унифицированная схема именования.

ECS и OTel SemConv изфузия Воля помогает водить машину OTel из Принятие и наблюдаемость из Непрерывная эволюция и интеграция в области безопасности.

Эластичная наблюдаемость APM и возможности машинного обучения

Elastic Наблюдаемость из ВСЕХ APM функции доступны с OTel Данные вместе использовать (существовать из нашего блога 《использовать OpenTelemetry Достижение независимости (Узнать больше):

  • Карта услуг
  • Сведения об услуге (задержка, пропускная способность, неудачные транзакции)
  • Зависимости между сервисами
  • Транзакция (отслеживание)
  • Корреляции машинного обучения (особенно задержка)
  • Журнал обслуживания
Служить
Служить

Кроме Elastic из APM Помимо объединения данных телеметрии, вы также можете Elastic Мощная функция машинного обучения, позволяющая сократить объем анализа и предупреждений, тем самым помогая сократить среднее время ремонта (MTTR). Ниже приводится Мы из некоторых основанных на машинном обучении из AIOps Функция:

  • Обнаружение аномалий:Elastic Наблюдаемостьсуществовать При включении(См. документацию),проводить непрерывное моделирование нормального поведения данных OpenTelemetry,Автоматически обнаруживать аномалии — узнавать тенденции, периодичность и т. д.
  • Классификация журналов:Elastic Быстро определить OpenTelemetry события в режиме «из режима», чтобы вы могли действовать быстрее.
  • Высокая задержка или ошибочные транзакции:Elastic Наблюдаемостьиз APM Функция помогает вам обнаружить, какие атрибуты приводят к увеличению задержки транзакции, и определить наиболее важные атрибуты, которые отличают неудачу транзакции от успеха.
  • Детектор пиковых значений журнала:Помогите определить OpenTelemetry Бревно ставка увеличивается по причинам. Анализируйте свой рабочий процесс и легко находите и исследуйте причины аномальных пиков.
  • Анализ шаблонов журналов:помочь тебесуществоватьнеструктурированныйбревно消息найден в模式,Облегчает проверку ваших данных.

Elastic позволяет вам перейти на OTel в удобном для вас темпе

Хотя OpenTelemetry поддерживает несколько языков программирования,Но его главное Функциякомпоненты(состояние)——индекс、Отслеживание ибревно – пока находится на разных стадиях. Поэтому миграция использует Java、Python и JavaScript Написание изприложения является хорошим вариантом, поскольку эти языки содержат индикаторы, отслеживающие ибревно (применимо к Java), чтобы стабилизировать его.

Пока еще поддерживаются другие языки,Вы можете легко использовать эластичные агенты для Инструментария.,тем самымсуществоватьсмешивание模式下运行您изПолнофункциональная платформа наблюдения(Elastic agents и OpenTelemetry agents)。

Ниже приводится простой пример:

Служить 2
Служить 2

На рисунке выше показан наш стандарт Elastic Agent Простой вариант приложенияиз, в котором переключается одна услуга OTel——newsletter-otel Служить. Но мы можем легко преобразовать каждую услугу в OTel, в зависимости от наличия ресурсов на разработку.

Таким образом, вы можете перейти на конкретный язык по требованию, когда он достигнет стабильного состояния. OpenTelemetry и продолжите миграцию вашего приложения на OpenTelemetry актерское мастерство.

Интеграция представлений Kubernetes и OpenTelemetry в Elastic

Elastic использовать Elastic Agent Управлять тобой Kubernetes кластер, вы можете запустить OpenTelemetry приложениеиз Kubernetes Кластер, чтобы использовать его. Таким образом, вы можете не только предоставить вам OpenTelemetry,Elastic Вы также можете отслеживать соответствующие Kubernetes кластер.

Kubernetes имеет две конфигурации:

1. существовать Kubernetes Простое развертывание в кластере Elastic Agent Демонический набор. нассуществовать文章 《использовать Elastic Наблюдаемость Управлять тобой Kubernetes Кластер》 Это изложено в. Это также будет Kubernetes из индикатора ибревно нажать на Elastic。

эластичный облачный узел
эластичный облачный узел

2. развертывать Elastic Агент, в том числе не только Kubernetes набор демонов, также включает в себя Elastic из APM интегрированный、安全интегрированныйи Интеграция захвата сетевых пакетов,чтобы предоставить более полнуюиз Kubernetes 集群Наблюдаемость。нассуществовать文章 《использовать Elastic и OpenTelemetry Достижение современной безопасности наблюдения》 Эта конфигурация описана в .

блок-схема
блок-схема

Эти двое OpenTelemetry Визуализация Пример Всеиспользовать OpenTelemetry Демо-версия,существовать Elastic , мы будем Kubernetes Информация привязана к приложению, что позволяет вам APM из Просмотреть в отслеживании Kubernetes информация. Это обеспечивает более комплексный подход при устранении неполадок.

подробности о капсуле
подробности о капсуле

Подвести итог

Короче говоря, Эластик из обещаний больше, чем просто дапод поддержку Открытая телеметрия. Мы стремимся к тому, чтобы наши клиенты не только принимали OpenTelemetry,Все еще можно успешно использовать его. предоставить нам решения, опыт и ресурсы,Мы стремимся улучшить каждую деловую поездку,VolyaData преобразуется в практические идеи, которые способствуют росту и инновациям.

Ресурсы для разработчиков:Приложение Эластифликс,Как направлятьсуществоватьна разных языкахиспользовать OpenTelemetry Инструментарий_ Python: автоматический контрольно-измерительный прибор, Ручное оснащение Java: автоматический контрольно-измерительный прибор, Ручное оснащение Node.js: автоматический контрольно-измерительный прибор, Ручное оснащение .NET: автоматический контрольно-измерительный прибор, Ручное оснащение Go: Ручное оснащение OpenTelemetry изBest Practices

Общая конфигурация ииспользовать ресурсы кейса:

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose