Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Log Analysis Tools for Windows?

Cliff posted more than 10 years ago | from the for-those-who-can't-escape-the-borg dept.

Software 37

FunkMonkey asks: "I administer a custom web app for my company (unfortunately, it's a Windows-only company -- servers and all), and I've been asked to find a web log analysis tool that our users can use to look at standard stats (number of visits/hits, etc.), as well as the ability to filter by authenticated users (including putting those users into groups). Additionally, the tool must be free or under $100.00, and be able to generate Excel (or Excel-compatible) reports. My app generates ECLF reports, so just about any web log analyzer should be able to read the logs themselves. I see this as a good opportunity to weasel some Open-Source stuff into the company. Any help you can offer -- suggesting apps, tips, forums to which I could post this question, etc. -- would be most welcome. Thanks in advance!"

cancel ×

37 comments

Analog (4, Informative)

henrik (98) | more than 10 years ago | (#7941897)

www.analog.cx

Re:Analog (0)

Anonymous Coward | more than 10 years ago | (#7942243)

Wow, this sounds almost like www.goatse.cx

Re:Analog (2, Informative)

exhilaration (587191) | more than 10 years ago | (#7943153)

Yes, Analog [analog.cx] , AWStats [sourceforge.net] , and Webalizer [mrunix.net] (here's Webalizer Win32 [medasys-lille.com] ) are the three packages that my web host installs for all its users.

Re:Analog (3, Informative)

bjpirt (251795) | more than 10 years ago | (#7943786)

I currently use webalizer, but felt like it should be doing a lot more with the information in the log files. Hell, even I could spot more trends from just looking at the log file raw.

So I took a look at AWStats and (although slower - it's written in perl not compiled c) it looks to have a lot more useful features.

Usefully though, I came across this comparison chart [sourceforge.net] comparing these three options plus another. Hope this helps.

bjpirt

Windows? (0, Offtopic)

Markus Registrada (642224) | more than 10 years ago | (#7941898)

Why are the editors posting a Windows-only question? There's nothing nerdy about Windows.

Just go buy something.

Webtrends (0)

spacecowboy420 (450426) | more than 10 years ago | (#7941905)

n/t

Serverside scripting (-1)

Pantheraleo2k3 (673123) | more than 10 years ago | (#7941927)

If available, maybe CGI or PHP would be useful

Switch to linux (-1)

Anonymous Coward | more than 10 years ago | (#7941937)

by switching jobs, if necessary.

Tell your bosses that if they want cheap or free, they must use Free Software. Suggest that an apache server doing a mod_rewrte and mod_proxy, placed in front of the windows asp machine, can run AWStats and then you can hack into AWStats any special accounting you want to do.

PHP (3, Funny)

NanoGator (522640) | more than 10 years ago | (#7941939)

You can always turn on Windows IIS or install Apache. Then, install PHP. Then write some code to count the statistics you need. Once you're finished, you can give it away to the community, and it'll run on anything that can execute PHP!

Re:PHP (1, Informative)

T-Ranger (10520) | more than 10 years ago | (#7942099)

How would php help at all?

First of all; he already has logs. He asked about log analysis, not log creation. If you mean to insert a custom php function into every file dologline() or something, that would be a) slow, b) hard-to-impossible to implement on potentially thousands of files c) incompatable if he is using any other server generated pages. And it would miss static objects, images for example.
If you mean, write your own log parser in PHP, again that would be both slow and painfull. PHP isnt paticularly good at text manipulation (which is ironic, seeing as how thats what html generation basicly is). And even if it was as good (or better then), say Perl, Perl has massive amounts of free modules avialable desigined for log analysis, statistics, report generation. PHP is lacking in the third party lib field.

I dont know the state of Activestate (*cough*) so I dont know how well existing, built for Unix, Perl log analysis packages would work. I suspect that many just would. To which, I point out a freshmeat [freshmeat.net] link.

Re:PHP (1)

Hungus (585181) | more than 10 years ago | (#7942284)

The poster means that one should use PHP to parse the Logs. It is quite possible and very easy to use it in such a manner. Its a pity that BBEdit doesnt run on x86 or I would suggest that but in all honesty anything that will allow you to use grep is essentially ideal for parsing logs. save as csv and any spreadsheet around wil open it fine. Best 3 things about grep? 1) Flexability 2) Speed 3) Price Oh and as to your statement that PHP is lacking in the 3rd party lib field? And you comment that php isn't very good at parsing text, well you might want to stop smoking that crack. or maybe get your head out of Larry's

Re:PHP (1)

T-Ranger (10520) | more than 10 years ago | (#7942951)

If you using grep then your not using PHP. $usefull = system("grep $file"); does not count as using PHP. If you want to use the UNIX tool set, then use the UNIX tool set.

PHP is not paticularly good at manipulating text. It is infinitly better then C, or Modula. But compared to gawk, sed... the unix toolkit, let alone Perl, it sucks. The PHP developers know this, and they have wraped up some of espically usefull features of Perl in to PHP functions... Things that Perl treats as natiave opearators. Compare equivelent search/replace code.
PHP:
$data = preg_replace("/hello/", "goodby", $data);
Perl:
$data =~ s/hello/goodby/;

Minimizing things down to 1 character variable names, 1 character strings/regular expressions, PHP has a character count of 35. Perl is less then half at 14. Because Perl has string manipluation facilities built into the core language. String manipulation is Perl's first, and primary design goal.

I use PHP all the time. And Im probabaly a better PHP programmer then a Perl programmer. But for text analysis, Perl is king.

Re:PHP (1)

Hungus (585181) | more than 10 years ago | (#7943213)

did i say anything about perl vs php? No did i say php is or uses grep? no i didnt say that either.

Oh and for the record .. I develop medical security and legal databases more secure than banking software and a hell of a lot larger than anything you have ever seen. How can I say that? Well deployed my last project was 27TB. Oh yeah and it was built using PHP does that qualify me as a php developer? Sheesh. Learn to read the whole post and don't immediately jump to conclusions. Are there better tools than php? Absolutely are teh ones you mentioned ( as well as my own mentionings) better than php certainly. does php suck at regular expressions? Hardly. Why do I even bother.

Re:PHP (1)

DAldredge (2353) | more than 10 years ago | (#7943233)

Well, you didn't even bother to proof you post before you went off the handle. Perhaps next time you wish to sound like Gods gift to programming you should proofread what you post?

*This post has NOT been proofread (It is late)*

Re:PHP (1)

Hungus (585181) | more than 10 years ago | (#7943852)

:) That made me smile. Thank you.

Re:PHP (1)

E_elven (600520) | more than 10 years ago | (#7944571)

>PHP:
>$data = preg_replace("/hello/", "goodby", $data);
>Perl:
>$data =~ s/hello/goodby/;

What the hell does it matter how you *call* the function (aside from the PHP being clearer)? If you want to argue which is better, argue over the *implementation* of the replacing algorithm (which is probably going to be pretty much the same.)

As far as I can recall, the PHP text functionality lies in the compiled C modules, not the top-layer modules written in PHP. I could be wrong.

Re:PHP (1)

T-Ranger (10520) | more than 10 years ago | (#7945930)

=~ isnt a function. Its an opearator. Perl has string manipulation facilities buit into it at a very low level. PHP does not.

PHP may be clearer, but that is because you (obviously) dont know what the =~ opearator does. Which, if you've never seen Perl code before, is quite resonable. Lets say you dont know what + does:

Stupid example language:
$i = add_values($i, 2);

PHP (or Perl, C, Java...):
$i = $i + 2;
or:
$i += 2;

Assuming you dont know what + does, the first example is the most clear. The last example is the least clear, but I suspect is the most common way to add 2 to something. Since addition is a very common thing to do, most languages have + built in as a native opearator. Perl is desigined to do string manipulation, so it has string opearators built into the language.

Re:PHP (1)

E_elven (600520) | more than 10 years ago | (#7946683)

*breaks out the blackboard for drawing a picture*

What I am saying is that it's irrelevant how the function is called. Using =~ instead of rx_replace() does not make a language better or worse suited for string manipulation. The algorithm used for the actual manipulation does. If Perl and PHP use the same algorithms, then they are by definition equally good in string processing.

Re:PHP (1)

DrSkwid (118965) | more than 10 years ago | (#7943560)

did you notice the "for free or under $100" part.

I don't know about you but $100 won't buy you much of my time.

Excel compatibility? Scripting? (0, Offtopic)

cuiousyellow (89995) | more than 10 years ago | (#7941945)

Try Open Office [openoffice.org] .

The person forcing you to use MS can be placated knowing that it uses XML somehow and you get an excuse to install perl on the servers!

(are there places on this fancy intarweb that don't have access to google?)

Analog (4, Interesting)

embo (133713) | more than 10 years ago | (#7941972)

You should look at Analog [analog.cx] . It is free, and open source. While it probably doesn't export straight to Excel, you would likely have two choices there:

First, since it's open source, you could add support to export to CSV fairly easily.

Second, Analog can export to what it calls "COMPUTER" output, which is designed for easy parsing. Couple the COMPUTER output with a little Python or PERL, and you'll have a CSV file fairly quickly.

When you're finished looking at Analog, make sure you also consider Report Magic for Analog [reportmagic.org] to make things look pretty in a browser.

Re:Analog (3, Interesting)

xmas2003 (739875) | more than 10 years ago | (#7942088)

Roger that recommendation on Analog - works good for me - and was helpful in doing an analysis of the Slashdot Effect on Christmas Lights [komar.org] which includes actual output from Analog that you might find interesting.

Re:Analog (0)

Anonymous Coward | more than 10 years ago | (#7942364)

I'm surprised anyone would even consider something other than Analog. But hey, on the other hand, if you already have Crystal Reports running at the company, take a look at what it does.

Re:Analog (1)

halfnerd (553515) | more than 10 years ago | (#7943308)

If he'll already be using perl, why not use SpreadSheet::WriteExcel from CPAN.

err.... um.... (4, Funny)

Anonymous Coward | more than 10 years ago | (#7942025)

what are you getting paid for again?

Hi Slashdot! (3, Funny)

reynaert (264437) | more than 10 years ago | (#7942122)

Will you please do my job for me?

Excel (3, Informative)

BladeMelbourne (518866) | more than 10 years ago | (#7942162)

FYI - many web applications that export to a .xls file, are simply creating an HTML document, (hopefully with tables in it), and changing the header so the browser does not think the file is text/html.

eg:

Response.ContentType = "mime-type application/vnd.ms-excel"
Response.AddHeader "content-disposition", "attachment; filename=auto-gen.xls"

You can also do the same to generate M$ Word files - although they dont need a table inside. These files can be opened in M$ Office and OpenOffice.

Mike

awstats (2, Informative)

Shaheen (313) | more than 10 years ago | (#7942183)

I use AWStats [sourceforge.net] on a home web server.

It's written entirely in perl so it can work on Windows just fine as well. To see a sample go here [homeftp.net] .

Friends don't let friends do Windows... (0)

Anonymous Coward | more than 10 years ago | (#7942318)

If you are running IIS please just admit it.
Then we can all point and laugh.

D'oh. (1)

Rocky (56404) | more than 10 years ago | (#7942324)

This was already invented a number of years ago.

It's called PERL.

Logs under Windows tend to be very thin... (1)

Spoing (152917) | more than 10 years ago | (#7942478)

If the data isn't captured in the first place, getting a better analysis tool won't help.

I'm spoiled with the feedback from Unix-style systems.

That said, if there is a way to improve the volume and quality of what is being logged, I would appreciate hearing about it. (Yes, I've tweaked the default log settings for the system, and have enabled what I can for the apps I find. DR Watson is moderately useful when apps crash.)

Re:Logs under Windows tend to be very thin... (1)

barzok (26681) | more than 10 years ago | (#7942854)

Did you even read the post? It's a web app. IIS logs to the same log format everyone else does, and captures all the same information.

A Microsoft tool for a Microsoft job? (4, Informative)

Jorkapp (684095) | more than 10 years ago | (#7943072)

Consider using Microsoft's Log Parser 2.x (2.1 Included in IIS 6.0, 2.0 availible as Download for Win2k/XP/2k3, and is only 2mb.

It doesn't output to .xls files, but it does let you run SQL like queries against log files of any format. Its availible as command line and as a series of scriptable COM objects.

http://www.microsoft.com/downloads/details.aspx? di splaylang=en&familyid=8cde4028-e247-45be-bab9-ac85 1fc166a4

Some of these (4, Informative)

$exyNerdie (683214) | more than 10 years ago | (#7943345)

You can try some of these:

http://awstats.sourceforge.net/

http://www.multicians.org/thvv/webtrax-help.html

http://www.ftls.org/en/examples/cgi/ewla.shtml

http://www.watchwise.net/

http://www.weblogexpert.com/

For a detailed list of web log analyzers, go to this page. It has listing of various platform specific and platform independent analyzers:
http://www.uu.se/Software/Analyzers/Access-analyze rs.html [www.uu.se]

Absoulte (2, Informative)

BenTheDewpendent (180527) | more than 10 years ago | (#7943352)

Absolute [bitstrike.com] log analyzer. exports to excel and many other things. Pro version is $250 but looks to be quite flexible.

WUSAGE is the best, I think... (2, Informative)

Cragen (697038) | more than 10 years ago | (#7945186)

Wusage [boutell.com] is $25 for a single server, $75 for 5 domains, & $275 - unlimited. I think it's the best you can get -- available for all web servers and OS's, I think. I used it for years back when I was web-mastering. Have fun,

*cragen.

Do it yourself (2, Insightful)

muleboy (123760) | more than 10 years ago | (#7946098)

So, basically you want someone to write something for you that works with all your proprietary programs so you can make money off of it? And you want them to do it for free or very little money?

Good luck.
Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...