[ Top | Up | Prev | Next | Map | Index ]

Readme for analog3.3

Frequently asked questions

This list is divided into six sections:
  1. Getting Started
  2. Basic Configuration
  3. Understanding the Output
  4. Advanced Usage
  5. Form Interface
  6. Design Decisions
Sometimes two or three questions have the same answer!

A. Getting Started

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.
  1. 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.
  2. When I try and compile analog, it gives me an error.
    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.
  3. 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.
  4. 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 analhead.h before compiling.
  5. 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.
  6. What does this error (or warning) mean?
    See the section on Errors and warnings.
  7. I tried to run analog from my browser, but it didn't work.
    You can't run analog itself directly from a browser. You need to use the CGI program which outputs the correct HTTP headers.
  8. 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.

B. Basic Configuration

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.
  1. 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.
  2. Why doesn't the Daily Report only show the last six weeks?
    This is controlled by the FULLDAYROWS command.
  3. How do I get information on just my pages, not everybody's?
    Use the FILEINCLUDE command.
  4. How do I ignore accesses from my site?
    Use the HOSTEXCLUDE command.
  5. How do I get the Request Report to list files with fewer than 20 requests?
    Use the REQFLOOR command.
  6. How can I combine all the hosts from each company in the Host Report?
    You can see this information in the Domain Report if you use the SUBDOMAIN command: for example SUBDOMAIN *.com. (Or you can several HOSTALIAS commands -- but I think the first solution is better).
  7. 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.
  8. Can I find out the number of hosts that have accessed each file?
    or Can I find out the number of hosts visiting on each day?
    No; it would require storing too much data (all host/file pairs, or all host/day pairs). If there's a particular file you're interested in, use FILEINCLUDE to restrict the analysis to only that file. If there's a particular day you're interested in, use FROM and TO to restrict the analysis to only that day. You can see the last date on which each host visited by using the HOSTCOLS command.
  9. 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.

C. Understanding the Output

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.
  1. 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.
  2. 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.
  3. 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.
  4. 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..
  5. Why are my 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.
  6. 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).
  7. 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.

D. Advanced Usage

  1. 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.
  2. I want a list of all command line arguments.
    There is a list in the index.
  3. 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:
    20 1 * * * $HOME/misc/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.
  4. I host lots of virtual domains. How should I set up analog?
    In my opinion, if you haven't got many virtual domains, the best thing is to log each one to a different logfile and analyse them independently. If you have got lots of virtual domains, you may have to log them all to the same logfile. In that case, make sure to log the virtual host name on each line. Tell analog the LOGFORMAT if necessary, and then use the VHOSTINCLUDE command to pick out the lines you want. Alternatively, split the single logfile into separate logfiles before running analog on it; this avoids making several passes through the whole logfile.
  5. 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.
  6. I ran out of memory when trying to run analog. What can I do?
    See the section on Coping with low memory.
  7. 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.
  8. 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.
  9. Do I have to save all my old logfiles?
    This is answered in the section about Cache files.

E. Form Interface

There is also a section on troubleshooting in the documentation about the form interface.
  1. My browser asked me to save anlgform.exe, 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.
  2. 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.
  3. The images don't appear when running analog from the form interface.
    You probably need to change the IMAGEDIR. If the images are in your /cgi-bin/ directory, the server will try to execute them instead of just sending them out.
  4. How can I specify different logfiles from the form interface?
    Just add a new field to the form with name=lo
  5. 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.

F. Design Decisions

or "Why didn't you do it this way?"
  1. Why don't you just use one image, and scale it with the WIDTH and HEIGHT attributes?
    or Can I change the background colour of my output?
    or Why not use HTML tables?
    These things don't work in HTML 2.0, which is the sort of HTML analog writes.
  2. Well then, why not use HTML 4.0?
    Unfortunately my bar charts don't work in HTML 4.0. Also, not all browsers can cope with some features of HTML 4.0, such as tables. HTML 2.0 works on all browsers.
  3. 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.
  4. 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.
  5. 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.
  6. My server lists local names in the logfile. Can you put a common suffix on them automatically?
    This wouldn't be a good idea, because things like "unknown" would get the suffix. You can always add them using HOSTALIAS.
  7. 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.
  8. 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.
  9. 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.
  10. 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 freeware, 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
Personal e-mail: analog-author@lists.isite.net
Need help with analog? Subscribe to the analog-help mailing list

[ Top | Up | Prev | Next | Map | Index ]