I have a particular requirement to analyse the IIS web logs and view which users (by username) have accessed a particular subset of pages.

Can anyone recommend a good analysis tool to get this information from the logs.

The ones I have looked at SmarterLogs and WebLog Expert seem to either list numbers of user (not who) have accessed a page. And don't offer selecting which pages you are interested in...

Thanks,

Apologies for re-opening this question. It seems the IIS logs didnt have the information I was after. I was looking for each user request of documents within a SharePoint 2003 document library. It seems that that this logging has to be enabled in SharePoint http://msdn.microsoft.com/en-us/library/dd583134(v=office.11).aspx

Has anyone tried to do this before in SP2003? And can I still use Log Parser?

link|improve this question
Thanks guys was hoping more for a analytics tool that would do this and produce reports that I can show to the business. – nav Jul 18 '11 at 12:20
Why is your business incapable of reading plain text? For that matter, if they need "pretty", wrap the results in some HTML and print that out. – womble Jul 18 '11 at 12:23
Log parser can be used to generate graphs and charts using the data in the target log files, its a matter of formatting the query properly. There's also this tool that may generate picture-based output for you: bobbacus.com/projects/02 – John Ferringer Jul 19 '11 at 12:07
@womble I should have worded the comment better, what I meant is to set up automated reports against the log files, rather than it being pretty but pretty would be good too! – nav Jul 21 '11 at 8:24
You're allowed to automatically run Ruby scripts, you know. – womble Jul 21 '11 at 8:46
feedback

3 Answers

up vote 5 down vote accepted

My favorite tool for this is Log Parser (recommended initially by Peter), it has a bit of a learning curve but its very versatile. Microsoft PFE has a pretty good blog post on common queries to use to get data out of IIS logs with Log Parser, some of those queries may provide you with a quick leg up on what you're wanting to extract: http://blogs.technet.com/b/clinth/archive/2010/01/07/w3c-iis-log-analysis-using-log-parser.aspx

There's also a GUI tool for Log Parser called "Log Parser Lizard" which can simply it for you somewhat: http://www.lizard-labs.net/default.aspx

I also found a free tool that someone posted at IIS.net that may be worth a look, but I haven't tried it myself yet: http://www.iis.net/community/default.aspx?tabid=34&i=1864&g=6

John

link|improve this answer
+1 for Log Parser. The tool is great, especially if you have SQL language experience. – Jeff Jul 19 '11 at 22:02
feedback

If you are familiar with writing SQL queries, one option would be to import them into a database such as SQL Server. This is documented across the web, Microsoft doing it at http://support.microsoft.com/kb/296085

An alternative might to be to use a tool such as Microsoft's Log Parser, but it uses a similar query language. http://www.microsoft.com/download/en/details.aspx?id=24659

link|improve this answer
thanks great suggestions – nav Jul 21 '11 at 8:14
feedback

If you can describe the "subset of pages" as a regex, the following ruby should do the trick (feed the log into standard input):

users = []
$stdin.each_line { |l| next unless l =~ %r{interestingpagesregex}; u = l.split(/\s+/)[1]; users << u unless users.include? u }
puts users
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.