10 сборщиков журналов с открытым исходным кодом для централизованного ведения журналов

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


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

Прежде чем мы перейдем к централизованному ведению журналов, давайте сначала рассмотрим, почему ведение журналов так важно.

Два типа (уровня) регистрации

Компьютеры являются детерминированными системами, за исключением случаев, когда они не.

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

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

Изображение выше показывает, что можно назвать автоматически сгенерированный журнал.

В данном конкретном случае это система WordPress, регистрирующая непредвиденное состояние (уведомление) при запуске некоторого кода PHP. Журналы, подобные этим, создаются постоянно и постоянно – с помощью инструментов баз данных, таких как MySQL, веб-серверов, таких как Apache, языков программирования и сред, мобильных устройств и даже операционных систем..

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

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

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

Источник: joomlatools.com

Регистрация это сила

Итак, учитывая эти два типа журналов в системе, вот как вы можете использовать их и усилить воздействие.

Быть впереди клиента

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

Подумайте об этом – в течение нескольких секунд после появления ужасной ошибки вам позвонит компания, которая скажет: «Эй, я понимаю, что вы пытались добавить этот товар в корзину, но он продолжал умирать. Могу ли я добавить это время и выполнить заказ для вас?

Довольный клиент? Вы ставите!

Боевой дух и продуктивность команды

Как я уже говорил, когда ошибки долго не отслеживаются, разработчики в вашей команде разочаровываются и теряют все больше и больше времени, преследуя свои хвосты. И вот в чем дело с отладкой – она ​​требует свежего, любопытного ума с самого начала. Если WTF думал так много, что входит в ваш мозг, весь процесс идет на бросок.

И что затрудняет отладку? По моему опыту, отсутствие регистрации или отсутствие знаний о регистрации. Для начала вы можете не осознавать, что ваша любимая база данных – это просто еще одна часть программного обеспечения, которая генерирует журналы, или вы не ведете интенсивную регистрацию в своем приложении (см. Журналы, сгенерированные программистом выше).

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

Аудиторские следы

Что если два года спустя ваш клиент скажет, что все эти заказы были сделаны не им, а каким-то хакером?

Какой аргумент придется развлекать или отклонять их просьбу? Если у вас есть обширный журнал (IP-адрес, дата и время, кредитная карта и т. Д.), Вы сможете проанализировать все это и принять решение. Хорошо это или плохо, у него будет хотя бы какая-то объективная основа, а не что-то похожее на выстрел в темноте.

Источник: signature-reads.com

То же самое верно, если вы попали под какой-то нормативный контроль или вам необходимо пройти сторонний аудит в рамках нового важного проекта. Отсутствие надежной системы ведения журнала покажет вас в плохом свете.

Улучшение существующих систем

Как вы идете по улучшению текущей системы?

Стоит ли просто добавить больше памяти и потоков процессора? Что если ваше приложение работает медленно, несмотря на достаточное количество ресурсов? Где узкое место? Чаще всего регистрация – это ответ.

Например, все основные системы баз данных имеют функцию регистрации медленные запросы.

Источник: speedawarenessmonth.com

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

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

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

Graylog

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

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

Грейлог Открытый исходный код, но есть корпоративный план, если ваши потребности сложны.

С такими клиентами, как SAP, Cisco и LinkedIn, Graylog – это инструмент, которому можно доверять с закрытыми глазами..

Logstash

Если вы являетесь поклонником или пользователем стека Elastic, Logstash стоит проверить (стек ELK – это уже вещь, если вы не знали). Как и другие инструменты ведения журнала в этом списке, Logstash, если полностью Открытый исходный код, предоставляя вам свободу развертывания и использования по вашему желанию.

Но не вводите в заблуждение: Logstash – это материнский корабль, возможности которого намного превосходят любые скромные средства ведения журналов. Он способен собирать огромные объемы данных с разных платформ, позволяет определять и выполнять собственные конвейеры данных, разбираться в неструктурированных дампах журналов и т. Д..

Конечно, единственным ограничением является то, что он работает только с набором продуктов Elastic, но если вы начинаете и хотите масштабироваться в ближайшее время, Logstash – это путь!

Fluentd

Среди централизованных инструментов ведения журналов, которые работают в качестве промежуточного уровня для приема данных, Flutend является первым среди равных. Обладая превосходной библиотекой плагинов, Fluentd может собирать данные практически из любой производственной системы, перемешивать их в нужной структуре, создавать собственный конвейер и передавать его на вашу любимую аналитическую платформу, будь то MongoDB или Elasticsearch.

Fluentd построен на Ruby, полностью Открытый исходный код, и очень популярен благодаря своей гибкости и модульности.

