Логирование. Справедливо сказать, что это фундаментальный принцип современных вычислений. Это помогает разработчикам отлаживать приложения, а системные администраторы и сотрудники DevOps отлаживают сбои сервера. Следовательно, журналы имеют решающее значение для предоставления информации и контекста, необходимых для решения проблем, как по мере их возникновения, так и для понимания их в историческом контексте.
Но, как и все в вычислительной технике, состояние журналирования никогда не стоит на месте. Существующие концепции выходят из моды, а новые занимают их место, в то время как другие идеи оказываются вне времени — иногда они сохраняются годами. Та же самая схема применяется к инструментам и услугам, коммерческим или открытым исходным кодом, размещенным на или вне сайта.
Так где мы сейчас? Какие тенденции, инструменты и принципы в настоящее время господствуют и почему? Что ж, сегодня я рассмотрю три области экосистемы лесозаготовок, чтобы оценить, где находится отрасль в середине 2017 года.
В частности, я собираюсь взглянуть на некоторые из наиболее заметных:
- философий
- лучшие практики
- варианты обслуживания и инструмента
Прежде чем мы углубимся в это, я откровенно скажу: я считаю себя в первую очередь разработчиком, а затем системным администратором и разработчиком DevOps. В результате моя точка зрения и выбор, который я делаю в этой статье, окрашены соответствующим образом. Пожалуйста, имейте это в виду.
Тем не менее, давайте идти.
Философия лесозаготовительной экосистемы
Первая область, которую я хочу охватить, это лесозаготовки. В рамках этого я хочу взглянуть на две концепции: хранение журналов и культура ведения журналов.
Где и как хранить журналы?
Должны ли журналы храниться в службе, которой вы управляете сами, в своей организации? Или вы должны использовать SaaS, такой как Loggly, или один из других инструментов, о которых мы расскажем позже , для хранения данных журнала вне вашего прямого контроля?
Из того, что я понял, главное отличие — это вопрос безопасности и чувствительности данных. У вас есть информация, которую абсолютно никто не может увидеть за пределами вашей организации?
Если это так, то, вероятно, лучше разместить решение самостоятельно и войти в него, например, в Apache Kafka или в стек Elastic (ранее ELK) . Если ваши данные не так чувствительны, то лучшим решением может стать хост- решение от одного из коммерческих поставщиков, такого как Loggly , Graylog , SumoLogic и ElasticSearch .
Другое соображение, которое все еще кажется наполненным дискуссиями, такими как это в Hacker News , — это вопрос эффективности. В частности, стоит ли нам, как организации, усилий, чтобы создать собственное решение для ведения журналов, например, основанное на Elastic Stack, и управлять им? Или лучше разместить наши данные у поставщика?
На такой вопрос нет однозначного, универсального ответа. И самый последовательный ответ, который я продолжаю видеть до сих пор, это «это зависит». Нет двух одинаковых организаций или приложений. То, что работает для одного, не обязательно работает для другого. Можно было бы иметь больше ресурсов и опыта, доступных для назначения на задачу. Другой не может.
Таким образом, если в 2017 году в экосистеме лесозаготовок есть ключевая философская константа, все равно остается вопрос, где хранить данные журнала.
Приложение коляски
Новым — по крайней мере для меня — является концепция, называемая приложением коляски . Если вы не слышали об этом раньше, это в основном относится к развертыванию приложений с использованием контейнеров, поскольку оно сильно относится к развертыванию на основе контейнеров.
Гирлянда Кан из Loggly выражает это очень кратко, когда он описывает это как:
… Концепция соединения контейнера приложения и контейнера регистрации.
Voxxed обеспечивает большую глубину, когда они описывают это так:
Параллельное приложение развертывается рядом с каждым микросервисом, который вы разработали и развернули на экземпляре сервера / хостинга. Он концептуально привязан к «родительской» службе, так же, как к мотоциклу прикреплена коляска для мотоцикла — отсюда и название. Коляска работает вместе с вашим сервисом как второй процесс и предоставляет «функции инфраструктуры платформы», предоставляемые через однородный интерфейс, такой как REST-подобный API через HTTP.
В контексте ведения журнала в развернутый стек будет добавлен дополнительный контейнер, в котором будут храниться журналы приложения, и который также может пересылать эти журналы во внешнюю службу, такую как LogEntries или Splunk. Из того, что я понимаю, концепция может хорошо работать для небольших приложений, но может быть трудно эффективно масштабировать. Тем не менее, это интересная концепция все же.
Культура лесозаготовок
Теперь давайте посмотрим на культуру — слишком важный аспект любой инициативы. Чтобы перейти к сути, недавно меня поразила цитата из Stackify , когда они сказали:
… мы создали «культуру лесозаготовок» …
Я считаю это одним из лучших улучшений за последние годы, потому что без поддержки культуры идеи и концепции, скорее всего, будут в лучшем случае преходящими. Я уверен, что большинство из нас могут относиться к тому, что в прошедшие годы, когда началось тестирование. Сначала оно всегда работало великолепно. Но если поддерживающей культуры не было, она быстро отошла на второй план, когда сроки и другие нагрузки начали накапливаться.
В этой статье Stackify продолжает:
[Культура лесозаготовок] ставит своей целью достижение следующих целей:
Войти все вещи. Регистрируйте столько, сколько возможно, чтобы всегда иметь релевантные контекстные журналы, которые не добавляют накладных расходов. Работай умом, а не силой. Консолидация и агрегирование всех наших лесозаготовок в центральном месте, доступном для всех разработчиков и легко перегонять. Кроме того, чтобы найти новые способы для наших данных регистрации и исключений, чтобы помочь нам активно улучшать наш продукт.
Здесь есть несколько отличных моментов, два из которых, в частности, стоит распаковать.
Зарегистрируйте столько, сколько возможно
Вопреки тому, что я видел и испытывал в предыдущие годы, это выражает важность регистрации больше, а не меньше — до тех пор, пока эта информация является контекстной. Это хорошо согласуется с тем, что Сумологик написал в апреле 2017 года, когда они сказали:
Ваши журналы должны рассказать историю.
Для меня это имеет смысл и является прекрасным развитием, чтобы увидеть, как оно будет реализовано.
Хотя я не верю, что мы должны регистрироваться ради этого, чем больше (контекстуальной) информации у нас есть, тем лучше мы сможем решать проблемы, которые неизбежно возникают.
Вход в центральное место, доступный для всех разработчиков
То, что информация доступна всем, является еще одним отрадным событием, которое становится все более и более сильным.
Когда информация хранится в центральном месте, с ней гораздо проще работать. И когда каждый может получить к нему доступ — и увидеть его — это увеличивает ответственность за определение того, что входит в журналы, а также необходимость более быстрого решения проблем. Если информация может быть скрыта от просмотра, проблемы легче скрыть или скрыть.
Я хотел бы верить, что по мере того, как эти две философии овладевают (регистрируют столько, сколько мы можем, и регистрируем в центральном местоположении), качество наших приложений будет повышаться, а время простоя будет уменьшаться, что приведет к большей удовлетворенности пользователей и разработчиков.
Зарегистрируй бесплатный аккаунт Codeship
Лучшие практики
Теперь я хочу взглянуть на одну из центральных тем в передовой практике, которую я выбрал в течение года: мы создаем журналы, которые могут быть прочитаны человеком, или те, которые эффективны для анализа?
Кажется, все согласны с тем, что люди лучше работают с данными, которые не логичны, непротиворечивы или обладают стандартным шаблоном, а компьютеры — нет. И наоборот, люди не умеют обрабатывать большие объемы данных, а компьютеры — хороши. Учитывая это, перед нами стоит задача: мы создаем журналы, с которыми люди могут работать на индивидуальной основе, или мы делаем их эффективными для компьютерной обработки, а затем делаем их читаемыми?
Я обнаружил, что, если вы не регистрируете только небольшое количество информации, все согласны с тем, что лучше сосредоточиться на эффективности обработки с максимально возможным контекстом, а не на удобочитаемости человеком.
Но как выглядит эффективная, богатая контекстом запись в журнале? Дэн Рейхарт (из SumoLogic) приводит в качестве примера следующее из вымышленной службы бронирования авиабилетов:
1
|
2017 - 04 - 10 09 : 50 : 32 - 0700 - dan12345 - 10.0 . 24.123 - GET - /checkout/flights/ - credit.payments.io - Success - 2 - 241.98 |
Подводя итог, каждый элемент в записи разделен -последовательностью. И элементы по порядку:
- Временная метка журнала
- Имя пользователя покупателя
- IP-адрес пользователя
- Метод запроса
- Запрашиваемый ресурс
- Шлюз запроса или путь
- Запрашиваемый статус
- Количество купленных рейсов
- Общая стоимость полета
Если бы у нас была какая-то часть этой информации, мы бы смогли узнать только часть истории, если что-нибудь. Но, храня всю эту информацию, которая, кстати, довольно хорошо сжимается, мы в состоянии узнать все, что нам нужно знать, чтобы решить проблему. Журнал краткий, но читаемый, рассказывает историю и следует стандартному предсказуемому шаблону. Есть и другие способы выразить себя, но это только один из них.
Варианты обслуживания и инструмента
Теперь давайте закончим, посмотрев на некоторых из нынешних игроков на рынке лесозаготовок. Это сочетание размещенных SaaS и самостоятельных решений. Некоторые из наиболее заметных, кто все еще сильны, это те, которые были вокруг в течение некоторого времени. В их число входят такие компании, как Loggly , Graylog , Splunk , ElasticSearch , LogEntries , Logz.io , LogStash , SumoLogic и Retrace .
Несмотря на то, что у каждого из них есть такие функции, как поиск и анализ, упреждающий мониторинг, создание структурированных и неструктурированных данных, настраиваемые правила синтаксического анализа и информационные панели в реальном времени, они продолжали наращивать свои основные функциональные возможности, а также расширять предложения своих продуктов. и наборы функций.
Существует также большая разница в их ценовых моделях, включая бесплатные варианты, стандартные планы, начинающиеся с 90 долларов США, и корпоративные планы, начинающиеся с 2000 долларов США.
Но коммерческие поставщики не единственный выбор в 2017 году. Некоторые инструменты с открытым исходным кодом также растут в зрелости. Фактически, в третьем ежегодном отчете Руководства по Open Cloud от Linux Foundation были выделены два: Fluentd , сборщик данных для унифицированных слоев журналирования, и LogStash , конвейер обработки данных на стороне сервера. Другими инструментами с открытым исходным кодом, которые стоит рассмотреть, являются syslog-ng , LOGalyze и Apache Flume .
Учитывая, что, в зависимости от вашего опыта, потребностей и бюджета, у вас не будет недостатка в выборе в этом году. Там будет несколько вариантов, из которых вы можете выбрать тот, который наилучшим образом соответствует вашим потребностям.
Вывод
И это широкий обзор нескольких ключевых факторов в экосистеме лесозаготовок в 2017 году.
Мы рассмотрели текущие принципы, такие как, где и как должны храниться журналы, и концепцию приложения коляски. Мы обсудили, насколько важна культура ведения журнала для успеха ведения журнала в организации, и как больше контекстной регистрации лучше, чем меньше. И мы закончили, посмотрев на некоторых из ключевых игроков на рынке в 2017 году.
Я что-то пропустил? Вы не согласны? Поделитесь своими мыслями в комментариях.
Ссылка: | Обзор экосистемы лесозаготовок в 2017 году от нашего партнера по JCG Мэтью Сеттера в блоге Codeship Blog . |