Файлы журналов в массово распределенных системах

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

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

Что нам следует делать, учитывая, что цель состоит в том, чтобы выявлять проблемы как можно ближе к реальному времени?


person John Channing    schedule 29.08.2008    source источник
comment
кстати, почему UDP? Можете ли вы принять потерю сообщений?   -  person Andriy Tylychko    schedule 11.02.2011


Ответы (2)


Сначала синхронизируйте все часы в системе с помощью NTP.

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

Поскольку вы упомянули UDP Appender, я предполагаю, что вы используете log4j (или одного из его братьев и сестер). Log4j имеет класс MDC, который позволяет передавать дополнительную информацию через поток обработки. он может помочь собрать некоторую дополнительную информацию и передать ее.

person John Meagher    schedule 29.08.2008

Вы используете Apache? Если это так, вы можете взглянуть на mod_log_spread, хотя у вас может быть слишком большая инфраструктура для сделать его ремонтопригодным. Другой вариант - посмотреть на "широковещательную" или "многоадресную" рассылку сообщений журнала и наличие выделенных серверов регистрации, которые подписываются на эти каналы и сопоставляют их.

person Vagnerr    schedule 30.08.2008