Хроносфера спонсировала этот пост.
Примечание редактора: Эта статья — выдержка из главы 1 книги Мэннинга «Свободно с Kubernetes:»
Эта статья является частью серии. Прочитайте также:
- Свободный бит, специализированный инструмент захвата и распределения событий
- Свободный бит: основные концепции
- Что водит бегство в усыновлении?
- Руководство по миграции с Fluentd в бегство
При рассмотрении вопроса о том, использовать ли Fluentd или Fluent Bit, и даже беглый бит или открывая телеметрию (OTEL), ответ не должен быть одним или другим. С самого начала были построены бегство и флуэнтд, чтобы легко и плавно общаться. Из -за того, как растворы Fluent Bit и Fluentd структурируют свои полезные нагрузки внутри, мы можем взять полезную нагрузку OTEL, обернуть ее внутрь модели Fluent и снова распаковать.
Ключ к ответам на вопрос о Fluentd заключается в принятии OTEL для более чем вариантов использования микросервиса и скорости, с которой разрабатываются дополнительные адаптеры.
По моему мнению, новые разработки станут свободными битами в течение следующих нескольких лет, потому что разработчики, которые, возможно, считали Logstash, будут обращаться к агентам управления эффективностью Elastic Application (APM). Тем не менее, решения в производстве увидят более медленную скорость изменений с заменой Fluentd. Наиболее вероятным драйвером изменений в существующем программном обеспечении будет принятие Opentelemetry.
С помощью данных, полученных в рамках бегемого бита, мы можем анализировать полуструктурированный контент, чтобы извлечь больше смысла из события, позволяя выполнять более информированные действия вниз по течению. Этот процесс может быть таким же простым, как извлечение значения из некоторого текста, например, содержит ли запись журнала ошибку, извлечение числового значения для использования Прометея или влияния на маршрутизацию события. Процесс также может быть таким же сложным, как преобразование пользовательского формата в представление JSON.
Естественным следующим шагом является фильтрация событий, возможно, сбросить их, когда они незначительны, или направить их на один или несколько выходов. Мы могли бы отправить данные в центральный репозиторий журнала и передать числовые элементы события, чтобы Прометею в качестве метрики.
Передача данных в группах событий более эффективна, чем передача по одному событию за раз. Начало и конец каждого разговора имеют небольшие накладные расходы, такие как открытие и закрытие сетевых подключений или открытие и поиск конца файла, а затем закрытие ручки файла.
Буферизация или группировка мероприятий помогает нам совершать компромиссы в этой деятельности, которая является одной из ролей буферов, независимо от того, где они находятся. Поскольку буфер может быть не простой структурой в памяти, лучше выполнять буферизацию после фильтрации, поэтому, если буфер включает в себя больше, чем управление данными, которые у нас уже есть в памяти, мы минимизируем усилия.
Последний шаг — разместить события куда -то. Это вполне может быть еще одним беглым битом (действуя в качестве узла Openelemetry или простого процессора событий журнала) или Fluentd (используя преимущества его более крупной коллекции параметров плагинов или существующей развернутой инфраструктуры мониторинга), или это может быть одним из поддерживаемых хранилищ или пользовательских выходов, которые были подключены.
Приведенная ниже диаграмма принимает представление архитектуры и добавляет некоторые примеры источников, направлений и технологий, которые позволяют нам улучшить бегство. Эта цифра подчеркивает гибкость и совместимость инструментов, соответствующих Fluentd и Openelemetry, в дополнение к разнообразным различным приложениям и технологиям.
Вы, вероятно, заметили, что беглый бит ничего не делает с презентацией данных или визуализацией. Это сводится к философии, что приложение несет единую ответственность: сделайте одну вещь и сделайте это хорошо. Для бегемого бита эта вещь получает данные об наблюдении от того, что необходимо наблюдать, к инструментам, которые позволяют нам визуализировать и анализировать данные.
Беспроводная битовая логическая архитектура с некоторыми из доступных плагинов.
Если вы знакомы с архитектурой Fluentd, вы признаете, что архитектура, хотя и реализованная с помощью различных технологий, достаточно похожа на этом уровне абстракции. Это сходство отражает взаимосвязь между двумя решениями и является простым трюизмом обработки событий.
Свободно берутся ребенок или преемник Fluentd?
Хотя бегство начиналось как брат с Fluentd, при поддержке OTEL и других функций, прибывающих в поздние 1.x версии, и как часть v2.0, справедливо сказать, что он вырос, чтобы быть равным Fluentd. Этот факт порождает пару вопросов:
- Нужно ли мне учиться Fluentd, чтобы учиться беглую?
- Fluentd сейчас унаследованное решение?
Чтобы взять с собой бегство, вам не нужно ничего знать о Fluentd. Но если вы понимаете Fluentd на высоком уровне, вы обнаружите, что справиться с бегливым битом легко. Между продуктами нет зависимости. Во многих отношениях, хотя эти два продукта имеют много совпадений, они дополняют.
Независимо от того, является ли Fluentd устаревшим технологией — это архитектурный вопрос — ответ всегда: «Это зависит». Драйверы и возможности, включенные в беглую биту, означают, что они аккуратно вписываются в современную облачную экосистему, ориентированную на Kubernetes, с средствами для удовлетворения всех требований этой экосистемы, хотя некоторые функции в настоящее время не доступны в Fluentd. Как обсуждалось ранее, Fluent Bit имеет меньший, более легкий след, что делает его подходящим для вариантов использования в контейнер.
Другим фактором является поддержка Opentelemetry. На момент написания этой статьи мы не видели дорожную карту, чтобы вооружить Fluentd поддержкой OTEL, что делает свободно фраза, безусловно, лучшим выбором для развертывания в контейнерные, такие как Kubernetes, и работа с услугами, такими как Istio. Ничто не мешает нам развернуть бегство в неклубных нативных средах, которые обычно имеют более широкий портфель технологий для работы. Этот сценарий больше подходит для Fluentd для обозримого будущего, учитывая количество доступных адаптеров.
Навыки, необходимые для создания пользовательских плагинов, также более доступны; Вам просто нужно понять Ruby или другой объектно-ориентированный язык со встроенным управлением памяти, как указано в индексе TIOBE. Хотя WebAssembly может позволить расширениям свободно свободно на таких языках, как Java и Ruby, она требует дополнительных навыков для технологии, которая все еще проявляется в мейнстриме.
Что касается того, является ли Fluentd историей, ответ — нет. Крупные поставщики долгое время инвестировали и используют Fluentd, и такого рода инвестиции не из тех, кого можно уйти. Кроме того, Fluentd и Fluent Bit имеют разные технологии, и, хотя у них есть некоторые общие идеи, они выполняют эти идеи по -разному.
Многие из ключевых участников развития FluentD также работают над флеером. Оба решения продвигаются вперед для удовлетворения требований и инноваций, необходимых экосистеме Cloud Native Computing Foundation (CNCF). Облачные нативные идеи и CNCF влияют на мир программного обеспечения; Не все развертывания программного обеспечения облачного программного обеспечения так же тесно связаны с Kubernetes, как и другие.
Проще говоря, бегство может многое сделать и применяться ко многим вариантам использования, но сегодня Fluentd подходит для некоторых вариантов использования лучше, чем бегство, и наоборот.
Чтобы узнать больше о свободном плане, вы можете скачать всю книгу «Свободно свободно с Kubernetes».
Хроносфера — это платформа наблюдения, созданная для контроля в современном, контейнерном мире. Признанная в качестве лидера крупными аналитическими фирмами, хроносфера дает клиентам сосредоточиться на данных и идеях, которые имеют значение для снижения сложности данных, оптимизировать затраты и быстрее решать проблемы. Узнайте больше новейших из хроносферных трендовых историй Youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Написав для хроносферы, Фил Уилкинс провел более 30 лет в индустрии программного обеспечения, общий опыт работы в бизнесе и средах от многонациональных корпораций до программных стартапов и потребительских организаций до консультаций. Он начинал как разработчик в режиме реального времени, критически важным … Подробнее от Фила Уилкинса