[ Top | Up |
Prev | Next |
Map | Index ]
Frequently asked questions
This list is divided into six sections:
  - Getting Started
  
 - Basic Configuration
  
 - Understanding the Output
  
 - Advanced Usage
  
 - Form Interface
  
 - Design Decisions
 
Most questions in this category are answered in the section entitled
Starting to use analog. If you can't get
analog running you should look there.
  - Analog doesn't have a setup.exe.
      
No, and it doesn't need one. It's already ready to run! See
      Starting to use analog under
      Windows.
   - Analog just flashes up a DOS window and then quits.
      
This is the correct behaviour. It should have created a report
      called Report.html. See Starting
      to use analog under Windows.
   - When I try and compile analog, it gives me an error (e.g. on
      SunOS 5).
      
Maybe you need to edit the Makefile. There are some
      platform-specific notes in the section
      Starting to use analog on other
      platforms, and in the Makefile itself.
   - Analog didn't write the logfile when I ran it.
      
Analog doesn't write the logfiles. Your web server writes the
      logfiles, and analog just reads them. See
      Starting to use analog.
   - Analog is looking for files like
      /usr/local/etc/httpd/analog/analog.cfg which don't exist.
      
You have to set the location of these files in anlghead.h
      before compiling.
   - Analog won't read extended logfiles generated by IIS.
      
This server writes the date only at the top of the logfile, not on
      every line. But it doesn't write a new date if the date changes during
      the logfile, so analog can't tell which date later entries in the log
      occurred on. More details, and what to do about it, are in the section on
      Choosing a logfile.
   - What does this error message mean?
      
See the section on Errors and
      warnings.
   - I tried to run analog from my browser, but it didn't work.
  
Analog should not be run as a CGI program, or even put in the folder
      with your CGI programs, for security reasons. You should use the special
      CGI program instead.
   - Is analog Year 2000 compatible?
      
Yes (and so are all previous versions). It interprets two-year dates
      in input as lying between 1970 & 2069 inclusive.
 
Analog has lots of configuration commands, all of which are in the section on
Customising analog. Here are some of
the most common questions. If your question isn't answered here, you could
also try looking in the index.
  - I want to make several different statistics pages. Do I have to
      install several copies of analog?
      
No. Just install it once, and run it with different
      configuration files.
   - My analog.cfg included lots of CONFIGFILE
      commands, but only one report was produced.
      
Analog can only produce one report per run. To produce several
      reports, you have to run it several times.
   - Why doesn't the Daily Report only show the last six weeks?
      
This is controlled by the
      FULLDAYROWS command.
   - Why do the time reports all list 0 requests?
      
They probably only list 0 requests for pages. Maybe you need to use
      PAGEINCLUDE to count
      more files as pages.
   - How do I ignore accesses from my site?
      
Use the HOSTEXCLUDE command.
   - How do I ignore internal referrers in the Referrer Report?
      
Use the REFREPEXCLUDE command.
   - How do I get information on just my pages, not everybody's?
      
Use the FILEINCLUDE command.
   - I used the command "DIREXCLUDE /mydir/", but
      files in that directory were still listed.
      
DIREXCLUDE only affects the Directory Report, not the
      other reports. You want "FILEEXCLUDE /mydir/*"
      instead.
   - I used the command
      "FILEEXCLUDE /cgi-bin/script.pl", but that
      file was still listed in the Request Report.
      
If the file has search arguments, you have to be a bit careful with
      FILEEXCLUDE. This is described in the section about
      search arguments.
   - How do I get the Request Report to list files with fewer than 20
      requests?
      
Use the REQFLOOR
      command.
   - Why are my browser and referrer reports empty?
      
Maybe your logfile doesn't contain any browser and referrer
      information?
   - Why isn't the Referrer Report sorted properly?
      
It is sorted properly. But search arguments
      are also listed under the file they belong to, and this interrupts the
      ordering. If you set the
      REFARGSFLOOR high
      enough you won't see the search arguments. Or you can include the
      N column to make the
      ordering more obvious.
   - Why can't I have P in the REQCOLS or
      REQSORTBY?
      
