2
votes

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?

5
  • 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, 2011 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, 2011 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 Jul 19, 2011 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, 2011 at 8:24
  • You're allowed to automatically run Ruby scripts, you know.
    – womble
    Jul 21, 2011 at 8:46

3 Answers 3

6
votes

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

1
  • +1 for Log Parser. The tool is great, especially if you have SQL language experience.
    – Jeff
    Jul 19, 2011 at 22:02
5
votes

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

0
0
votes

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

Not the answer you're looking for? Browse other questions tagged .