Агрегирование, управление и уведомления в журнале приложений

Мне интересно, что все используют для ведения журнала, управления журналами и агрегации журналов в своих системах.

Я работаю в компании, которая использует .NET для всех ее приложений, и все системы основаны на Windows. В настоящее время каждое приложение просматривает свои собственные протоколирования и уведомления об ошибках (например, если приложение A не удастся, он отправит своему "вызову помощи" администратору).

В то время как эта текущая практика работает немного хаки и трудно справляется. Я пытался найти некоторые варианты улучшения этой работы, и я придумал следующее:

  • log4net и Chainsaw (ах, если он работает).
  • Вход в систему через log4net или другую инфраструктуру в центральную базу данных и развертывание нашего собственного инструмента управления.
  • Вход в журнал событий Windows и использование MOM или System Center Operations Manager для агрегирования и управления каждым из этих серверов и их приложений.
  • Ручное решение, чтобы сосать все файлы журналов в одну точку и работать с ними по волшебству.

По сути, что мы делаем, это то, что может объединить записи журнала и позволить некоторым аналитикам запускаться через них, а также использовать какую-то систему на основе событий, например, для отправки предупреждающего сообщения, когда есть 30+ журналов уровня предупреждений для приложения в течение последних x минут.

Так есть что-то, что я пропустил, или что-то, что кто-то может предложить?

Ответ 1

Если вы можете, я бы рекомендовал писать в EventLog и создавать правила в SCOM для мониторинга. Мы используем это широко, и он хорошо работает, даже с точки зрения компоновки фрагментов кода, которые контролируют определенные элементы наших приложений и записывают значения в журнал событий, где SCOM анализирует ошибки и графически их выводит, а также информационные ошибки, в отчеты, показывающие статистику в течение заданного времени.

Я, однако, очень заинтересован в перезаписи некоторых из них в WMI, и когда SCOM опросит службу WMI для тех же счетчиков, что и длина записи в журнале событий каждые 15 минут кажется немного расточительной;)

Ответ 2

L4ndash: просмотр журнала log4net со свободной версией разработчика.

Ответ 3

Мы использовали MOM с очень хорошим успехом, так как он обрабатывает очистку, просмотр и другие проблемы за пределами ввода данных. Предостережение к MOM заключается в том, что он не делает * NIX из коробки (по крайней мере, у нас есть версия). Есть разъемы и т.д. Другой вариант - посмотреть в LogLogic. Это берет информацию о журнале с сетевых устройств, но имеет открытый API веб-сервисов, к которому вы могли бы подключиться. У MOM есть API, так что вы можете переходить к чему-то вроде LogLogic.

Ответ 4

Я думаю, что у нас есть что-то очень близкое к тому, что вы ищете. logFaces - это журнал, агрегатор и средство просмотра. Он создан специально для более крупных распределенных приложений и многопользовательских сред. Мы собрали все полезные материалы из сервисов регистрации Apache и сделали готовое решение для тех, кто использует log4j, log4net, log4cxx или event log4python. logFaces может работать с основными брендами баз данных и позволит вам быстро отладить проблемы из потока данных журнала, что очень распространено в крупных приложениях. Он также позволит вам видеть фрагменты вашей системы (log-wise) в режиме реального времени. Есть еще много функций, не стесняйтесь попробовать. Если вам нравится, я могу помочь вам с настройкой напрямую, хотя очень просто начать работу сразу после просмотра демонстраций, которые у нас есть.

Раскрытие информации. Я являюсь автором этого продукта.

Ответ 5

Для агрегации журналов Snare является немного старым, но стоит упомянуть.

Агент Snare для серверов IIS

Я давно использовал эту старую версию и хорошо работал, пересылая/отправляя/реплицируя журналы IIS через сеть через syslog.

Сегодня у них есть более новая версия Snare Epilog

Код также является открытым исходным кодом; вы можете попробовать.


Кроме того, вы можете использовать что-то вроде ELMAH в сочетании с функциями RSS/электронной почты, чтобы оповещать и предупреждать вас любых важных проблем.

Ответ 6

Мы используем ErrorsDigest Простая агрегация ошибок в реальном времени.

Ответ 7

Проверьте Microsoft Log Parser и examples. Парсер журнала может обрабатывать xml, csv, а также журнал событий Microsoft, реестр и может отправлять информацию на серверы syslog.

Из примера скриншота это, по-видимому, действительно полезный инструмент.

Ответ 8

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

Если, с другой стороны, вы поддерживаете настольные приложения или журналы из удаленных систем или больше интересуетесь анализом автономных журналов, вы можете взглянуть на Gibraltar. Он обеспечивает приятную комбинацию протоколирования, управления журналом и возможности агрегирования/анализа журналов. Но, честно говоря, я немного неполный - я один из разработчиков Гибралтара.

Ответ 9

log4net - это определенно место для простой регистрации, которая выводит на наиболее распространенные цели. log4net может регистрироваться в журнале событий Windows, а также отправлять сообщения в db, электронную почту или файл. Это довольно тривиально для настройки, и документация довольно хороша.

Ответ 10

Я использую log4net и log4view (www.log4view.org). У них есть адаптер TCP, который вы можете распространять как часть своего приложения. Затем вы используете свое клиентское приложение для подключения к различным приложениям, а сообщения журнала отображаются в режиме реального времени.

Он может контролировать несколько журналов одновременно - до 255, если вы, но коммерческая версия (из-за $50).

Он также может работать с RollingFileAppender.

У них есть довольно мощный фильтрующий интерфейс, чтобы вы могли вернуться к тому, что хотите посмотреть.

Ответ 11

Сначала используйте установленную и широко используемую структуру ведения журнала, такую ​​как log4net или NLog.

Оба фреймворка протоколирования могут отправлять сообщения журнала нескольким адресатам, например. в файл журнала, сетевой поток (TCP или UDP) или базу данных.

Затем используйте средство просмотра журналов, например Log4View, для визуализации и фильтрации сообщений журнала. Если вы используете Log4View, убедитесь, что вы создаете файлы журнала в формате XML. Хотя Log4View может также анализировать (считываемые человеком) файлы с отформатированным шаблоном, файлы данных в формате XML легче настраивать и быстрее анализировать.

Ответ 12

Спрошенный некоторое время назад, но я думаю, что стоит упомянуть Splunk http://www.splunk.com/

Я использовал его раньше, и это очень удобно.

Ответ 13

В моем случае, я пытаюсь принять писца, агрегатор журнала facebook. Facebook и Twitter теперь используют писец.