С такими крупными компаниями, как Microsoft, Atlassian и Twilio, использующими платформу, Fluentd нечего доказывать. ��

акведук

Если действительно, действительно большие наборы данных – это ваша задача, и вы в конечном итоге захотите вставить все в нечто вроде Hadoop, акведук это один из лучших вариантов. Это «чистый» проект с открытым исходным кодом, в том смысле, что он поддерживается нашим любимым Apache Foundation, что означает отсутствие корпоративного плана..

Это может или не может быть то, что вы точно ищете. ��

Источник: beyondcoder.com

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

Осьминожка

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

На мой взгляд, Octopussy покрывает потребности большинства продуктов (предполагаемые статистические данные бесполезны, но если бы мне пришлось догадываться, я бы сказал, что в реальном мире он учитывает 80% случаев использования).

Octopussy не имеет хорошего пользовательского интерфейса (см. Вот) вообще, но это компенсирует это относительно скорости и отсутствия раздувания. Источник доступен на GitHub, как и ожидалось, и я думаю, стоит серьезно.

LOGalyze

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

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

LOGalyze – это относительно гибкое и мощное предложение, которое отлично подойдет для развертываний в одной системе, которые стремятся объединить ведение журналов из известных источников, таких как Postfix, Apache и т. Д., И выводить их в форматах CSV, PDF, HTML или аналогичных. Да, он не делает все, но так как это был коммерческий продукт в свое время, он делает это довольно хорошо.

LogPacker

Когда дело доходит до выбора инструмента для работы, у меня есть два критерия: он должен быть целенаправленным и опираться на активную бизнес-модель. Проблема программного обеспечения с открытым исходным кодом, как правило, заключается в том, что через несколько месяцев / лет вероятность застоя или смерти высока. Там нет подсчета того, сколько инструментов ведения журнала было запущено с удовольствием, только теперь можно найти на кладбище GitHub.

Измеряется по этому критерию, LogPacker любимый для меня.

Как вы можете видеть из скриншота, LogPacker – это все о логах и больше ничего. Их толчок определенно к их облачным предложениям, но вы можете скачать и установить его на своих серверах (страница GitHub Вот).

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

Logwatch

Я уверен, что среди нас есть те, кто не хочет, чтобы вся церемония была связана с «единой», «централизованной» системой ведения журналов. Их бизнес базируется на отдельных серверах, и они ищут что-то быстрое и эффективное для просмотра своих файлов журналов. Ну, скажи привет Logwatch.

После установки LogWatch может сканировать системные журналы и создавать отчеты нужного вам типа. Это несколько устаревшее программное обеспечение (читай «надежное»), хотя оно было написано на Perl. Итак, вам понадобится Perl 5.6+ на вашем сервере для его запуска. У меня нет скриншотов, чтобы поделиться, потому что это чисто командная строка, демонизированный процесс.

Если вы любитель CLI и любите стиль старой школы, вам понравится Logwatch!

Syslog-нг

Syslog-нг Инструмент был разработан как способ обработки файлов данных системного журнала (установленный клиент-серверный протокол для регистрации в системе) в режиме реального времени. Однако со временем он стал поддерживать другие форматы данных: неструктурированные, SQL и NoSQL. Как работает протокол системного журнала, вкратце подытожено на следующем рисунке.

Syslog-нг это надежный инструмент для сбора и классификации бревен промышленного уровня, написанный на языке Си и давно завоевавший популярность в отрасли. Лучшая часть – это расширяемость, позволяющая вам писать плагины на C, Python, Java, Lua или Perl.

LNAV

Сокращение от (Журнал Навигатор), LNAV это чисто терминальный инструмент, работающий на одной машине, в одном каталоге. Это для тех, у кого логирование объединено в один каталог, или вы хотите фильтровать и отображать логи в реальном времени из одного источника.

Если бы вы думали, что lnav – это не что иное, как прославленный хвост, вы ошибаетесь. Есть несколько функций, которые заставят вас полюбить его: просмотр временных рядов, приятная печать (для JSON и других форматов), источники журналов с цветовой кодировкой, мощные фильтры, способность понимать несколько протоколов журналирования и многое другое..

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

Вывод

И вот оно!

Это был сложный список, чтобы быть откровенным, так как ведение журнала не так популярно, как, скажем, управление контентом, и все, что кажется, было захвачено тремя или четырьмя инструментами. Тем не менее, потребности у всех разные, и я старался их широко охватить.

От глупой командной строки, инструментов без настроек до полномасштабных безжалостных данных – все это здесь! Я что-то пропустил? Конечно, я сделал! Пожалуйста, дайте мне знать в комментариях, и я буду рад добавить его здесь (с кредитами, конечно!).

TAGS:

  • Открытый исходный код

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map