Системы логирования: как определиться с выбором логгера
Программисты и администраторы регулярно обращаются к логам приложений и сервисов, читают их, ищут исключения, выясняют причину сбоя сервиса, проверяют потенциально опасные записи. При наличии одного сервера читать логи легче. А если таких серверов много и по ним разбросаны разные приложения и сервисы, то проблему анализа решают системы логирования.
Существует 2 типа систем логирования – открытая и проприетарная. Программный код первого типа в свободном доступе. Крупные организации делают ставку именно на этот вариант. Исходный код проприетарной системы скрыт. Для анализа и ликвидации технических ошибок необходимо купить этот продукт.
Популярные системы сбора логов
Для устранения технической ошибки программист выбирает удобный инструмент, приспособленный под требования бизнеса. Выбор системы логирования можно основывать на главных технических характеристиках:
- лицензия;
- поддерживаемые языки;
- дата последнего выпущенного обновления;
- совместимая операционная система;
- компьютер.
В обзор инструментов вошли известные представители сферы. Каждый отличается своими рабочими характеристиками.
LOGalyse
До недавнего времени этот продукт необходимо было покупать. Однако позже разработчики изменили исходный код на открытый.
Главный недостаток продукта – установка только на ОС Windows. Преимущества – гибкость и мощность. Продукт можно использовать на одной общей платформе для развертываний. При этом они будут объединять ведение разных журналов из нескольких источников. К ним относятся Postfix , а также Apache. При этом данные журналов выводятся в формат CSV, PDF и др.
Предложение нельзя назвать универсальным. Однако учитывая доступность, популярность LOGalyse среди пользователей продолжает расти.
Logstash
Этот вариант выбирают пользователи стека Elastic. Продукт имеет открытый ход. Систему логирования используют для конкретных целей с полной свободой развертывания.
Плюс Logstash – это сбор массива информации с отдельных платформ. Система определяет и проводит работу с собственным объемом данных, а также оценивает неструктурированные разделы журналов и т.д.
Logstash рекомендован к использованию программистам без опыта. Для крупных проектов существующего набора опций не хватит. Дополнительный недостаток – работа с ограниченным набором продуктов (Elastic).
LogPacker
LogPacker — система сбора и анализа логов, клиент-серверная архитектура, где при этом каждый клиент может функционировать как сервер и наоборот. Положительные стороны сервиса — быстрая интеграция с программами, функция сканирования, простая установка, кластеризация, экономный расход ресурсов и при этом — высокая скорость передачи данных. Функция двухуровневой агрегации экономит дисковое пространство, распределяет нагрузку между клиентом и сервером.
LogPacker гарантирует быструю доставку данных на все узлы, обеспечивая контроль соединения и выполняя резервное копирование. Агент может быть установлен на Unix, Windows, Android, iOS, а также на JavaScript сайта.
Есть бесплатная облегченная версия, но ее опции существенно ограничены (10 ГБ в месяц с 7-дневным хранением).
Logwatch
Инструмент положительно оценен логгерами, которые предпочитают работать, не связываясь с комплексным ведением журналов. Он подходит для нужд именно этих специалистов.
С помощью Logwatch программист может быстро и максимально эффективно просмотреть все файлы. После инсталляции продукт проанализирует данные всех журналов и создать подробный отчет. При этом тип этого электронного документа вы выбираете сами.
Небольшой недостаток – моральное устаревание. Однако сторонникам старой школы Logwatch понравится. При скачивании помните, что программу можно установить только при наличии Perl 5.6+.
Fluentd
Fluentd собирает данные из источников и записывает их в файлы, СУБД, NoSQL, IaaS, SaaS, Hadoop. Можно унифицировать инфраструктуру. Это продукт из категории «Управление журналами» технологического стека.
Среди плюсов – большая библиотека плагинов. Сервис позволяет собирать информацию практически из любой производственной системе, формировать собственный конвейер, и передавать его на комфортную аналитическую платформу. В его пользу говорит и то, что его услугами пользуются такие всемирно известные API компании как Twilio, Microsoft и т.д.
Graylog
Graylog — это мощный комплекс для управления журналами, который дает множество возможностей для анализа входящих журналов с разных серверов. Принцип работы Graylog очень похож на ELK. Помимо самого сервера Graylog, который состоит из сервера приложения и веб-интерфейса, также потребуется иметь MongoDB и Elasticsearch, чтобы весь стек был полностью работоспособен.
Он имеет дружественный графический интерфейс и поддерживает широкий спектр форматов данных. Предоставляет хорошие возможности для управления аутентификацией и разрешениями пользователей. Можно настроить его для получения уведомлений по электронной почте. Graylog использует старый добрый REST API.
Graylog не может читать файлы системного журнала, поэтому нужно отправлять сообщения непосредственно в систему. Интерфейс приборной панели недостаточно дружелюбен. Функционал отчетности довольно скудный.
Sentry
Сервис позволяет мониторить исключения и ошибки в различных приложениях. Пользователь может получить подробный отчет по каждому логу.
Плюсы – быстрый поиск, удобный механизм оповещения, а также интеллектуальная группировка сообщений о проделанной работе. Продукт располагается в свободном доступе.
Недостатки – найти подробную инструкцию по использованию всех возможностей Sentry достаточно сложно. Необходимые данные располагаются в сопутствующей технической документации.
ELK (ElasticSearch, Logstash, Kibana)
ELK – это комбинация из трех отдельных сервисов. Все они с открытым исходным кодом и разработаны одной и той же командой.
В комплекс входят следующие:
- Elasticsearch — очень мощная и масштабируемая поисковая инструмент, которая может хранить большие объемы данных и использоваться в качестве кластера.
- Logstash — этот компонент используется для получения данных из/в определенное место. Поставляется с широким спектром плагинов и большим сообществом пользователей.
- Kibana — это графический интерфейс, который ищет, анализирует и визуализирует большие объемы сложных данных из базы данных Elasticsearch. Процесс развертывания занимает не более 5 минут.
Одна из самых функциональных систем с открытым исходным кодом.
Octopussy
Непопулярный продукт на рынке. Однако все-таки стоит обратить на него внимание, если потребности не слишком высоки. В остальных случаях программист столкнется с вопросом формирования конвейеров, приемом данных, конвертацией и т.д.
Плюсы – скорость работы, отсутствие раздувания. Немаловажен и открытый программный код продукта.
Среди недостатков – неудобный интерфейс. Чтобы разобраться с навигацией и набором функций требуется время.
Syslog-ng
На первом этапе система только обрабатывала файлы системного журнала. При этом вся работа происходила в режиме реального времени. Благодаря усилиям разработчиков, продукт стал поддерживать другие форматы данных, в т.ч. неструктурированные, NoSQL, SQL.
Информация подается четко. Удобная структура позволит быстро получить необходимые данные.
Syslog-ng используется в качестве инструмента для формирования и классификации журналов промышленного уровня. Язык программирования – Си. Благодаря имеющейся расширяемости пишутся плагины на C, Java, Perl, Python и т.д.
Wazuh
Сервис располагается в свободном доступе. Продукт выполняет массу функций – мониторинг безопасности, обнаружение угроз, реагирование на возникающие инциденты и т.д.
Плюсы логгера – скорость работы, а также легкость управления, анализ журналов операционных систем и приложений. После этого достаточно передать данные центральному менеджеру. Он проведет анализ имеющихся ошибок, факты нарушения политики и неправильные настройки.
Недостатки – нет доступа к своей среде, в случае, когда потребитель использует SSH-доступ. Из-за этого наблюдается ограниченный набор функций. Еще один минус – обмен информацией происходит только через контрагентов Wazuh.
Flume
Сервис используется для работы с большим объемом данных. Благодаря его функциям можно объединить информацию.
Продукт обладает свободным исходным кодом, написанном на Java. В связи с этим пользователи отмечают отсутствие корпоративного плана.
Обратить внимание на логгера стоит также программистам, которые ищут отказоустойчивую распределенную платформу. Инструмент используется для загрузки информации, особенно когда работа происходит в тяжелых условиях.
Выбор системы анализа логов
При поиске комплекса учитывается масса факторов. Основные характеристики:
- Простота. Удобный интерфейс и простая навигация.
- Сбор «больших» логов. Подходит для работы с огромными массивами данных. Функций сервиса должно хватать для формирования, а также обработки информации.
- Масштабируемость. Система собирает логи с разных компонентов и предоставляет к ним доступ в одном месте.
Важна и поддержка клиента. Менеджеры помогают по вопросам управления и настроек.
Заключение
Краткий обзор самых известных логгеров предлагает разные системы для работы. При поиске предложения учитывайте количество данных, которые она будет обрабатывать, а также желаемую скорость анализа.