Свободный бит, специализированный инструмент захвата и распределения событий

Хроносфера спонсировала этот пост.

Примечание редактора: Эта статья является отрывок из книги Manning Meap (программа раннего доступа Manning) «Эффективная инженерия платформы». В MEAP вы читаете главу книги по главе, пока она написана, и получаете финальную электронную книгу, как только она закончится.

Когда проблема достигает нас, нам нужно знать, что произошло или, лучше, иметь возможность взаимодействовать с ней, как это происходит. Проблема может быть серьезным сбоем системы или вопросом о том, как что -то или кто -то взаимодействует с нашей системой. Чтобы решить эту проблему, мы должны иметь эту информацию и инструмент, который соответствует нашим потребностям. Безэлектрический бит является таким инструментом.

В этом отрывке из «Эффективной инженерии платформ» (первая глава книги) мы уделим время, чтобы понять, что такое свободно, и ответим на некоторые важные вопросы по этому поводу, например, почему это так важно — и достойно книги — и как она вписывается в ИТ -экосистему.

Почему бегство так важно?

В своей основе, по своей сути является специализированный инструмент захвата и распределения событий. Давайте немного разберемся с этим заявлением. Почему это специализировано? Без бегства фокусируется на событиях журнала, метриках и трассах (иногда называемых сигналами):

  • Бревно — Может рассматриваться как каждое выходное сообщение или строка в файле журнала или, иначе, строка текста, которая предоставляет некоторую информацию о том, что произошло. Сообщение может варьироваться от полностью неструктурированной до полностью структурированного и самоописания сообщения.
  • Метрики — Измерения, обычно числовые значения с описательной меткой, сгенерированные нашим ИТ -аппаратным и программным обеспечением. Примерами являются использование каждого ядра процессора на компьютере или количество транзакций, обрабатываемых в приложении в минуту.
  • Следы — трассировка — это связанный набор значений, записанных на важных путевых точках при выполнении нашего программного обеспечения, часто соответствующего транзакциям. Следы имеют много общего с событиями журнала. Ключевое отличие состоит в том, что события трассировки имеют отношение друг с другом, а иногда трасса не распределяется, пока транзакция не закончится или возникнет ошибка.

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

Книга «Эффективная платформа инженерия» более подробно исследует данные о событиях. Способность обрабатывать различные события в пределах одного инструмента не уникальна, но она отличает бегство от технологий, с которыми иногда сравнивают, например, logstash.

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

Зачем нам свободно свободно быть управляемым событием? В конце концов, мы смотрим на данные, когда что -то не так. Хотя мы можем принять традиционный подход к рассмотрению журналов, когда кто -то заявил, что есть проблема, людям все еще нравится видеть статистику и метрики ближе к реальному времени.

Мы также должны помнить, что мы можем получить значимые чувствительные к во времени метрики от событий журнала. В нашем коде мы заинтересованы в событиях, когда наше программное обеспечение сделало что -то, что может быть интересно, чтобы подтвердить, что:

  • Все хорошо.
  • Понять, какой филиал решения был принят.
  • Или найти ответ на расчет, применяемый к данным.

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

Умные слова, тогда для чего -то обыденного? Было бы легко так думать. К сожалению, это мышление может привести к тому, что мы пропустили множество возможностей и возможностей, которые свободно предлагает, чтобы сделать нашу жизнь намного проще.

Например, если мы рассмотрим событие журнала как блок текста из нашего кода, мы можем упустить из виду, что мы можем получить из него значение и определить, должно ли что -то еще происходить там и тогда.

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

Значение распределения событий

Борьба с болью от выявления (и, возможно, необходимости решить) проблему с системой приносит нам пользу всем индивидуально, будь то: мы:

  • Часть команды, работающей в окружающей среде, практикующей некоторые вариации DevOps.
  • Часть многоуровневой системы поддержки на линии работы на переднем крае.
  • Или разработчик последний в цепочке эскалации для проблемы тестирования.

Информация, которую мы должны решить проблему, может быть такой же проста, как и полное сообщение журнала. Часто мы должны понимать, что произошло до, во время и после того, как вызывает беспокойство, чтобы установить причину и следствие. (Например, база данных может создавать ошибки, потому что у нас кончилось хранилище. У нас кончилось хранилище, потому что процесс домашнего хозяйства не удалось, или мы упустили из виду необходимость контролировать нашу емкость?)

Нам нужно собирать и собирать данные из разных источников. Журналы, метрики и следы — это строительные блоки наблюдения, и данные мониторинга (журналы, события и следы), как правило, являются временными. Используя бегство и подобные инструменты, позволяет нам собирать данные из всех источников и поместить их где -нибудь. Это был мой опыт, что когда дела идут серьезно, люди не беспокоятся о сохранении информации о состоянии, журналах и тому подобном. Их беспокойство — возвращение к операционному статусу, что может означать, что журналы и сохраненные метрики в производственной среде могут быть легко разгромить.

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

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

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

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

Возможность легко распределять данные также позволяет нам принимать разные инструменты для разных задач. Если данные трудно распространять, мы получим самый низкий общий знаменатель или инструменты, которые поддерживают наиболее вокальную команду, используя данные, а не те, которые удовлетворяют разные потребности. Например, Pagerduty идеально подходит для уведомления подходящего человека в зависимости от идентифицированной системы и времени и дня недели.

Место свободного в CNCF

Инструменты Fluent, Fluentd и Bitent, являются ключевыми игроками в экосистеме Cloud Native Computing Foundation (CNCF), помогая нам собирать, безопасно и, в идеале, анализировать журналы и метрики. Эти решения позволяют нам получить данные об наблюдении (журналы, следы и метрики) в форме, которую другой инструмент может отображать в легко усваиваемом формате. Бит Fluent оказывает больший эффект, чем FluentD с точки зрения принятия и поддержки для последних стандартов и инструментов наблюдения, как мы увидим.

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

Хроносфера — это платформа наблюдения, созданная для контроля в современном, контейнерном мире. Признанная в качестве лидера крупными аналитическими фирмами, хроносфера дает клиентам сосредоточиться на данных и идеях, которые имеют значение для снижения сложности данных, оптимизировать затраты и быстрее решать проблемы. Узнайте больше новейших из хроносферных трендовых историй Youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Фил Уилкинс провел более 30 лет в индустрии программного обеспечения, общий опыт работы в бизнесе и средах от транснациональных корпораций до стартапов программного обеспечения и потребительских организаций до консультаций. Он начинал как разработчик в режиме реального времени, критически важных решений и работал … Подробнее от Фила Уилкинса

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *