Файлы журналов в массово распределенных системах - PullRequest
12 голосов
/ 30 августа 2008

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

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

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

Ответы [ 2 ]

3 голосов
/ 30 августа 2008

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

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

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

0 голосов
/ 30 августа 2008

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

...