DeFi

Масштабирование платформы наблюдаемости свыше 100 петабайт: почему мы отказались от OpenTelemetry и создали собственное решение

DeFi
Replacing OTel to scale our Observability platform beyond 100 Petabytes

Рассмотрение вызовов масштабирования системы наблюдаемости на уровне сотен петабайт данных, анализ ограничений OpenTelemetry и описание успешного перехода на специализированный экспортёр SysEx, а также влияние этих изменений на эффективность и стоимость платформы.

Современные системы обработки данных сталкиваются с задачей наблюдаемости на совсем новом уровне — обработка и анализ сотен петабайт информации становятся повседневной реальностью. Это особенно актуально для систем, которые работают с огромными объемами событий и логов в режиме реального времени. Одним из ключевых решений индустрии долгое время оставался OpenTelemetry (OTel) — стандартный, универсальный и широко поддерживаемый инструмент для сбора телеметрических данных. Тем не менее, когда масштабы вашей платформы выходят за привычные рамки, универсальные подходы могут столкнуться с серьезными ограничениями. Так произошло и с нашей платформой наблюдаемости, которая выросла с 19 петабайт (PiB) до впечатляющих 100 петабайт некомпрессированных логов и 500 триллионов строк данных.

В этой статье мы делимся опытом отказа от традиционной архитектуры на основе OpenTelemetry в пользу собственного специализированного решения, а также рассказываем о технических нюансах, которые помогли нам достичь непревзойденного уровня масштабируемости и эффективности. Изначально OpenTelemetry был незаменимым элементом нашего стека — с его помощью мы быстро организовали сбор логов из всех Kubernetes-подов, обрабатывающих ClickHouse. Ключевым преимуществом OTel было то, что он предоставлял единую платформу для обработки событий, метрик, трассировок и логов, а также независимость от поставщика и открытый, стандартизированный формат данных. Эта универсальность помогала быстро запускать систему и обеспечивала гибкость. Однако со временем, по мере роста нагрузки, мы столкнулись с серьезными узкими местами, связанными с производительностью, потреблением ресурсов и достоверностью данных.

Проблема во многом заключалась в самой архитектуре OTel-агентов и коллекторов. В нашем сценарии данные сначала писались в JSON на стандартный вывод (stdout) ClickHouse, потом kubelet сохранял их в /var/log/. Далее коллекция происходила через OTel collector, который парсил JSON, маршаллил данные в промежуточное внутреннее представление, конвертировал в OTel лог формат, а затем передавал дальше — для последующего преобразования в родной формат ClickHouse при загрузке в нашу платформу LogHouse. Каждый из этих этапов требовал дополнительной обработки, затрат CPU и памяти, влияя на общую производительность. Мы обнаружили, что такая многоступенчатая конвертация негативно сказывалась на уровне потерь данных: при пиковых нагрузках OTel-агенты просто не успевали обрабатывать весь объем событий, из-за чего происходила утечка логов прямо на границе сбора.

Для устранения этого недостатка пришлось бы масштабировать инфраструктуру коллекторов до колоссальных размеров — по оценкам, для оборота 20 миллионов строк в секунду нам потребовалось бы примерно 8000 ядер CPU, что оказалось экономически и технически неприемлемо. Тем временем внутри ClickHouse существуют системные таблицы, которые предоставляют богатый и очень подробный доступ к данным о запросах, состоянии кластера, операциям дисков и прочей служебной информации. Эти таблицы удобны для глубокого анализа и мониторинга, однако их структура намного более комплексна и не сводится к выводу stdout. Обработка таких данных стандартными OTel-агентами была неэффективной и затруднительной. Все это подтолкнуло нас к созданию специализированного инструмента — System Tables Exporter, или SysEx.

Основной идеей SysEx стало «байт-в-байт» копирование из оригинальных системных таблиц ClickHouse в нашу платформу LogHouse без промежуточных преобразований и переформатирования. Таким образом мы смогли радикально снизить нагрузку на CPU и устранить узкие места, возникшие в OTel-пайплайне. Архитектура SysEx построена на пуле «скрейперов», которые делают pull-запросы к системным таблицам конкретных кластеров клиентов, параллельно распределяя нагрузку с помощью хэш-кольца. Такой подход позволяет выгружать высоко структурированную и объемную информацию по таймвидео, минимизируя задержки и исключая потерю данных из-за перегрузки. Кроме того, SysEx применяет стратегию отставания запросов на ~5 минут, что позволяет гарантировать обработку полностью «законченных» данных, так как это дает необходимое время для заполнения внутренних буферов ClickHouse.

Благодаря прямому чтению и записи в родном формате (Native), мы отказались от затратных операций сериализации и десериализации, а также от ненужных преобразований типов. Важное преимущество SysEx — динамическое создание и управление схемами данных. Поскольку системные таблицы ClickHouse эволюционируют, мы автоматизировали процесс выявления новых версий схем и объединения их на уровне Merge таблиц. Это позволяет выполнять запросы к историческим данным по всей корзине с использованием консистентного интерфейса без необходимости ручного обновления. Для внутрискластерных таблиц с моментальными снимками, таких как system.

