Регистрация событий / исключений / сообщений приложения в корпоративных средах - PullRequest
1 голос
/ 23 ноября 2010

Мы обсуждали в нашем офисе, как часть обновления старого приложения с VB6 до .Net 3.5, о том, как лучше всего подходить к ведению журнала. В старой системе использовались локальные файлы журналов, путь к которым содержался в реестре (по умолчанию он не должен быть указан). Большинство из нас сейчас склоняются к использованию журнала событий приложений Windows, однако один парень поднял вопрос, который остановил нас.

А как насчет сред, таких как Citrix, где балансировка нагрузки означает, что сеанс одного пользователя может обслуживаться разными серверами приложений в разных точках? Внезапно у нас могут появиться фрагменты информации из сеанса, распределенной по нескольким серверам (или, как мы полагаем, большинству из нас раньше не приходилось сталкиваться с этим, поэтому мы не уверены на 100%), что затрудняет поддержку сотрудников собрать воедино цепочку событий во время звонка в службу поддержки. Общее мнение, по-видимому, заключается в том, что нам следует использовать возможности ведения журналов MS Enterprise Library и настроить центральное хранилище журналов для каждой установки.

Кто-нибудь может порекомендовать лучший метод или разумный подход к ведению журналов приложений в нескольких средах, включая фермы серверов приложений, кроме централизованных журналов с использованием Enterprise Library, или мы уже на правильном пути?

Приветствия

Ответы [ 4 ]

2 голосов
/ 23 ноября 2010

В фермах Citrix балансировка нагрузки выполняется за сеанс (до входа в систему).Отдельные сеансы нельзя перемещать между серверами.Последние, кстати, являются «святым Граалем» серверных вычислений - если вы поймете это, скажите Citrix, как это сделать, им будет интересно;Во всех средах Windows сеанс всегда находится на одной физической или виртуальной машине.С этой информацией, регистрация в журнале событий снова стала опцией.

1 голос
/ 23 ноября 2010

Мы используем пользовательский класс TraceListener, который записывает журналы в централизованную базу данных.

1 голос
/ 23 ноября 2010

Даже Журнал событий может работать в вашей ситуации - вам просто нужно включить что-то вроде идентификатора активности и / или идентификатора сеанса.Благодаря этому вы сможете сопоставить все фрагменты журнала приложения.

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

См. Класс CorrelationManager .

1 голос
/ 23 ноября 2010

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

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

...