-h print a short help list explaining the meaning of the options. Use -hh to print an even more detailed help.
-d (daily mode) generate a short statistics report for the current day only. If a history file exists, the values for the previous days will be read from this history file and the corresponding logfile entries are skipped. If no history exist, the whole logfile will be processed and a history file will be created (unless -n is also given).
-m (monthly mode) generate a full statistics report for a whole month. In this mode, the values from the history file are used only to create a summary page for the last 12 months. The timestamps from the logfile entries feed into http-analyze always take preceedence over any records in the history unless the option -e is specified.
-B create buttons only and exit. The analyzer copies or links the required files and buttons from the central directory HA_LIBDIR into the output directory specified by -o.
-V (version) print the version number of http-analyze and exit.
-X print the URL to file a bug report. Use command substitution or cut & paste to pass this URL to your favourite browser, complete the form and submit it.
-3 create a VRML2.0-compliant 3D model of the statistics in addition to the regular statistics report. You need a VRML2.0 compliant plug-in such as CosmoPlayer from Cosmo Software to view the resulting model.
-a ignore all requests for URLs which required authentication. If your statistics report is publicly available, you probably do not want to have "secret URLs" listed in the report. See also the AuthURL directive in the configuration file.
-e use the history file even in full statistics (-m) mode. If this option is specified and you analyze the logfiles for several months in one run, http-analyze uses the results recorded in the history file for previous months and skips all logfile entries up to the first day of a new month not recorded in the history (usually the current month). This option is useful if you rotate your logfile once per quarter and want http-analyzeto skip all entries for previous months which have been processed already.
-f create an additional frames-based user interface for the statistics report. This interface requires JavaScript.
-g (generic interface) create a conventional (non-frames) user interface for the statistics report without the optional JavaScript-based navigation window. By default, the conventional interface includes JavaScript enhancements for window control, which only becomes active if the user has enabled JavaScript in his/her browser. Use this option only to completely disable JavaScript enhancements in the report even if the user has enabled JavaScript in the browser.
-k do not collect URLs under their base directory in the Top-N lists and in the overviews. Normally, URLs are collected under their base directory in those summaries, for example /dir/index.html will be accounted for under /dir/. If the option -k is given, URLs appear literally in all summaries as in previous versions of http-analyze.
-n (no update) do not update the history file. Since the history is used in the statistics report to create the main summary page with the results of last 12 months, this option must be used to not mess up the statistics report when analyzing logfiles for previous months (before the last one).
-q do not strip arguments to CGI scripts. By default, http-analyze strips arguments from CGI URLs to be able to lump them together. If your server creates dynamic HTML files through a CGI script, they are reduced to the URL of the script. If -q is specified, those argument lists are left intact and CGI URLs with different arguments are treated as different URLs. Note that this only works for requests to scripts, which receive their arguments using the GET, but not the POST method. See the section Interpretation of the results for an explanation of the request methods and the StripCGI directive.
-v (verbose) comment ongoing processing. Warnings are printed only in verbose mode. Use this option to see how http-analyze processes the logfile. If -v is doubled, a dot is printed for each new day in the logfile.
-x list each image URL literally rather than lumping them together under the item All images. Without this option, http-analyze collects all requests for images (*.png, *.gif, *.jpg, *.ief, *.pcd, *.rgb, *.xbm, *.xpm, *.xwd, *.tif) under the item All images to avoid cluttering up the lists with lots of image URLs. If -x is given, each image URL is listed literally unless matched by an explicit HideURL directive in the configuration file.
-b bufsize defines the size of the I/O buffer for reading the logfile (default: 64KB). Usually, the best size for I/O buffers is reported on a per-file base by the operating system, but some OS report the logical blocksize instead. If http-analyze -v reports a "Best buffer size for I/O" less than or equal to 8KB, you should specify a size of 16KB for pipes and up to 64KB for disk files to increase the processing speed.
-c cfgfile use cfgfile as the configuration file. A configuration file allows you to define the behaviour of http-analyze and to define the "look & feel" of the statistics report. See the section Configuration File for a description of possible settings, which are called directives in the following text.
-i newcfg create a new configuration file named newcfg. If an old configuration file was also specified using the -c option, older settings are retained in the new file. Any command line options take preceedence over old configuration file entries and will be transformed into the corresponding directive if possible. For example, specifying the output directory using the option -o outdir will produce an entry OutputDir outdir in the new configuration file.
-l libdir use libdir as the central library directory where http-analyze looks for the pre-requisite files, buttons, and license information (usually /usr/local/lib/http-analyze). This location can also be specified using the environment variable HA_LIBDIR.
-o outdir use outdir instead of the current directory as the output directory for the statistics report. http-analyze checks automatically for the required files and buttons in outdir. If they are missing or out of date, the analyzer copies them from HA_LIBDIR into the output directory. See also the OutputDir and the BtnSymlink directives.
-p prvdir defines the name of a "private" directory for the detailed lists of files, sites, browsers and referrer URLs. Because prvdir must reside directly under the output directory, its name may not contain any slashes ('/'). A private directory for detailed lists may be useful to restrict access to those lists if the rest of the statistics report is publicly available. Note that for restricting access to the complete statistics report, you do not need to place the detailed lists in a private directory. See also the PrivateDir directive.
-s subopt,... suppress certain lists in the report. See also the Suppress directive. subopt may be:
AVLoad to suppress the average load report (top seconds/minutes/hours),
URLs to suppress the overview and list of URLs/items,
URLList to suppress the list of URLs/items only,
Code404 to suppress the list of Code 404 (Not Found) responses,
Sites to suppress the overview and list of client domains,
RSites to suppress the overview of reverse client domains,
SiteList to suppress the list of all client domains/hostnames,
Agents to suppress the overview and list of browser types,
Referrer to suppress the overview and list of referrers URLs,
Country to suppress the list of countries,
Pageviews to suppress pageview rating (cached files are shown instead),
AuthReq to suppress requests which required authentication,
Graphics to suppress images such as graphs and pie charts,
Hotlinks to suppress hotlinks in the list of all URLs,
Interpol to suppress interpolation of values in graphs.
You can specify more than one subopt with a single -s option by separating them with commas as in -s Code404,Country. See also the Suppress directive in the configuration file.
-t num,... defines the size of certain lists. num is either a positive number or the value 0 to suppress the corresponding list. You specify the list by appending one of the following characters to the number shown here as '#' (note that the characters are case-sensitive):
#U # is the number of entries in the Top URL list (default: 30),
#L # is the number of entries in the Least URL list (default: 10),
#S # is the number of entries in the Top domain list (default: 30),
#A # is the number of entries in the Top agent/browser list (default: 30),
#R # is the number of entries in the Top referrer URL list (default: 30),
#d # is the number of entries in the Top days table (default: 7),
#h # is the number of entries in the Top hours table (default: 24),
#m # is the number of entries in the Top minutes table (default: 5),
#s # is the number of entries in the Top seconds table (default: 5),
#N # is the size of the navigation frame (default: 120 pixels)
You can specify more than one num with a single -t option by separating them with commas as in -t 20U,0L,20S. See also the Top* directives in the configuration file.
-u time defines the time-window for counting sessions. See Sessions in the section Interpretation of the results for an explanation of this term.
-w hits set the noise-level to hits. If a noise-level is defined, all URLs, sites, agents and referrer URLs with hits below this level are collected under the item Noise in the Top N lists and overviews to avoid cluttering up those lists. See also the NoiseLevel directive.
-I date skip all logfile entries until this day (exclusive). The date may be specified as DD/MM/YYYY or MM/YYYY, where MM is the number or the name of a month. Note that in full statistics mode, DD defaults to the first day of the month if absent. (If you specify any other day in this mode, unpredictable results may occur.) For example, -I Feb restricts the analysis to the February of the current year.
-E date skip all logfile entries starting from this day on (inclusive). The date format is the same as in -I. To restrict analysis to a certain period, specify the starting date using -I and the first date to be ignored using -E. For example, -I Jan/2000 -E Feb/2000 restricts the analysis to January 2000.
-F logfmt the logfile format to use. Valid keywords for logfmt are auto for auto-sensing the logfile format, clf for the NCSA Common Logfile Format, or dlf and elf for the two variants of the W3C Extended Logfile Format. See also the section about Logfile Formats.
-L lang use the language lang for warning messages and for the statistics report. See also the directive Language and the section Multi-National Language Support for more information about localization of http-analyze.
-C chrset force use of chrset for the browser's encoding when displaying the statistics report. This is needed for languages which require special character sets such as Chinese. See also HTMLCharSet and the section about Multi-National Language Support.
-G pattern,... defines additional pageview patterns. All URLs matching one of the patterns are classified as pageviews (text files). If pattern starts (doesn't start) with a slash (/), it is treated as a prefix (suffix) each URL is compared with. The suffix .html is pre-defined by default. You can add 9 more patterns here, for example .shtml, .text and /cgi-bin/. To specify more than one suffix with a single -G option, use commas to separate them. See also the PageView directive.
-H idxfile,... define additional directory index filenames. The name index.html is pre-defined by default. http-analyze truncates URLs containing an index filename so that they merge with `/' (their "base URL"). For example, /dir/index.html is truncated to /dir/. You can add up to 9 more names for directory index files, for example Welcome.html or home.html. To specify more than one name with a single -H option, use commas to separate them. See also the IndexFiles directive.
-O vname,... defines additional (virtual) names for this server to be classified as self-referrer URLs. The server's primary name (from -S or -U) is pre-defined already. If vname doesn't include a protocol specifier, two URLs with the http and the https protocol specifier are added for each name. To specify more than one server name with a single -O option, use commas to separate them. See also the VirtualNames directive.
-P prolog use prolog as the prolog file for a yearly VRML model (optional). The file 3Dprolog.wrl is included in the distribution as an example. Note that the resulting VRML model for a whole year may be suitable only for viewing on a fast system such as a workstation. The monthly VRML models do not need a prolog file and can be viewed on any platform without problems. See also the VRMLProlog directive.
-R docroot restrict logfile analysis to the given Document Root. If docroot is prefixed by a `!', analysis takes place for all directories except docroot. If docroot does not start with a slash (`/'), it is interpreted as the name of a virtual server, which is matched against the normally unused second field of a logfile entry. Intented for use with virtual servers with a separate Document Root or for which the hostname is recorded in the second field of a logfile entry. See also the DocRoot directive.
-S srvname use srvname for the server name. If no server name is defined, http-analyze uses the hostname of the system it is running on. The server name must be a full qualified domain name, not an URL. See also the ServerName directive.
-T TLDfile use TLDfile for the list of valid top-level domains (TLDs). This list currently includes all ISO two-letter country domains, the well-known domains .net, .int, .org, .com, .edu, .gov, .mil, .arpa, .nato, and the new CORE top-level domains .firm, .info, .shop, .arts, .web, .rec and .nom. The length of a top-level domain in the TLD file may not exceed 6 characters. Since http-analyze uses its built-in defaults if no TLD file is specified, you rarely will need this option. See also the TLDFile directive and the sample TLD file included in the distribution.
-U srvurl defines srvurl as the URL of the server to be used for hotlinks in URL lists. Useful if the report for your web server is published on another server. Also necessary for virtual servers to have http-analyze generate correct hypertext links in the report. See also the ServerURL directive.
-W 3Dwin defines the window for the VRML model. The keyword 3Dwin may be either extern or intern for display of the VRML model in a new, external window or in the lower half of the main frame respectively (meaningful only in the frames-based interface).
-Z showdom defines showdom as the number of components in a domain name which make up the organizational part. This is usually the second-level domain, so that the last two components of the domain name (for example, company.com) are used as the organizationial part. However, some countries prefer to use third-level domains, so that the hostnames use 4 or more components, where the last 3 are used for the organizational part (as in company.co.uk). To recognize such third-level domains, showdom can be set to the value 3. Hostnames with exactly 3 components will still be reduced to their second-level domain if showdom is set to 3.
logfile(s) This are the name(s) of the logfile(s) to process. If more than one file is given, they are processed in the order in which their names appear on the command line. http-analyze checks for the existance of all files before processing them. If a `-' is specified as the filename, standard input is read. If no file is given, the analyzer either processes the default logfile specified in the configuration file or the standard input.

Typical Usage

This is an example for the typical use of http-analyze on Unix systems:

$ http-analyze -v3f -o /usr/web/htdocs/stats /usr/ns-home/logs/access.log

On Windows systems, open a DOS window, change into the directory where you did install http-analyze and run a command similar to the following:

C:> http-analyze -v3f -o c:\web\htdocs\stats c:\programs\msiis\access.log

Note that on Windows systems, http-analyze searches for the required buttons and files in the subdirectory files of the current directory it is running in. Therefore, if you get error messages about missing buttons make sure you did change into the directory the analyzer is installed in (by default the installation directory is C:\Programs\RENT-A-GURU\http-analyze2.4).