метрики в приложении ASP.NET

Мне нужно добавить некоторые метрики и возможности статистики в приложение ASP.NET (Framework 2.0, SQL Server 2005). Это приложение для интранета, поэтому я не могу использовать Google Analytics.

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

Будет ли достаточно использовать журналы IIS и MS Log Parser, или я должен записывать все действия людей в базу данных и анализировать их?

Есть ли какие-то компоненты, которые я могу использовать?

Спасибо.


person Alexan    schedule 28.08.2010    source источник


Ответы (2)


Прежде чем вы решите, как вы будете получать нужные показатели, вы должны определить, какие показатели вам нужны, а затем приступить к поиску решений, которые можно использовать.

Журналы IIS, безусловно, сообщат вам, какие страницы были посещены, но, учитывая природу обратной передачи asp.net (если вы не имеете в виду приложение asp.net mvc), они не дадут вам информации. относительно того, «какая кнопка» была нажата. Если вам нужен такой уровень информации, вам в конечном итоге придется где-то регистрировать некоторые данные. База данных почти наверняка является лучшим выбором, так как тогда очень легко писать SQL-запросы для извлечения данных. Недостатком является то, что вам нужно будет добавлять вызовы в свою процедуру ведения журнала в каждом месте, где вам нужно собирать данные.

Следует помнить об объеме данных, которые вы регистрируете, и о том, как вы ими управляете. Если вы регистрируете слишком много или не имеете плана архивации/очистки, вы можете обнаружить, что у вас больше данных журнала, чем данных приложения, что может создать проблему, если приложение интенсивно используется большим количеством пользователей. Я не раз видел таблицы с именами ProcessLog или Trace, которые содержат больше данных, чем вся остальная система вместе взятые.

person Rob    schedule 28.08.2010
comment
Спасибо, Роб. Как вы думаете, стоит ли мне использовать некоторые компоненты ведения журнала, такие как log4net или какие-то другие? - person Alexan; 29.08.2010
comment
@ Алекс, это действительно один из тех вопросов, которые зависят от самого себя. log4net сделает всю работу за вас, но это может оказаться излишним. Попробуйте, в худшем случае это час вашего времени! знак равно - person Rob; 29.08.2010

Попробуйте ГИБРАЛТАР. Он имеет встроенную интеграцию с ASP.NET Health Monitoring, включая подробное отслеживание показателей страницы и отслеживание того, какие кнопки нажимают люди и какие функции приложения используют, просто помечая ключевые методы атрибутом.

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

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

person Jay Cincotta    schedule 07.09.2010