processes, мы реализовали отдельный механизм периодического снятия агрегаций состояния, сохраняемого в LogHouse. Это существенно расширило возможности для досконального анализа по всем аспектам работы кластеров, включая диагностику и идентификацию проблем. Результаты внедрения SysEx впечатляют: используя не более 10 % от ресурсов CPU, ранее занятых OTel-сборщиками, мы смогли увеличить пропускную способность логов в 20 раз — примерно с 2 до 37 миллионов логированных сообщений в секунду без потерь. Такое повышение эффективности не только снижает операционные затраты и улучшает масштабируемость, но и повышает надежность всей системы. Несмотря на отказ от OTel в задачах с очень высокими требованиями к производительности, мы продолжаем использовать OpenTelemetry для получения базовых и аварийных логов в условиях падений сервисов.

Ведь SysEx основан на pull-модели и требует работающего кластера для получения данных из системных таблиц, тогда как OTel способен получать stdout и stderr даже из нестабильных или упавших процессов. Комбинация двух подходов позволяет нам покрыть полный спектр задач: OTel обеспечивает универсальность и устойчивость при авариях, а SysEx — специализированную эффективность и максимальное качество данных для ежедневного мониторинга и анализа. Ещё одним важным элементом является интеграция HyperDX — нативного ClickHouse UI для анализа и корреляции логов, который значительно улучшил пользовательский опыт инженеров. HyperDX поддерживает Lucene-подобный синтаксис запросов, что делает быструю фильтрацию и поиск простыми, но при этом разрешает выполнять сложные SQL-запросы для глубокого анализа. Благодаря этому инструменту мы успешно объединили аналитический потенциал платформы с удобством и масштабируемостью интерфейса.

Современный подход к хранению наблюдательных данных на основе широких событий и высокой кардинальности позволяет нам избежать ограничений традиционной трехпиллерной модели (метрики, логи, трассировки). Вместо агрегации при приеме мы храним все события целиком, что позволяет гибко и глубоко исследовать данные в любой момент времени. Эффективное хранение и быстрый доступ к таким объемам стали возможны благодаря колонночной архитектуре ClickHouse. В заключение, опыт масштабирования платформы наблюдаемости ClickHouse Cloud свыше 100 петабайт показал, что отказ от универсальных, но ресурсоемких решений вроде OpenTelemetry в пользу специализированных потоковых экспортеров собственной разработки может стать переломным моментом в управлении большими данными. Внедрение SysEx обеспечило уникальное сочетание высокой производительности, надежности и качества данных при значительно менее дорогостоящих вычислительных ресурсах.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
New AI technique makes LLMs write code more like real programmers
Пятница, 12 Сентябрь 2025 Новый подход в ИИ: как современные модели обучаются писать код как настоящие программисты

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

Internet Computer Woos Blockchain Devs with Solana Access Amid Dwindling Onchain Activity
Пятница, 12 Сентябрь 2025 Интернет Компьютер расширяет возможности для разработчиков, интегрируя доступ к Solana на фоне снижения активности в блокчейне

Интеграция сети Internet Computer с блокчейном Solana открывает новые горизонты для разработчиков смарт-контрактов, несмотря на снижение ончейн-активности. Обновления с использованием Threshold EdDSA и SOL RPC canister позволяют создавать кроссчейн-приложения без посредников, что меняет ландшафт децентрализованных финансов и стимулирует развитие экосистемы.

Cryptocurrency Live News & Updates : Visa Partners with Yellow Card to Boost Stablecoin Use in Africa
Пятница, 12 Сентябрь 2025 Visa и Yellow Card: Революция в использовании стейблкоинов в Африке

Партнёрство Visa и Yellow Card открывает новые возможности для развития стейблкоинов в африканском регионе, улучшая доступ к цифровым финансам и снижая транзакционные издержки на фоне валютной нестабильности.

GPS tracker detection made easy with off-the-shelf hardware
Пятница, 12 Сентябрь 2025 Простое обнаружение GPS-трекеров с помощью доступного оборудования

Методы обнаружения скрытых GPS-трекеров с использованием доступного и недорогого оборудования помогают защититься от незаконного слежения. Рассмотрены современные технологии, алгоритмы и практические рекомендации для обнаружения устройств на автомобилях и других объектах.

I Want to Love Linux. It Doesn't Love Me Back: Post 4 – Wayland Is Growing Up
Пятница, 12 Сентябрь 2025 Wayland Взрослеет: Как Будущее Linux Формируется Сегодня

Переход с Xorg на Wayland меняет ландшафт Linux, включая вопросы доступности и поддержку рабочих окружений. Разбираемся, что это значит для пользователей и разработчиков.

Interactive C/C++ in the browser with WASM and JupyterLite
Пятница, 12 Сентябрь 2025 Интерактивное программирование на C/C++ в браузере с WASM и JupyterLite: новый уровень возможностей

Обзор современных технологий, позволяющих запускать и исполнять код на C и C++ прямо в браузере с использованием WebAssembly и платформы JupyterLite. Рассмотрены преимущества, особенности реализации и перспективы развития интерактивного программирования на C++ в веб-среде.

Do Not Fold, Spindle or Mutilate": A Cultural History of the Punch Card [pdf]
Пятница, 12 Сентябрь 2025 Историческое значение перфокарт: от технического новшества до культурного символа

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