views:

593

answers:

4

I need a hit counter for my various pages, but I can't use google analytics (my client isn't ready for cloud computing) and I can't use anything that requires access to the IIS logs (the server administrator owns them and doesn't want to give them up)

What resources are there for user usage tracking for what is essentially a hosted ASP.NET account?

I'm running an ASP.NET application on IIS 6. I've turned on health monitoring, but so far that is just creating log data with no analytics.

+3  A: 

You could use something that logged raw data to a database and then analyse this information.

Various alternatives to Google Analytics reviewed here:

http://sixrevisions.com/usabilityaccessibility/10-promising-free-web-analytics-tools/

Andy

Andy Davies
None of these are in ASP.net most require PHP
John
+11  A: 

I recently wrote up a list of (mostly) free GA alternatives.

http://regulargeek.com/2010/05/29/25-free-google-analytics-alternatives/

Many of these are cloud-based, but there are some that are completely hosted as well. I cannot recommend a particular solution, but the most popular self-hosted packages look like Grape Web Statistics (http://www.quate.net/grape), Open Web Analytics (http://www.openwebanalytics.com/) and Piwik (http://piwik.org/).

Robert Diana
This certainly is the most comprehensive list I've seen to date.
MatthewMartin
Accepted, because this was the answer that convinced me that for my narrow technical requirements, there probably isn't an existing solution. I plan to use one of these on my personal sites though, because it's too cool to pass up, thanks.
MatthewMartin
I am surprised that none of the self-hosted packages would work for you. I do know that they are not the simplest packages to setup and use.
Robert Diana
I have used Piwik for personal sites, and it's great!
maxwellb
@Robert It is a government IT department. We seem to like constraints.
MatthewMartin
+3  A: 

How much detail do you need? If don't need all the extensive features of these listed, I'd just write something myself.

for example, at the bottom of your master page, put something like:

<webapp:MyPageCounter ID="counter" runat="server" />

and then define the MyPageCounter usercontrol to log the page requested, IP address, and headers. then you'd have all the information to generate some reports from.

If you DO need more features, well, I think some shared hosting allow PHP apps. ;)

dave thieben
+2  A: 

You could add an http module to the asp.net pipeline and write off values to a sql database if you're in a do-it-yourself mood.

James Westgate