Date: Sun Jan 15 19:55:22 2012
Location: Home
Subject: Централизованое логгирование, Часть 3
@seealso: meta:centralized-logging

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

Splunk

Splunk - известная компания, создающая решения для operational intelligence. Хранение логов - лишь малая часть всей системы по анализу данных. Умеет искать по данным, визуализировать (строить различные графики), слать нотификейшны по событию или тренду, умеет делать реалтаймовый просмотр логов. Богатая enterprise функциональность - интеграция с LDAP, права доступа, соответстие государственным стандартам США. Доступно в классическом виде "in house" поставки(on-premises software). Анонсировано бета-тестирование(по приглашениям) SaaS версии Splunk - https://www.splunkstorm.com/ (Увы, на мою заявку ответа не было) Участие в программе пока бесплатно. In house поставки есть как в бесплатной версии(ограничения в функциональности и количестве данных, индексируемых за день), так и в платной. Цены платной версии очень кусаются, оплата зависит от обьемов индексируемых данных. Много документации на сайте, а также много маркетинговых материалов(что для меня скорее минус - надо критически оценивать их заявления). В целом осталось впачетление качественного продукта, функционально близкого к продуктам конкурентов, очень сильно прорекламированого и дорогого.

Loggly/LogStash

Так же как Splunk, этот продукт доступен как SaaS и для inhouse установки. Софт для логгирования называется LogStash(является opensource продуктом), cloud сервис - Loggly. Продукт и материалы о компании всем своим видом отличается от той официозности, которая присуща Splunk. Loggly умеет мониторинг и нотификации(через внешний сервис), визуализацию данных, структурированые данные(в целом, близок к функциональности splunk). Систему(Loggly) удалось завести и настроить syslog, хотя и не с первого раза, но все-же довольно просто. Интерфейс поиска и просмотра/фильтрации лога показался каким-то не иинтуитивным, неудобным и не учитывающим паттерны использования. Для меня - не пример для подражания. Так, например, поисковой CLI интерфейс использует собственный не очень функциональный DSL. Есть бесплатная SaaS версия(200мб/день, 7 дней хранени).

Graylog2

Продукт делится на собственно индексатор(java) и веб-морду с функциями поиска(ror). Inhouse деплоймент. Принимает на вход как syslog, так и собственный структурированый формат(gzipped json, GELF, as they call it) по plain socket или ampq. Пишет в elasticsearch(или mongodb в старых версиях). В веб-морде разделение на роли, графики. Поиск наличиствует, а структурированого поиска, похоже, нет. Есть демка вебморды - http://public-graylog2.taulia.com/login (creds: admin/graylog2, user/graylog2)

Scribe/Flume/Chukwa

(Here comes highload) Все три проекта представляют собой очень обобщенные отказоустойчивые системы распределенного сбора и анализа данных(логов, счетчиков производительности(bean counters)). Все проекты используют map-reduce для обработки данных. Все-три проекта тесно связаны с Apache hadoop. Все три проекта заранее не подходят из-за своей низкоуровневости и излишней ориентации на distributed environment(читай: сложности).
https://blogs.apache.org/flume/entry/flume_ng_architecture
http://highscalability.com/blog/2008/11/24/product-scribe-facebooks-scalable-logging-system.html
http://wiki.apache.org/hadoop/Chukwa