I need to add some metrics and statistics capabilities in ASP.NET application (Framework 2.0, SQL Server 2005). It's Intranet application, so I can't use Google Analytics.
I need not only measure number of hits and visits, but also which buttons people are pressing and which functions of application are using.
Will it be enough to use IIS logs and MS Log Parser or should I write all people action to database and the analyse them?
Are the some components, which I can use?
Thank you.
Before you decide how you're going to produce the metrics you require, you should define what metrics you require and then start investigating solutions to use.
IIS logs will certainly tell you what pages have been visited, but given the postback nature of asp.net (unless you're referring to an asp.net mvc application), it won't give you information regarding "which button" has been pressed. If you need that level of information you're ultimately going to have to log some data somewhere. A database is almost certainly the best bet as it's then very easy to write SQL queries to mine the data. The downside is that you'll need to add calls to your logging routine in each place that you care about gathering data.
One thing to bear in mind is the volume of data that you're logging and how you manage it. If you log too much, or have no archival/clear-out plan, you could find that you end up with more log data than application data which can pose a problem if the application is used heavily by a large number of users. I've seen, more than once, tables called ProcessLog
or Trace
that contain more data than the rest of the system combined.