The number of page requests doesn't make sense in the Request Report
      because it's either the same as the number of requests (if the file is a
      page) or zero (if it isn't). If you want to list only pages in this
      report, use REQINCLUDE pages instead.
   - I want to list (or not to list) referrers with their search
      arguments in the Referrer Report.
      
To see the search arguments you may need to set the
      REFARGSFLOOR lower. To
      avoid seeing them, you could set the REFARGSFLOOR higher, or
      alternatively use the
      REFARGSEXCLUDE command
      to ignore them either for all files or just for particular files.
   - Can I find out which files each referrer pointed to?
      
or Can I find out which files each host has read?
      
or Can I find out the number of hosts visiting on each
      day?
      
or lots of similar questions.
      
There are lots of questions like this. They all want analog to
      cross-reference two sorts of item (e.g. files and referrers in the first
      example above, or hosts and dates in the last). Granted, these would be
      useful. But it is fundamental to analog's speed and minimal memory
      requirement that it only records statistics for each type of item
      individually, and doesn't record enough information to cross-reference
      them afterwards.
      
What you can do is to restrict the analysis to just requests from
      certain referrers (for example) with the 
      REFINCLUDE command, or to a
      particular time period with
      FROM and TO.
      This is sometimes good enough.
   - Can I use %d, %m etc. in the
      LOGFILE, like I can in the
      OUTFILE?
      
Not at the moment. This is rarely useful, because you can only get
      at one logfile that way. If you're on Unix, you can embed the date in
      the logfile name using the date command: for example,
      analog access.`date +%Y%m%d`.log
   - I get the message "logfiles overlap" even though the two
      logfiles contain completely separate requests.
      
This message is based only on the dates of the files, not the
      contents. If you're sure there is no problem, you can turn it off with
      the command WARNINGS -L.
   - Can I get data on individual visitors, or visits, to my site?
      
No, it's not technically possible, and don't believe any program
      which tells you it is. See the section on
      How the web works for details.
   - Can I change the background colour of my output?
      
Yes. The correct way to do this is to write a style sheet, and then
      use the STYLESHEET
      command.
 
Most of the questions in this category are answered in the section on
What the results mean, which I really
recommend you read if you want to understand what analog is telling you.
  - How do I find out the number of hits from your data?
      
I don't use the word hits, because people use it in
      different ways, so it's misleading. I use requests for the
      number of transfers of any type of file (text, graphics, ...), and
      page requests for the number of transfers of HTML pages. See the
      section on Analog's definitions
      for more information.
   - Why are there so many referrers from my own site?
      
These come from all the internal links on your site, and all the
      graphics on your pages. See the section on
      How the web works for more
      information. If you don't want to see them, you can use
      REFREPEXCLUDE to
      exclude them.
   - Why doesn't analog agree with the counter on my page?
      
There are lots of possible reasons. Do they both start from
      the same date? Are you just looking at requests for that one page with
      analog, not for all your other pages and graphics? Also, analog will
      record all requests to that page; if it's a graphic, your counter will
      only measure requests from people on graphical browsers that reached
      that place on the page.
   - Why do I only get "unresolved numerical addresses" in the domain
      report?
      
Your server only records the numerical IP address of the hosts that
      contact you, not their names. Read the section about
      DNS lookups, or turn DNS resolution
      on in your server.
   - Why are my click-thru's (or CGI scripts) not listed in the
      Request Report?
      
If they cause a redirection to another page, they will be listed in
      the Redirection Report, rather than the Request Report.
   - Why are directories listed in the Request Report?
      
They are not directories, they are pages with the same name as
      the directory. For example, I have both a directory called
      /analog/ and a page called /analog/ (which happens
      to be the same as /analog/index.html).
   - When someone reads one of my pdf files, it scores dozens of hits.
      
PDF files are often downloaded and read one page at a time, and each
      page will then count as a separate request. Although this is not ideal,
      it's much less clear what to do about it. Analog has no way of knowing
      how many pages constituted a single download in the reader's mind. As
      usual, we can only reliably report how many requests there were at the
      server, not guess what users did with the file later.
 
  - How can I do such-and-such with a command line option?
      
Use the +C option to put
      any configuration command on the command line.
   - I want a list of all command line arguments.
      
There is a list in the index.
   - Can analog read FTP logfiles?
      
Yes. If you are using the xferlog format, then there is a
      configuration file to help you in the examples
      directory. Otherwise you will have to write your own
      LOGFORMAT. (You probably won't be
      able to read anything other than the lines corresponding to file
      transfers.)
   - How can I run analog automatically every day?
      
This depends on your particular machine. On Unix, you need to run
      analog as a cron job (see "man cron"). This is my cron command
      to run it at 1:50am every day:
      
50 1 * * * $HOME/bin/analog
      
On Windows NT you can do the same with the at command, but only an
      administrator can run at. On Windows 98, it should be possible with the
      Task Scheduler, although I haven't tried it. On Windows 95 it's not
      possible as far as I know.
      
On Mac, there are programs called
      Cron or
      CronoTask
      to do this.
   - I'm setting up IIS. Which logfile format should I use?
      
The W3C format is probably best. You can turn fields on and off in
      this format. And it contains all the possible fields which can be
      logged, which the other formats do not. However, it is important to turn
      the date field on (it's off by default), not just to log the date once
      at the top: see the section on problems
      with logfile formats for why.
   - I host lots of virtual domains. How should I set up analog?
      
There's a file in the examples directory which discusses
      this issue.
   - Can I make multiple reports with one pass through the logfile?
      
Not at the moment. I want to do this in a future version, but it will
      require some considerable work.
   - I ran out of memory when trying to run analog. What can I do?
      
See the section on Coping with low memory.
   - You're processing 20,000,000 requests in under 10 minutes. Why is mine
      much slower?
  
or Analog appears to stall.
      
If you have DNS lookups on, they are very
      slow. Otherwise, it probably depends on the speed of your computer and
      disks, and what other programs are running at the same time. You can
      use the PROGRESSFREQ
      command to see 
      if it's really stalled or whether it's just being slow. If you are
      running out of memory, you might find analog's
      LOWMEM commands helpful.
   - How do I make a link on my page that runs analog?
      
Link to the anlgform program, with the
      desired options. But be careful about the load on your server.
   - Do I have to save all my old logfiles?
      
or Can analog make statistics from an old report instead
      of reading the whole logfile again?
      
These questions are answered in the section about
      Cache files.
 
There is also a section on troubleshooting in
the documentation about the form interface.
  - My browser showed me anlgform.pl, rather than running it.
      
You have to tell the server to execute the CGI program, not just
      send it out like it would for a normal file. Often this is done by
      putting it in a special /cgi-bin/ directory.
   - Why does the form interface give "Document Returned no
      Data"?
      
If it doesn't happen for a while, then probably the server is giving
      up before the analog process has finished running. Increase the timeout
      interval on the server.
   - The images don't appear when running analog from the form
      interface.
      
You probably need to set the
      IMAGEDIR. If the images
      are in your /cgi-bin/ directory, the server will normally try
      to execute them instead of just sending them out.
   - How can I specify different logfiles from the form interface?
      
Just add a new field to the form with name=LOGFILE
   - Why do I get some reports that weren't requested on the form?
      
If a report is neither included nor excluded on the form, the
      system default will be used. This will depend on your configuration files
      and on compile-time settings.
 
or "Why didn't you do it this way?"
  - Why doesn't the HEADERFILE replace the whole
      <head> of the output file?
      
Because you almost never get valid HTML that way. Use a
      style sheet instead.
   - Why not use HTML tables?
      
Most non-graphical browsers don't do a good job with tables. Also
      tables aren't available in HTML 2.0, which is the sort of HTML
      analog writes.
   - Why are you still using HTML 2.0?
      
Unfortunately my bar charts aren't valid in HTML 4.0.
   - It would be better if you used png's instead of gif's.
      
I'm aware of the issues. But png support isn't good enough even in
      new browsers; and I have always made a point of designing analog to work
      even on old browsers.
   - Why not just do DNS resolution of the hosts that actually make it
      into the Host Report?
      
There is one theoretical and one practical problem. Theoretically,
      the problem is that which hosts do make it into the Host Report can
      change when the DNS lookups have been done. And practically, this
      wouldn't help identify the busiest countries or organisations, which is
      usually what you really want to know. However, there is a Perl script on
      the helper applications page to do this.
   - Couldn't you do the DNS lookups faster with threads?
      
The problem is, the standard commands for DNS lookups are not
      thread-safe on many platforms, so it would involve a lot of
      platform-specific code. Again, there are programs for specific platforms
      on the helper applications page.
   - Why doesn't analog analyse the error_log?
      
This is answered in detail on the
      What's new?
      page. But
      in summary, it's too difficult because each server has a different format
      for its error log. The various failure reports are good enough for most
      purposes.
   - My server lists local names in the logfile. Can you put a common
      suffix on them automatically?
      
This wouldn't be a good idea by default, because things like
      "unknown" would get the suffix. You can always add them using
      HOSTALIAS. On operating
      systems with regular expressions, there is an example to accomplish this
      in the section about aliases.
   - Can you extrapolate from the current month's partial data to produce
      a prediction for the whole month, based on the rate so far?
      
No. There are too many problems in trying to produce anything
      sensible, especially near the beginning of the month. Different days of
      the week and different times of day cause lots of problems. I would
      prefer to produce raw accurate data than suspect derived data.
   - Can you extend the Domain Report to say which US states people visited
      from?
      
No. Some programs pretend to do this, but you can actually only tell
      which state the computer the person was using is in, which may be quite
      different from where the user was for ISP's or other large organisations.
   - Why not use language codes instead of country codes for the names
      of the language files?
      
People are more familiar with the country codes. And not all of my
      languages have language codes anyway.
   - Why don't you sell analog?
      
I didn't write analog for the money, and I'm happy just to see
      people use it. Also, by making it open source, lots of people send me
      ideas and code to include in future versions. How do you think I got all
      those languages? (Of course, if you want to send me money, or gifts in
      kind, or even just postcards...).
 
If there's still something you can't figure out, see the
next section for how to get help with analog.
Stephen Turner
Need help with analog? Subscribe to the analog-help
mailing list
[ Top | Up |
Prev | Next |
Map | Index ]