Что и почему: управление журналами в облаке
Регистрация часто не самая захватывающая часть приложения, но определенно важная. Регистрация и управление журналами становится еще более важным в многоузловых кластерных средах, где журналы распределены по узлам. Не очень продуктивно входить в систему на каждом узле, чтобы проверить, что происходит на узле, или отследить транзакцию, которая может быть распределена по нескольким узлам. Кроме того, возможность фильтровать и анализировать журналы на узле ограничена встроенными инструментами, такими как grep в системах * nix. Есть ли лучшее решение? Абсолютно! Добро пожаловать в управление журналами или централизованное ведение журнала, продемонстрированное на высоком уровне на следующем рисунке
Это может показаться сложным в настройке, но давайте посмотрим на преимущества, а затем посмотрим, насколько просто настроить управление журналами.
Устранение неполадок при производстве и отладка приложений
Если вы устраняете неполадки живого приложения, журналы будут спасательным кругом, который сохранит ваш день. В средах разработки имеется достаточно инструментов, которые значительно упрощают отладку приложений. Но для приложения, которое находится в рабочем состоянии, журналы предоставляют ключевую информацию о том, что происходит в приложении. С другой стороны, слишком подробное ведение журнала может снизить производительность приложения, но это отдельное обсуждение, и существуют инструменты, позволяющие контролировать уровень ведения журнала в зависимости от среды.
«Отладочные сообщения остаются в программе; сеансы отладки являются временными »
Если у вас есть приложения, развернутые в частном / общедоступном облаке, или даже развернутые внутри предприятия в кластерном режиме, будет намного проще устранять неполадки и отлаживать приложения, если все ваши журналы можно будет искать и анализировать все в одном месте. Неэффективность прокрутки более тысячи строк необработанных данных через несколько узлов и попытки соединить точки будет решена с помощью системы управления журналами, которая обеспечивает унифицированное представление всех журналов и значительно более богатый интерфейс запросов.
Анализ данных
Запущенное приложение имеет несколько взаимодействий пользователей и транзакций, и возможность получать из них информацию в реальном времени была бы чрезвычайно полезна. Приложения могут быть разработаны для регистрации желаемой информации о транзакциях, и эта информация из журналов может анализироваться и контролироваться в режиме реального времени. Только представьте, может ли генеральный директор розничной компании увидеть в реальном времени статистику того, сколько корзин покупок конвертируется в реальные покупки. Хотя аналитика сама по себе является огромным полем, у вас есть представление о возможностях.
Мониторинг и оповещение
Возможность сообщать об ошибках, исключениях и сбоях в режиме реального времени может привести к действиям, которые сокращают время простоя и значительно предупреждают реагирование на проблемы в работающем приложении. Оповещения могут быть настроены на основе уровня серьезности, и действия могут быть предприняты соответственно.
Особенности системы управления журналом
В то время как каждый продукт и услуга предлагают различные варианты функций, мы объединяем здесь некоторые функции, на которые вы должны обратить внимание.
Возможность сверления
Детализация на основе времени — это очень стандартная функция любой системы управления журналами, которая дает возможность просматривать графики, построенные в зависимости от времени, которые можно детализировать в дальнейшем. Например, посмотрите на скриншот LogStash:
Регулярные выражения и фильтрация
Возможность фильтрации произвольного текста или возможность щелкать строки в результате, отображаемом в пользовательском интерфейсе, значительно упрощает и ускоряет навигацию и поиск соответствующих журналов. Также библиотека регулярных выражений, такая как, например, grok, поставляемая с LogStash, помогает использовать регулярные выражения проще.
Оповещения и уведомления
Хорошая система управления журналами должна иметь возможность подключаться к нескольким системам, таким как электронная почта, веб-сокеты для доставки информации. Это увеличивает охват системы и ее полезность.
API
И последнее, но не менее важное: использование API системы управления журналами в некоторых случаях может значительно увеличить адаптацию и расширяемость платформы.
Факторы, которые необходимо учитывать
Вот окончательный вопросник, который вы должны проанализировать для выбора вашей системы управления журналами:
- Какой тип приложений у вас есть и есть ли у вас достаточно хуков для подключения к системе управления журналами? Например, если вы хотите, чтобы приложения Android регистрировали данные на сервере управления журналом, есть ли у вас облегченная библиотека, поддерживающая то же самое?
- Есть ли у языка, на котором разрабатываются приложения, более простые способы связи с сервером управления журналами? Например, log4j имеет SysLogAppender, который может общаться с Syslog, который, в свою очередь, может общаться с системой управления журналами.
- Вы хотите настроить свои собственные системы управления журналами или воспользоваться услугами провайдера управления журналами? (Обратитесь к следующим разделам для обоих подходов)
- Если ваше приложение размещено на платформе PaaS, можете ли вы интегрировать платформу с собственными или размещенными серверами управления журналами?
Управление журналами: настройте себя
Если вы планируете настроить свою собственную систему управления журналами, либо внутри вашего предприятия, либо в размещенных средах, у вас есть довольно много вариантов. Если у вашей организации есть бюджеты на покупку поддержки и вы хотите, чтобы система корпоративного уровня без команды поддерживала внутреннюю систему, тогда Splunk , вероятно, подойдет. Если у вас есть команда сотрудников, которая готова присматривать за системой и предпочитает подход «сделай сам», то вы можете выбирать из набора инструментов для каждой конкретной цели. Хранение журналов и индексация могут быть сделаны в MongoDB, ElasticSearch, чтобы назвать несколько. Такие инструменты, как LogStash , Kibana , Graphite , Greylog2 предлагают различные функции, и вы можете комбинировать их в соответствии с вашими потребностями.
Управление журналом как услуга
Если вы хотите добавить управление журналами в качестве службы к своим существующим приложениям в облаке, у вас есть выбор, как Loggly , papertrail , logentries среди основных игроков. Хотя мы не будем подробно обсуждать их в этом посте, каждый из них предлагает свои уникальные варианты стратегии управления журналами.
Вывод
Вы можете решить не придавать достаточного значения регистрации в своих приложениях, но преимущества регистрации и хорошей системы управления журналами далеко идущие. В мире, где горизонтально масштабируемые среды являются нормой, а облако внедряется день ото дня, хорошая система управления журналами является необходимостью, но может оказаться отличительной чертой. Организации уже начали пользоваться преимуществами системы управления журналами от отладки производства до аналитики. Ваша компания уже начала путешествие? Дайте нам знать ваши мысли.