home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / httpan22.zip / http-analyze.man < prev    next >
Text File  |  1999-03-14  |  116KB  |  2,113 lines

  1.  
  2.  
  3.  
  4. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      hhttttpp--aannaallyyzzee - a fast log analyzer    for web    servers
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      hhttttpp--aannaallyyzzee [--{{hhddmmVV}}] [--33aaeeffggnnqqvvxxyy] [--cc _c_f_g_f_i_l_e] [--ll _l_i_b_d_i_r] [--oo _o_u_t_d_i_r]
  13.      [--pp _p_r_i_v_d_i_r] [--ss _s_u_b_o_p_t,...]  [--tt _n_u_m,...]  [--uu _t_i_m_e] [--ww _h_i_t_s]
  14.      [--FF _f_o_r_m_a_t] [--GG _s_u_f_f_i_x,...]  [--HH _i_d_x_f_i_l_e,...]    [--II _d_a_t_e] [--EE _d_a_t_e]
  15.      [--OO _v_i_r_t_n_a_m_e,...]  [--PP    _p_r_o_l_o_g]    [--RR _d_o_c_r_o_o_t] [--SS _s_r_v_n_a_m_e]
  16.      [--TT _T_L_D_f_i_l_e] [--UU _s_r_v_u_r_l] [--WW _3_D_w_i_n] [_l_o_g_f_i_l_e[...]]
  17.  
  18. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.      hhttttpp--aannaallyyzzee analyzes the logfile of a web    server and creates a detailed
  20.      summary of    the servers's access load in graphical,    tabular, and three-
  21.      dimensional form.    In auto-sense mode (default), hhttttpp--aannaallyyzzee recognizes
  22.      the logfile format    automatically.    Supportet formats for logfiles are the
  23.      _C_o_m_m_o_n _L_o_g_f_i_l_e _F_o_r_m_a_t (_C_L_F) and two forms of the so-called    _E_x_t_e_n_d_e_d
  24.      _L_o_g_f_i_l_e _F_o_r_m_a_t (_E_L_F), which is basically the CLF plus user-agent and
  25.      referrer URL information.    All web    servers    support    at least the _C_o_m_m_o_n
  26.      _L_o_g_f_i_l_e _F_o_r_m_a_t and    most of    them can be configured to produce the _E_x_t_e_n_d_e_d
  27.      _L_o_g_f_i_l_e _F_o_r_m_a_t.
  28.  
  29.      hhttttpp--aannaallyyzzee has been highly optimized to process large logfiles at
  30.      maximum speed.  There are two modes of operation with different levels of
  31.      detail in the logfile analysis:
  32.  
  33.      _S_h_o_r_t _s_t_a_t_i_s_t_i_c_s ("daily" mode, option --dd):
  34.       hhttttpp--aannaallyyzzee generates a short summary of the    server usage per day
  35.       for the current month.  In this mode,    it uses    a history file to skip
  36.       entries which    have been processed already. By    avoiding detailed
  37.       analysis of the logfile entries, hhttttpp--aannaallyyzzee    requires only a
  38.       fraction of the time which would be required to generate a full
  39.       statistics report.
  40.  
  41.      _F_u_l_l _s_t_a_t_i_s_t_i_c_s ("monthly"    mode, option --mm):
  42.       In full statistics mode, the analyzer    generates a complete report
  43.       for a    whole month, which contains much more details than the short
  44.       statistics report.  The history file is used only to produce a
  45.       summary for the last 12 months without having    to analyze the
  46.       logfiles for those previous periods again.  In full statistics mode
  47.       the actual period to analyze is determined by    analyzing the
  48.       timestamps of    the first and last logfile entry read.    This is    the
  49.       default if no    mode is    specified explicitely.
  50.  
  51.      Usually you run hhttttpp--aannaallyyzzee in full statistics mode only,    since this
  52.      report also includes all the information available    in short statistics.
  53.      However, if your logfiles are rather large    and if the analyzer causes
  54.      significant load while generating the full    statistics report, you could
  55.      run it more frequently in short statistics    mode with update intervals in
  56.      the range of 30 minutes to    some hours to create an    up-to-date report, and
  57.      then run it in full statistics mode less often, for example once per day
  58.      or    week, to generate a detailed report.  The operation modes have been
  59.      named after their periods covered,    namely _d_a_i_l_y for the short and _m_o_n_t_h_l_y
  60.  
  61.  
  62.  
  63. Page 1                                 (printed 9/15/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  71.  
  72.  
  73.  
  74.      for the full statistics mode.
  75.  
  76.      Note that in full statistics mode the analyzer needs to process all
  77.      logfile entries since the beginning of the    current    month, while in    short
  78.      statistics    mode it    skips all entries up to    the current day    if it finds a
  79.      valid history.  Therefore you should rotate the logfile at    the first day
  80.      of    a new month and    then generate a    final statistics report    for the
  81.      previous month using the logfile just rotated.
  82.  
  83.      If    disk space is a    concern, you can set up    a scheme where the logfiles
  84.      are rotated and compressed    using some compression program once per    week
  85.      or    even once per day.  In this case, you have to concatenate all logfiles
  86.      for this month in order of    ascending date before feeding them into    the
  87.      analyzer to have it generate a full statistics report.  On    the first day
  88.      of    the new    month, if a detailed report for    the previous month has been
  89.      generated,    you can    save the corresponding logfile(s) somewhere and
  90.      finally remove it or them from your production system.
  91.  
  92.    LLLLOOOOGGGGFFFFIIIILLLLEEEE FFFFOOOORRRRMMMMAAAATTTTSSSS
  93.      hhttttpp--aannaallyyzzee recognizes three logfile formats, which can be configured in
  94.      most web servers:
  95.  
  96.      CCoommmmoonn LLooggffiillee FFoorrmmaatt ((CCLLFF))
  97.  
  98.      The _C_o_m_m_o_n    _L_o_g_f_i_l_e    _F_o_r_m_a_t is supported by all web servers.     The entries
  99.      contain the following information:
  100.  
  101.       dns-name - auth-user [date] "clf-request" clf-status ct-length
  102.  
  103.      where the fields have following meaning:
  104.  
  105.      _d_n_s-_n_a_m_e     The IP    number of the system accessing the web server.    If
  106.          there is an entry in the _D_o_m_a_i_n _N_a_m_e _S_y_s_t_e_m (_D_N_S) for this IP
  107.          number    and the    web server is configured to do DNS lookups,
  108.          the corresponding hostname is logged instead.
  109.  
  110.      -         Unused.
  111.  
  112.      _a_u_t_h-_u_s_e_r     The username provided by the client to    access files which
  113.          require authentication.
  114.  
  115.      [_d_a_t_e]     The date of the access    as [DD/MMM/YYYY:HH:MM:SS +-ZZZZ].
  116.  
  117.      _c_l_f-_r_e_q_u_e_s_t The request in    format "method URI proto", where _m_e_t_h_o_d    is one
  118.          of GGEETT, HHEEAADD, PPOOSSTT, PPUUTT, BBRROOWWSSEE, OOPPTTIIOONNSS, DDEELLEETTEE or TTRRAACCEE;
  119.          _U_R_I is    the _U_n_i_f_o_r_m _R_e_s_o_u_r_c_e _I_d_e_n_t_i_f_i_e_r, and _p_r_o_t_o is the
  120.          protocol parameter containing the HTTP    version.  The _c_l_f-
  121.          _r_e_q_u_e_s_t field is surrounded by    double quotes.
  122.  
  123.      _c_l_f-_s_t_a_t_u_s     This is the (numerical) response code from the    server.
  124.  
  125.      _c_t-_l_e_n_g_t_h     Depending on the server, this number is either    the size of
  126.  
  127.  
  128.  
  129. Page 2                                 (printed 9/15/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  137.  
  138.  
  139.  
  140.          the document or the data actually sent    over the wire.
  141.  
  142.      Following is an example for an entry in _C_o_m_m_o_n _L_o_g_f_i_l_e _F_o_r_m_a_t:
  143.  
  144.       car.4rent.de - - [01/Aug/1998:00:00:02 +0100] "GET /doc.html HTTP/1.1" 200 393
  145.  
  146.  
  147.      CCoommbbiinneedd LLooggffiillee FFoorrmmaatt ((DDLLFF))
  148.  
  149.      Some server use the so-called _C_o_m_b_i_n_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t to add the referrer
  150.      URL and user-agent    (browser) identification to the    logfile    entries.  It
  151.      looks like    the CLF    format followed    by the referrer    URL and    the user-
  152.      agent, where the latter two fields    are surrounded by double quotes:
  153.  
  154.       CLF "referrer_URL" "user_agent"
  155.  
  156.  
  157.      This is an    example    for an entry in    _C_o_m_b_i_n_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t    (wrapped on
  158.      two lines here for    readability only):
  159.  
  160.       car.4rent.de - - [01/Aug/1998:00:00:02 +0100] "GET /doc.html HTTP/1.1" 200 393
  161.       "http://inet-tv.net/hot.html" "Mozilla/4.05 (X11;    I; IRIX64 6.4 IP30)"
  162.  
  163.  
  164.      Unfortunately, the    double quotes sometimes    appear in broken referrer
  165.      URLs, as for example in:
  166.  
  167.       "http://www.some.host/wiredlink.html TARGET=newwin""
  168.  
  169.      Sometimes there are even referrer URLs which contain double quotes
  170.      followed by blanks, which make such entries not parseable in an
  171.      unambiguous way.  Although    hhttttpp--aannaallyyzzee recognizes    the _C_o_m_b_i_n_e_d _L_o_g_f_i_l_e
  172.      _F_o_r_m_a_t automatically, and tries to    do it's    best to    parse the referrer URL
  173.      correctly,    the following format, which avoids this    ambiguity, should be
  174.      preferred if possible.
  175.  
  176.      EExxtteennddeedd LLooggffiillee FFoorrmmaatt ((EELLFF))
  177.  
  178.      The _E_x_t_e_n_d_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t contains also the user-agent and the referrer
  179.      URL as in the _C_o_m_b_i_n_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t, but    in the opposite    order and
  180.      without the surrounding double quotes:
  181.  
  182.       CLF user_agent referrer_URL
  183.  
  184.      If    this _E_x_t_e_n_d_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t is    used, hhttttpp--aannaallyyzzee searches backwards
  185.      for the protocol specification of the referrer URL    (to be precise,    it
  186.      looks for the colon in hhttttpp::) and then for    the preceeding blank. This
  187.      way, even broken referrer URLs which contain blanks are handled
  188.      correctly.    To select this format, just edit the configuration file    of
  189.      your web server and select    the _E_L_F    order of the user-agent    and referrer
  190.      URL fields.  This is an example for an entry in _E_x_t_e_n_d_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t
  191.      (wrapped on two lines here    for readability    only):
  192.  
  193.  
  194.  
  195. Page 3                                 (printed 9/15/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  203.  
  204.  
  205.  
  206.       car.4rent.de - - [01/Aug/1998:00:00:02 +0100] "GET /doc.html HTTP/1.1" 200 393
  207.       Mozilla/4.05 (X11; I; IRIX64 6.4 IP30) http://inet-tv.net/index.html
  208.  
  209.  
  210.    SSSSTTTTAAAATTTTIIIISSSSTTTTIIIICCCCSSSS RRRREEEEPPPPOOOORRRRTTTT
  211.      Depending on the operation    mode, there are    two reports:  a    full
  212.      statistics    report and a short statistics report, which might be updated
  213.      more frequently.  While the full statistics report    contains much more
  214.      details, the short    statistics report covers only the most important
  215.      values.
  216.  
  217.      FFuullll ssttaattiissttiiccss mmooddee
  218.  
  219.      By    default, hhttttpp--aannaallyyzzee runs in full statistics mode.  Due to technical
  220.      reasons, a    full statistics    report will not    be created before the second
  221.      day of a new month, although the totals for the first day of the new
  222.      month on the summary main page of the report will be updated.  A full
  223.      statistics    report contains    a detailed summary including (see the section
  224.      _I_n_t_e_r_p_r_e_t_a_t_i_o_n _o_f _t_h_e _r_e_s_u_l_t_s for an explanation of the terms):
  225.  
  226.        o  the number of    hits, files, pageviews,    sessions, and data sent    by
  227.       year,    month, and day
  228.        o  the total amount of data requested, transferred, and saved by    cache
  229.        o  the total number of unique URLs, sites, sessions, agents, and
  230.       referrers
  231.        o  the total number of all response codes other than 200    (_O_K)
  232.        o  the total number of reuqests which required authentication
  233.        o  the average load per week, day, hour,    minute and second
  234.        o  the top 7 days, 24 hours, 5 minutes and 5 seconds
  235.        o  the top 30 most commonly accessed URLs (hits,    pageviews, sessions,
  236.       data sent)
  237.        o  the 10 least frequently accessed URLs    (hits, pageviews, sessions,
  238.       data sent)
  239.        o  the top 30 client domains, browser types, and    referrer hosts
  240.        o  the overview/detailed    list of    all files, sitenames, browser types,
  241.       and referrer URLs
  242.        o  the list of all Code 404 (_N_o_t    _F_o_u_n_d) responses
  243.  
  244.      SShhoorrtt ssttaattiissttiiccss mmooddee
  245.  
  246.      In    short statistics mode, hhttttpp--aannaallyyzzee creates a short summary including
  247.      only the number of    hits, files, pageviews,    sessions, and the amount of
  248.      data sent per day.     Since the short statistics report does    not contain as
  249.      many details as a full statistics report, it requires only    a fraction of
  250.      processing    time to    create it.
  251.  
  252.      A short statistics    report is created if requested explicitely and also in
  253.      full statistics mode for the current month. This way, on the first    day of
  254.      a new month, when no full statistics can be generated due to technical
  255.      reasons, a    short statistics report    is available at    least.
  256.  
  257.      Running hhttttpp--aannaallyyzzee in short statistics mode explicitely may be useful
  258.  
  259.  
  260.  
  261. Page 4                                 (printed 9/15/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  269.  
  270.  
  271.  
  272.      if    the load on the    server increases when creating full reports very
  273.      frequently.  For example, a short statistics report can be    generated
  274.      twice per hour, while a full statistics report is created only twice per
  275.      day.
  276.  
  277.    UUUUSSSSEEEERRRR    IIIINNNNTTTTEEEERRRRFFFFAAAACCCCEEEESSSS
  278.      There are two user    interfaces to the statistics report:  a    conventional
  279.      interface suitable    for any    browser    and a frames-based interface which
  280.      requires JavaScript.
  281.  
  282.      TThhee ccoonnvveennttiioonnaall iinntteerrffaaccee
  283.  
  284.      The conventional interface    appears    as in version 1.9e if JavaScript is
  285.      disabled in your browser or the option --gg was specified at    invocation of
  286.      hhttttpp--aannaallyyzzee.  If JavaScript is enabled, the following separate windows
  287.      are used for different parts of the report    to allow for easy navigation:
  288.  
  289.      _T_h_e _M_a_i_n _w_i_n_d_o_w
  290.       This window is used for most parts of    the report such    as the yearly,
  291.       monthly, daily and weekly summaries, the _T_o_p _N lists and the
  292.       overviews.  Hotlinks in the _T_o_p _N most often point to    the
  293.       corresponding    page, which is then displayed in the _V_i_e_w_e_r _w_i_n_d_o_w if
  294.       the link is followed,    while hotlinks in the overviews    point to the
  295.       detailed lists, which    show up    in the _L_i_s_t _w_i_n_d_o_w.
  296.  
  297.      _T_h_e _N_a_v_i_g_a_t_i_o_n _w_i_n_d_o_w
  298.       If JavaScript    is enabled in your browser and a summary for a year or
  299.       a month is loaded in the main    window,    a small    window containing a
  300.       navigation panel will    pop up.     If JavaScript is disabled, the
  301.       navigation links appear at the bottom    of the monthly summary pages.
  302.       In this case,    use the    _B_a_c_k button of your browser for    navigation.
  303.  
  304.      _T_h_e _L_i_s_t _w_i_n_d_o_w
  305.       This window is used for the detailed lists of    URLs, sites, browser
  306.       types    and referrer URLs.  A separate window for those    (often large)
  307.       lists    causes them to be loaded only once if the links    in the _M_a_i_n
  308.       _w_i_n_d_o_w are followed and the _L_i_s_t _w_i_n_d_o_w is still open.
  309.  
  310.      _T_h_e _V_i_e_w_e_r    _w_i_n_d_o_w
  311.       This window is used for external pages which are loaded by following
  312.       hotlinks in the statistics report. This way, you can visit the pages
  313.       referred to in the report without having to go forth and back
  314.       between the report and the pages listed there.
  315.  
  316.      _T_h_e _3_D _w_i_n_d_o_w
  317.       This window is used for the 3D (VRML)    model of the statistics.  If
  318.       you have JavaScript enabled, the window's size will be set to    the
  319.       smallest possible size so that the 3D    model fits onto    the screen or
  320.       to the dimensions given in the 33DDWWiinnSSiizzee directive.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327. Page 5                                 (printed 9/15/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  335.  
  336.  
  337.  
  338.      TThhee ffrraammeess--bbaasseedd iinntteerrffaaccee
  339.  
  340.      The frames-based interface    requires a JavaScript-enabled browser.    It
  341.      contains the following frames and windows:
  342.  
  343.      _T_h_e _N_a_v_i_g_a_t_i_o_n _f_r_a_m_e
  344.       This frame contains navigation buttons and text.  You    can specify
  345.       it's width using the NNaavviiggFFrraammee directive in the configuration file.
  346.  
  347.      _T_h_e _M_a_i_n _f_r_a_m_e
  348.       This frame is    used for most parts of the report such as the yearly,
  349.       monthly, daily and weekly summaries, the _T_o_p _N lists and the
  350.       overviews.  Hotlinks in the _T_o_p _N lists point    most often to the
  351.       corresponding    page, which is displayed in the    _V_i_e_w_e_r _w_i_n_d_o_w if the
  352.       link is followed, while hotlinks in the overviews point to the
  353.       detailed lists, which    show up    in the _L_i_s_t _w_i_n_d_o_w.
  354.  
  355.      _T_h_e _L_i_s_t _w_i_n_d_o_w
  356.       This (separate) window is used for the detailed lists    of URLs,
  357.       sites, browser types and referrer URLs.  A separate window for those
  358.       (often large)    lists causes them to be    loaded only once if the    links
  359.       in the _M_a_i_n _w_i_n_d_o_w are followed and the _L_i_s_t _w_i_n_d_o_w is still open.
  360.  
  361.      _T_h_e _V_i_e_w_e_r    _w_i_n_d_o_w
  362.       This (separate) window is used for external pages which are loaded
  363.       by following the hotlinks in the statistics report. This way,    you
  364.       can visit the    pages referred to in the report    without    having to go
  365.       forth    and back between the report and    the pages listed there.
  366.  
  367.      _T_h_e _3_D _w_i_n_d_o_w
  368.       This window is used for the 3D (VRML)    model of the statistics.
  369.       Depending on the setting of the 33DDWWiinnddooww directive in    the
  370.       configuration    file, this is either a separate    window (_e_x_t_e_r_n_a_l) or a
  371.       new frame (_i_n_t_e_r_n_a_l) inside the _M_a_i_n _f_r_a_m_e (actually,    two frames are
  372.       created which    replace    the former _M_a_i_n    _f_r_a_m_e when the 3D model    is
  373.       being    displayed).  In    case of    a separate (external) _3_D _w_i_n_d_o_w, you
  374.       can specify it's dimensions using the    33DDWWiinnSSiizzee directive.
  375.  
  376.      TThhee 33DD mmooddeell
  377.  
  378.      The 3D model requires a VRML 2.0 plug-in such as CosmoPlayer from Cosmo
  379.      Software (http://cosmo.sgi.com/). Using this plug-in, which is available
  380.      for Netscape on Silicon Graphics systems and Netscape/MSIE    on Windows NT,
  381.      you can "walk" or "fly" through the model and view    the scene from all
  382.      sides.  And if you    look at    the models, don't forget to touch the buddha
  383.      appearing in our 3D logo on top of    the statistics report in the yearly
  384.      summary pages!
  385.  
  386.      The 3D model contains two _s_c_e_n_e_s (statistics models): one scene showing
  387.      the hits, 304's, sites and    data sent by day and another scene showing the
  388.      server's load by weekday and hour.     To view the second scene, click on
  389.      the _s_c_e_n_e _s_w_i_t_c_h on the right top of the model.  To navigate through the
  390.  
  391.  
  392.  
  393. Page 6                                 (printed 9/15/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  401.  
  402.  
  403.  
  404.      3D    space, use the _V_i_e_w_p_o_i_n_t_s and the CosmoPlayer _N_a_v_i_g_a_t_i_o_n _p_a_n_e_l.     For
  405.      customization of CosmoPlayer use the pop-up menu, which appears if    you
  406.      press the right-most mouse    button.
  407.  
  408.      The 3D representation of hits by weekday and hour in the second scene
  409.      allow easy    identification of the time your    server has been    most busy
  410.      serving requests.
  411.  
  412.    IIIINNNNTTTTEEEERRRRPPPPRRRREEEETTTTAAAATTTTIIIIOOOONNNN OOOOFFFF TTTTHHHHEEEE RRRREEEESSSSUUUULLLLTTTTSSSS
  413.      hhttttpp--aannaallyyzzee shows    you a summary of the content of    your server's logfile.
  414.      It    collects information from the logfile entries, sets them into some
  415.      relationship and creates a    summary    as a result of this analysis.  The
  416.      following is an explanation of the    terms used in the report:
  417.  
  418.      HHiittss (color key: green) A hit is any response from    the server on behalf
  419.       of a request sent from a browser. This includes aannyy response from
  420.       the server, not only text files or documents.     For example, if a
  421.       HTML page is requested, which    has two    inline images, the server
  422.       would    generate three hits:  one hit for the HTML page    itself and two
  423.       hits for the inline images.  On the other side, if an    invalid    URL is
  424.       requested, the server    would respond with a Code 404 (_N_o_t _F_o_u_n_d)
  425.       status code, which also generates a hit.
  426.  
  427.      FFiilleess
  428.       (color key: blue) If the user    requests a document and    the server
  429.       successfully sends back a file for this request, this    is counted as
  430.       a Code 200 (_O_K) response. Any    such response is counted for as    a
  431.       file.    Again, "file" here means any kind of a file, no    matter whether
  432.       it contains text (documents, directory listings) or binary data
  433.       (images, applets, etc.).
  434.  
  435.      CCooddee 330044 ((NNoott MMooddiiffiieedd))
  436.       (color key: yellow) A    Code 304 (_N_o_t _M_o_d_i_f_i_e_d)    response is generated
  437.       by the server    if a document hasn't changed since the last time it
  438.       was transferred to some site.
  439.  
  440.       If a browser has access to a local copy of a document    requested by
  441.       the user - either through it's local disk cache or through a caching
  442.       server on the    way between the    browser    and the    web server -, it sends
  443.       out a    conditional request, which contains the    modification date of
  444.       the document as stored in the    browser's or the caching server's
  445.       local    cache.    If the document    has changed since then,    the server
  446.       re-transmits the new document.  If it    hasn't changed meanwhile, the
  447.       server sends back a Code 304 response    and the    browser    uses it's
  448.       local    copy.
  449.  
  450.       While    this technique can significantly reduce    network    traffic, it
  451.       causes an inaccuracy in the statistics report    regarding the number a
  452.       document is actually transmitted to some visitor because of two
  453.       reasons:  First, the browser usually sends only one such a
  454.       conditional request per session if it    still holds an up-to-date copy
  455.       of the file.    Second,    caching    servers    often serve many thousands of
  456.  
  457.  
  458.  
  459. Page 7                                 (printed 9/15/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  467.  
  468.  
  469.  
  470.       users.  So if    you see    some requests from a caching server of an
  471.       online service for example, this could be caused by thousands    of
  472.       users    requesting a certain document or just one person with a
  473.       browser configured to    not cache anything at all.  However, the ratio
  474.       between "files" and "304's" reflects the efficiency of overall
  475.       caching mechanisms for at least those    hits which made    their way to
  476.       the server.
  477.  
  478.      PPaaggeevviieewwss
  479.       (color key: magenta) The analyzer classifies all URLs    which match
  480.       certain patterns as pageviews    (text files).  Patterns    may be defined
  481.       using    an option or a directive in the    configuration file.  The
  482.       analyzer automatically pre-defines the suffix    ..hhttmmll as a pageview.
  483.       Classifying requests of certain files    as pageviews allows you    to
  484.       estimate the number of "real"    documents transmitted by your server.
  485.       If used correctly, hhttttpp--aannaallyyzzee rates    text files (documents) as
  486.       pageviews, which do not include images, CGI scripts, Java applets or
  487.       any other HTML objects.
  488.  
  489.      KKBByytteess ttrraannssffeerrrreedd
  490.       (color key: orange) This is the amount of data sent during the whole
  491.       summary period as reported by    the server. Note that some servers do
  492.       log the size of a document instead of    the actual number of bytes
  493.       transferred. While in    most cases this    is the same, if    a user
  494.       interrupts the transmission by pressing the browser's    stop button
  495.       before the page has been received completely,    some servers (for
  496.       example all Netscape web servers) do not log the amount of data
  497.       transferred but the amount of    data which _w_o_u_l_d have been transferred
  498.       if the user would have completely loaded the page.
  499.  
  500.      KKBByytteess rreeqquueesstteedd
  501.       This is the amount of    data requested during the whole    summary
  502.       period.  hhttttpp--aannaallyyzzee    computes this number by    summing    up the values
  503.       of _K_B_y_t_e_s _t_r_a_n_s_f_e_r_r_e_d    and _K_B_y_t_e_s _s_a_v_e_d _b_y _c_a_c_h_e (see below).
  504.  
  505.      KKBByytteess ssaavveedd bbyy ccaacchhee
  506.       The amount of    data saved by various caching mechanisms.  This    value
  507.       is computed by multiplying the number    of Code    304 (_N_o_t _M_o_d_i_f_i_e_d)
  508.       requests per file with the size of the corresponding file.  Because
  509.       hhttttpp--aannaallyyzzee can determine the size of a file    only if    the file has
  510.       been requested at least once in the same summary period, the values
  511.       for _K_B_y_t_e_s _s_a_v_e_d _b_y _c_a_c_h_e and    _K_B_y_t_e_s _r_e_q_u_e_s_t_e_d are just
  512.       approximations of the    actual values.
  513.  
  514.      UUnniiqquuee UURRLLss
  515.       Unique URLs are the number of    all different, valid URLs requested in
  516.       a given summary period.  This    shows you the number of    all different
  517.       files    on your    web server requested at    least once in the
  518.       corresponding    summary    period.
  519.  
  520.      RReeffeerrrreerr UURRLLss
  521.       If a document    on your    server is requested because a hypertext    link
  522.  
  523.  
  524.  
  525. Page 8                                 (printed 9/15/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  533.  
  534.  
  535.  
  536.       to it    on a page of a foreign web server is followed, the name    of
  537.       this server gets logged as the _r_e_f_e_r_r_e_r _U_R_L (the URL of the page
  538.       referring to your document).    Note, that if the URL is specified
  539.       manually in the browser, no referrer URL gets    logged.     Such requests
  540.       are collected    under _U_n_k_n_o_w_n in the referrer URL part of the report.
  541.  
  542.      SSeellff--rreeffeerrrreerr UURRLLss
  543.       If a document    loaded by the browser contains any inline objects
  544.       (images, applets, etc.) on the same server, they are requested for
  545.       in separate requests.     Those requests    are so-called self-referrers,
  546.       because they have the    own hostname in    the referrer URL.  If
  547.       configured correctly,    hhttttpp--aannaallyyzzee separates all self-referrer URLs
  548.       from the rest    of the external    referrer URLs in the statistics
  549.       report.
  550.  
  551.      UUnniiqquuee ssiitteess
  552.       This is the number of    all unique hosts which did access the server
  553.       during the period of the statistics report.  Each different host
  554.       gets counted only once per period, so    this number tells you how many
  555.       sites    did request documents from your    server per month.
  556.  
  557.      SSeessssiioonnss
  558.       (color key: red) Similar to unique sites, this is the    number of
  559.       unique hosts which did access    the server during a given _t_i_m_e-_w_i_n_d_o_w,
  560.       which    defaults to one    day for    backward compatibility.     This number
  561.       therefore reflects the different sites per day if the    time-window
  562.       hasn't be changed with the option --uu or the SSeessssiioonn directive    in the
  563.       configuration    file.  You can increase    or decrease the    time-window
  564.       used to calculate sessions.  For example, if you set a time-window
  565.       of two hours,    all accesses from the same host    in less    than 2 hours
  566.       after    it's first access are lumped together into one session.     Any
  567.       access more than 2 hours later will be counted as a new session.
  568.  
  569.      RReeqquueesstt MMeetthhoodd
  570.       The browser uses a certain method to request a document from a web
  571.       server.  For example,    documents, images, applets, etc. are usually
  572.       requested using the GGEETT method.  Other often used methods are    the
  573.       HHEEAADD method to request information about a document such as it's
  574.       size without have the    server send it's actual    content, and the PPOOSSTT
  575.       method, a special way    to transfer user input from forms into CGI
  576.       scripts.
  577.  
  578.       Although all logfile entries with a valid request method are
  579.       accounted for    as hits, only URLs requested using either the GGEETT or
  580.       the PPOOSSTT method are processed    further.  The remaining    hits are
  581.       summarized under _R_e_q_u_e_s_t _M_e_t_h_o_d_s _o_t_h_e_r _t_h_a_n _G_E_T/_P_O_S_T.
  582.  
  583.      RReessppoonnssee CCooddeess
  584.       In reply of a    request    from a browser,    the server sends back a    status
  585.       code such as a Code 200 (_O_K) or Code 404 (_N_o_t    _F_o_u_n_d) response.
  586.       Similar to the request methods, the analyzer will account any    valid
  587.       response code    as a hit, but it will only process those URLs, which
  588.  
  589.  
  590.  
  591. Page 9                                 (printed 9/15/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  599.  
  600.  
  601.  
  602.       did cause a Code 200 (_O_K), Code 304 (_N_o_t _M_o_d_i_f_i_e_d), or Code 404 (_N_o_t
  603.       _F_o_u_n_d) response from the server.  All    other responses    are summarized
  604.       in the monthly summary page under _O_t_h_e_r _R_e_s_p_o_n_s_e _C_o_d_e_s.  See the
  605.       HTML specification at    _h_t_t_p://_w_w_w._w_3._o_r_g/ for information about all
  606.       valid    response codes.     hhttttpp--aannaallyyzzee recognizes HTTP/1.1 responses
  607.       according to RFC2068.
  608.  
  609.  
  610.      WWhhaatt tthhee rreeppoorrtt ddooeess nnoott sshhooww ......
  611.  
  612.      Due to the    nature of the HTTP protocol used for communication between the
  613.      browser and the server and    due to the type    of information available in
  614.      the server's logfile, the analyzer    can nnoott:
  615.  
  616.       o  identify a    person as a visitor of your server,
  617.       o  count the number of visitors of your server,
  618.       o  track the way a visitor takes through your    site,
  619.       o  measure the time a    visitor    sees a page of your server,
  620.       o  inform you    about the sudden death of the visitor while looking at
  621.          your homepage,
  622.       o  nor show any other    information not    in the server's    logfile.
  623.  
  624.      Even if you classify certain URLs as pageviews or use a specific time-
  625.      window to count sessions, this does in no way tell    you anything about the
  626.      number of visitors    of your    server.
  627.  
  628.      However, if you use an appropriate    server structure with files grouped by
  629.      type or if    you use    the HHiiddeeUURRLL directive to group unstructered files
  630.      together, the statistics report can show a    trend or a tendency.
  631.      Following the numbers for some time, you soon get a feeling which
  632.      documents are most    interesting for    the visitors of    your site.
  633.  
  634.    OOOOUUUUTTTTPPPPUUUUTTTT FFFFIIIILLLLEEEESSSS
  635.      A statistics report is created in the output directory specified at
  636.      invocation    of hhttttpp--aannaallyyzzee    or in the current directory if no output
  637.      directory is given.  Starting with    version    2.0, all output    files are
  638.      placed into separate subdirectories to reduce the number of directory
  639.      entries per report.  Those    subdirectories are named wwwwww_Y_Y_Y_Y, where    _Y_Y_Y_Y
  640.      is    the year of the    period covered by the report.  This ensures century
  641.      compliance    for the    latest version of hhttttpp--aannaallyyzzee and also    makes older
  642.      (non-compliant) files from    the 1.9e version fully Year 2000 compliant
  643.      without having to re-generate the old statistics.    Of course, all HTML
  644.      output files created by hhttttpp--aannaallyyzzee are HTML 3.2 compliant and have been
  645.      validated using _w_e_b_l_i_n_t.
  646.  
  647.      The analyzer can be instructed to place files with    "private" data such as
  648.      overviews and detailed lists of files, hosts, browser types, and referrer
  649.      URLs in a separate    ("private") subdirectory. The web server then can be
  650.      configured    to request authentication for access of    files in this
  651.      directory (see the    option --pp and the PPrriivvaatteeDDiirr directive in the
  652.      configuration file).  NNoottee:: for protection    of the whole report, you would
  653.      configure your web    server to request authentication for any file in the
  654.  
  655.  
  656.  
  657. Page 10                                 (printed 9/15/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  665.  
  666.  
  667.  
  668.      statistics    output directory.  A "private" area is needed only if you want
  669.      to    secure certain lists, while granting access to the rest    of the
  670.      statistics    report.
  671.  
  672.      The following list    shows all files    created    for a full statistics report:
  673.  
  674.      iinnddeexx..hhttmmll
  675.       is the main page for a given year and    contains the total number of
  676.       _h_i_t_s,    _f_i_l_e_s, _p_a_g_e_v_i_e_w_s, _s_e_s_s_i_o_n_s and _d_a_t_a _s_e_n_t per month in tabular
  677.       and graphical    form for the last 12 months.  At the end of the    year,
  678.       this file reflects the values    for the    whole year, while the values
  679.       for the last 12 months will be written into another index file in a
  680.       new directory    wwwwww_Y_Y_Y_Y.  This page is displayed in the    _M_a_i_n _w_i_n_d_o_w.
  681.  
  682.      ssttaattss_M_M_Y_Y..hhttmmll and    ttoottaallss_M_M_Y_Y..hhttmmll
  683.       contain the total summary for    the month _M_M of    year _Y_Y    in tabular
  684.       form.     The file ttoottaallss_M_M_Y_Y..hhttmmll is the frames    version    of the report
  685.       in ssttaattss_M_M_Y_Y..hhttmmll.  In the conventional interface, this page is
  686.       displayed in the _M_a_i_n    _w_i_n_d_o_w.
  687.  
  688.      jjssnnaavv..hhttmmll    and nnaavv_M_M_Y_Y..hhttmmll
  689.       Navigation panels for    JavaScript-enabled browsers, shown in the
  690.       _N_a_v_i_g_a_t_i_o_n _w_i_n_d_o_w.
  691.  
  692.      ddaayyss_M_M_Y_Y..hhttmmll
  693.       contains the number of hits, files, pageviews, sessions and data
  694.       sent per day for the month _M_M    of year    _Y_Y.  This report is displayed
  695.       in the _M_a_i_n _w_i_n_d_o_w.
  696.  
  697.      aavvllooaadd_M_M_Y_Y..hhttmmll
  698.       contains a graphical representation of the average hits per
  699.       weekday/hour and the top seconds, minutes, hours, and    days of    the
  700.       current period.  Appears in the _M_a_i_n _w_i_n_d_o_w.
  701.  
  702.      ccoouunnttrryy_M_M_Y_Y..hhttmmll
  703.       contains the list of all countries the visitors of your web server
  704.       came from.  This information is determined by    analyzing the _t_o_p-
  705.       _l_e_v_e_l    _d_o_m_a_i_n (_T_L_D) of    the hostname assigned to a system in the
  706.       _D_o_m_a_i_n _N_a_m_e _S_y_s_t_e_m (_D_N_S).  The country report    is displayed in    the
  707.       _M_a_i_n _w_i_n_d_o_w.
  708.  
  709.       Note 1: The country list is meaningful only for ISO two-letter
  710.       domains.  All    other domains (..ccoomm, ..oorrgg, ..nneett, etc.)    are used by
  711.       organizations    world-wide, so they are    not assigned a country,    but
  712.       listed literally in the charts.  The ISO country code    for the    U.S.
  713.       is ..uuss, by the way ...
  714.  
  715.       Note 2: If DNS lookups are disabled in your web server or if the
  716.       system accessing your    server has not been assigned a symbolic
  717.       hostname in the _D_o_m_a_i_n _N_a_m_e _S_y_s_t_e_m for whatever reason, hhttttpp--aannaallyyzzee
  718.       can not determine the    country    (domain) a system is located in.  All
  719.       hosts    without    a hostname registered in the DNS will show up as
  720.  
  721.  
  722.  
  723. Page 11                                 (printed 9/15/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  731.  
  732.  
  733.  
  734.       _U_n_r_e_s_o_l_v_e_d in    the country list.  Since some systems are
  735.       intentionally    not registered in the DNS, a percentage    of up to 40%
  736.       for unresolved IP numbers is absolutely normal.
  737.  
  738.      33DDssttaattss_M_M_Y_Y..hhttmmll, 33DDssttaattss_M_M_Y_Y..wwrrll..ggzz, 33DDssttaattss_Y_Y_Y_Y..hhttmmll, 33DDssttaattss_Y_Y_Y_Y..wwrrll..ggzz
  739.       are pre-requisite files for the 3D statistics    models in the _V_i_r_t_u_a_l
  740.       _R_e_a_l_i_t_y _M_o_d_e_l_i_n_g _L_a_n_g_u_a_g_e (_V_R_M_L).  Those models are created if the
  741.       option --33 is given at    invocation of hhttttpp--aannaallyyzzee.  To    view those
  742.       models, you need a VRML2.0 compatible    plug-in    such as    the free
  743.       _C_o_s_m_o_P_l_a_y_e_r from Cosmo Software, which is currently available    for
  744.       Netscape Communicator    and MS Internet    Explorer. See
  745.       _h_t_t_p://_c_o_s_m_o._s_g_i._c_o_m/    for more information about Cosmo Software.
  746.       All 3D models    are displayed in the _3_D    _w_i_n_d_o_w,    so that    you can
  747.       compare them against the graphs in the conventional report.
  748.  
  749.       While    the monthly models may be displayed separately on any system
  750.       with a VRML-compliant    browser, the yearly model (with    all other
  751.       twelve monthly models    embedded in it)    is suitable only on a fast
  752.       graphics workstation due to it's increased complexity.  Therefore,
  753.       if only --33 is    given, the yearly model    is replaced by a logo which
  754.       can be displayed again on any    system.
  755.  
  756.       In case you have a workstation available for display of the model,
  757.       you can generate a world with    all twelve monthly models embedded in
  758.       it by    specifying a prolog file using the option --PP or    the VVRRMMLLPPrroolloogg
  759.       directive in the configuration file (the file    33DDpprroolloogg..wwrrll is
  760.       provided as an example).  The    report then will include a button to
  761.       choose between the workstation ("SGI") and the PC version of the
  762.       yearly model.
  763.  
  764.      ttooppuurrll_M_M_Y_Y..hhttmmll, ttooppddoomm_M_M_Y_Y..hhttmmll, ttooppuuaagg_M_M_Y_Y..hhttmmll,    ttoopprreeff_M_M_Y_Y..hhttmmll
  765.       Those    files contain the _T_o_p _T_e_n lists    (actually it's _T_o_p _N, where _N
  766.       is a configurable number) of the files, sites, browser types and
  767.       referrer URLs.  The URLs shown in ttooppuurrll_M_M_Y_Y..hhttmmll are    either the
  768.       real URLs requested by the visitor or    an _i_t_e_m    (arbitrary text) you
  769.       choosed to collect certain file names    under (see the HHiiddeeUURRLL
  770.       directive in the configuration file).
  771.       The domain names shown in ttooppddoomm_M_M_Y_Y..hhttmmll are    either the second-
  772.       level    domains    of the hosts accessing your server if the DNS name is
  773.       available or an item you choosed to collect certain hostnames    under
  774.       (see the HHiiddeeSSyyss directive in    the configuration file). Unresolved IP
  775.       numbers show up as _U_n_r_e_s_o_l_v_e_d.
  776.       The file ttooppuuaagg_M_M_Y_Y..hhttmmll contains a list of all different browser
  777.       types    (_u_s_e_r _a_g_e_n_t_s) which have been used by visitors to access your
  778.       web site.  The browser type is an identification string sent by the
  779.       browser and logged by    the web    server.    Although the format for    this
  780.       identification string    is well-defined, it isn't obeyed by any
  781.       browser.  If possible, hhttttpp--aannaallyyzzee reduces the name of the browser
  782.       in the Top lists to the browser model    including the first digit of
  783.       it's version number. If it is    not possible to    determine this
  784.       information, the full    name as    sent by    the browser is used.
  785.       The referrer URLs are    the URLs of those web pages, which have    a link
  786.  
  787.  
  788.  
  789. Page 12                                 (printed 9/15/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  797.  
  798.  
  799.  
  800.       to a page on your server, and    which have been    visited    by the user
  801.       just before following    the link.  Note    that if    the user did address a
  802.       document on your server manually in his browser, no referrer URL
  803.       gets logged. The browser can also choose to not send a referrer URL
  804.       at all. Entries without a referrer URL appear    as _U_n_k_n_o_w_n in the
  805.       report.  The list of referrer    URLs is    displayed in the _M_a_i_n _w_i_n_d_o_w.
  806.  
  807.      ffiilleess_M_M_Y_Y..hhttmmll, ssiitteess_M_M_Y_Y..hhttmmll, aaggeennttss_M_M_Y_Y..hhttmmll, rreeffeerrss_M_M_Y_Y..hhttmmll
  808.       Those    files contain a    complete overview of the files,    sites, browser
  809.       types    and referrer URLs, similar to the Top N    lists.
  810.  
  811.      llffiilleess_M_M_Y_Y..hhttmmll, llssiitteess_M_M_Y_Y..hhttmmll, llaaggeennttss_M_M_Y_Y..hhttmmll, llrreeffeerrss_M_M_Y_Y..hhttmmll
  812.       Those    files contain the detailed lists of all    files, sites, browser
  813.       types    and referrer URLs, similar to the previous lists, but sorted
  814.       by item (if any) and hits.  On frequently accessed sites those lists
  815.       can become rather large, so they are shown in    the separate _L_i_s_t
  816.       _w_i_n_d_o_w.
  817.  
  818.      rrffiilleess_M_M_Y_Y..hhttmmll
  819.       contains all invalid URLs which caused the server to respond with a
  820.       _C_o_d_e _4_0_4 (_N_o_t    _f_o_u_n_d) status.    If there are large number of hits for
  821.       certain files    the server couldn't find, it's probably    due to missing
  822.       inline images    or other HTML objects embedded in other    pages.    This
  823.       report is displayed in the _M_a_i_n _w_i_n_d_o_w.
  824.  
  825.      rrssiitteess_M_M_Y_Y..hhttmmll
  826.       contains the list of reverse domains.     This report is    displayed in
  827.       the _M_a_i_n _w_i_n_d_o_w.
  828.  
  829.      ffrraammeess..hhttmmll, hheeaaddeerr..hhttmmll
  830.       This two files are required for the frames-based user    interface.
  831.       All other files are shared with the ones for the non-frames UI.  In
  832.       the frames-based UI, the _M_a_i_n    window is inside the frame, while the
  833.       _L_i_s_t window is still an external window.  The    _3_D _w_i_n_d_o_w may be
  834.       inside the frame or an external window (see the 33DDWWiinnddooww directive).
  835.  
  836.      ggrr--iiccoonn..ggiiff
  837.       This is a small icon displayed on the    main page under    the base
  838.       directory for    the statistics report (option --oo or the    OOuuttppuuttDDiirr
  839.       directive in the configuration file).
  840.  
  841. OOOOPPPPTTTTIIIIOOOONNNNSSSS
  842.      --hh      print    a short    help list explaining the usage of the options.    Use
  843.       --hhhh to print an even more detailed help.
  844.  
  845.      --dd      (_d_a_i_l_y _m_o_d_e) generate    a short    statistics report for the current
  846.       month    only.  If a history file exists, the values for    the previous
  847.       days will be read from this history file and the corresponding
  848.       logfile entries are skipped.    If the history file does not exist,
  849.       the whole logfile will be processed and a history file will be
  850.       created (unless --nn is    also given).
  851.  
  852.  
  853.  
  854.  
  855. Page 13                                 (printed 9/15/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  863.  
  864.  
  865.  
  866.      --mm      (_m_o_n_t_h_l_y _m_o_d_e) generate a full statistics report for a whole month.
  867.       In this mode,    the values from    the history file for previous month
  868.       are used to create a summary page for    the last 12 months.  However,
  869.       the logfile entries feed into    the analyzer always take preceedence
  870.       over the records in the history unless the option --ee is given.
  871.  
  872.      --VV      (_v_e_r_s_i_o_n) print the version of hhttttpp--aannaallyyzzee and exit immediately.
  873.  
  874.      --33      create a 3D (VRML) model of the statistics in    addition to the
  875.       regular statistics report. You need a    VRML2.0    compliant plug-in such
  876.       as _C_o_s_m_o_P_l_a_y_e_r from Cosmo Software to    view the model.
  877.  
  878.      --aa      ignore all URLs which    required authentication. If your statistics
  879.       report is available to the public, you probably do not want to have
  880.       those    secret URLs listed in the report. See also the AAuutthhUURRLL
  881.       directive in the configuration file.
  882.  
  883.      --ee      use the history file even in full statistics mode.  If this option
  884.       is given and you analyze the logfiles    for several months at once
  885.       (either in different files or    in one single logfile),    hhttttpp--aannaallyyzzee
  886.       uses the values recorded in the history file for previous months and
  887.       skips    all logfile entries up to the first day    of a month not
  888.       recorded in the history (usually the current month).    This option is
  889.       useful if, for example, you rotate your logfile once per quarter and
  890.       want to have the analyzer skip all entries for a previous month
  891.       which    already    has been processed before.
  892.  
  893.      --ff      create also a    frames-based user interface for    the statistics report
  894.       (requires JavaScript).
  895.  
  896.      --gg      (_g_e_n_e_r_i_c _i_n_t_e_r_f_a_c_e) create a conventional (non-frames) user
  897.       interface for    the statistics report without the JavaScript-based
  898.       navigation window.
  899.  
  900.      --nn      (_n_o _u_p_d_a_t_e) do not update the    history    file.  Useful to generate
  901.       statistics for previous months (before the last month) without
  902.       overwriting the current state    of the history.     Since the history is
  903.       used to create the report for    the last 12 months, this option    must
  904.       be used to not mess up the actual statistics report when analyzing
  905.       an older period.
  906.  
  907.      --qq      do not strip arguments to CGI    scripts    in URLs.  By default, hhttttpp--
  908.       aannaallyyzzee strips arguments to CGI scripts from their URLs to be    able
  909.       to lump them together.  If your server creates HTML files
  910.       dynamically through a    CGI script, they are reduced to    the URL    of the
  911.       script.  The option --qq causes    the analyzer to    leave those argument
  912.       lists    intact.     This way, CGI URLs with different arguments are
  913.       treated as different URLs.  Note that    this only works    for requests
  914.       passing arguments using the GGEETT method (see the section
  915.       _I_n_t_e_r_p_r_e_t_a_t_i_o_n _o_f _t_h_e    _r_e_s_u_l_t_s    for an explanation of the request
  916.       methods and the SSttrriippCCGGII directive in    the configuration file).
  917.  
  918.  
  919.  
  920.  
  921. Page 14                                 (printed 9/15/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  929.  
  930.  
  931.  
  932.      --vv      (verbose) comment ongoing processing.    Warnings are printed only in
  933.       verbose mode.    Use this option    to see how hhttttpp--aannaallyyzzee    processes the
  934.       logfile. If --vv is doubled, the analyzer prints a dot for each    new
  935.       day discovered in the    logfile.
  936.  
  937.      --xx      list each image URL literally    rather than lumping them together
  938.       under    the item "All images".    Without    this option, hhttttpp--aannaallyyzzee
  939.       comprises all    images (*._g_i_f, *._j_p_g, *._i_e_f, *._p_c_d, *._r_g_b, *._x_b_m,
  940.       *._x_p_m, *._x_w_d,    *._t_i_f) under the item "All images" to avoid cluttering
  941.       up the lists with lots of image URLs.     If --xx is given, each image
  942.       URL is listed    literally unless matched by an explicit    HHiiddeeUURRLL
  943.       directive in the configuration file.
  944.  
  945.      --cc    _c_f_g_f_i_l_e
  946.       use _c_f_g_f_i_l_e as the configuration file.  A configuration file allows
  947.       you to define    the behaviour of hhttttpp--aannaallyyzzee and to define the    ;look
  948.       & feel+ of the statistics report.  See the section _C_o_n_f_i_g_u_r_a_t_i_o_n
  949.       _F_i_l_e for a description of possible settings, which are called
  950.       _d_i_r_e_c_t_i_v_e_s in    the following text.
  951.  
  952.      --ll    _l_i_b_d_i_r
  953.       use _l_i_b_d_i_r as    the central library directory where hhttttpp--aannaallyyzzee looks
  954.       for the pre-requisite    files, buttons,    and license information
  955.       (usually /_u_s_r/_l_o_c_a_l/_l_i_b/_h_t_t_p-_a_n_a_l_y_z_e).
  956.  
  957.      --oo    _o_u_t_d_i_r
  958.       use _o_u_t_d_i_r to    create the statistics report in.  If no    output
  959.       directory is given, the report is created in the current directory.
  960.       See also the OOuuttppuuttDDiirr directive.
  961.  
  962.      --pp    _p_r_i_v_d_i_r
  963.       place    the detailed list of files, sites, browsers and    referrer URLs
  964.       into the subdirectory    _p_r_i_v_d_i_r.  Because _p_r_i_v_d_i_r is created directly
  965.       under    the output directory specified with --oo,    it's name may not
  966.       contain any slashes ('/').  This option is useful to restrict    free
  967.       access to only certain parts of the statistics report.  See also the
  968.       PPrriivvaatteeDDiirr directive.
  969.  
  970.      --FF    _f_o_r_m_a_t
  971.       use this logfile format. Valid values    for _f_o_r_m_a_t are aauuttoo for    auto-
  972.       sensing the logfile format, ccllff for the _C_o_m_m_o_n _L_o_g_f_i_l_e _F_o_r_m_a_t, or
  973.       ddllff and eellff for the two supported forms of the _C_o_m_b_i_n_e_d/_E_x_t_e_n_d_e_d
  974.       _L_o_g_f_i_l_e _F_o_r_m_a_t.  See also the    section    _L_o_g_f_i_l_e    _F_o_r_m_a_t_s    above.
  975.  
  976.      --GG    _p_a_t_t_e_r_n,...
  977.       define additional pageview patterns.    All URLs matching one of the
  978.       _p_a_t_t_e_r_n_s are classified as pageviews (text files).  If _p_a_t_t_e_r_n
  979.       starts (doesn't start) with a    slash (/), _i_t _i_s _t_r_e_a_t_e_d _a_s _a _p_r_e_f_i_x
  980.       (_s_u_f_f_i_x) _e_a_c_h    _U_R_L _i_s _c_o_m_p_a_r_e_d    _w_i_t_h.  _T_h_e _s_u_f_f_i_x ..hhttmmll    is pre-defined
  981.       by default.  You can add 9 more patterns here, for example ..sshhttmmll,
  982.       ..tteexxtt    and //ccggii--bbiinn//.    To specify more    than one suffix    with a single
  983.       --GG option, use commas    to separate them.  See also the    PPaaggeeVViieeww
  984.  
  985.  
  986.  
  987. Page 15                                 (printed 9/15/98)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  995.  
  996.  
  997.  
  998.       directive.
  999.  
  1000.      --HH    _i_d_x_f_i_l_e,...
  1001.       define additional directory index filenames.    The name _i_n_d_e_x._h_t_m_l is
  1002.       pre-defined by default.  hhttttpp--aannaallyyzzee    truncates URLs containing an
  1003.       index    filename so that they merge with `/' (their "base URL").  For
  1004.       example, /_d_i_r/_i_n_d_e_x._h_t_m_l is truncated    to /_d_i_r/.  You can add up to 9
  1005.       more names for directory index files,    for example _W_e_l_c_o_m_e._h_t_m_l or
  1006.       _h_o_m_e._h_t_m_l.  See also the IInnddeexxFFiilleess directive.
  1007.  
  1008.      --II    _d_a_t_e
  1009.       skip all logfile entries until this day (exclusive).    The date may
  1010.       be specified as _D_D/_M_M/_Y_Y_Y_Y  _o_r  _M_M/_Y_Y_Y_Y , where _M_M is    the number or
  1011.       the name of a    month. Note that in full statistics mode, _D_D defaults
  1012.       to the first day of the month    if absent. If you specify any other
  1013.       day in this mode, unpredictable results may occur.  For example,
  1014.       -I Feb _r_e_s_t_r_i_c_t_s _t_h_e _a_n_a_l_y_s_i_s    _t_o _t_h_e _F_e_b_r_u_a_r_y    _o_f _t_h_e _c_u_r_r_e_n_t _y_e_a_r.
  1015.  
  1016.      --EE    _d_a_t_e
  1017.       skip all logfile entries starting from this day on (inclusive).  The
  1018.       date format is the same as in    --II.  To    restrict analysis to a certain
  1019.       period, specify the starting date using --II and the first date    to be
  1020.       ignored using    --EE.  For example, -I Jan/98 -E Feb/98 restricts    the
  1021.       analysis to January 1998.
  1022.  
  1023.      --OO    _v_i_r_t_n_a_m_e,...
  1024.       define additional ("virtual")    names for this server to be classified
  1025.       as _s_e_l_f-_r_e_f_e_r_r_e_r _U_R_L_s.  The server's primary name (from --SS or    --UU) is
  1026.       pre-defined already.    If _v_i_r_t_n_a_m_e doesn't include a protocol
  1027.       spcifier, two    URLs with the http _a_n_d _t_h_e _h_t_t_p_s protocol specifier
  1028.       are added for    each name.  See    also the VViirrttuuaallNNaammeess directive.
  1029.  
  1030.      --PP    _p_r_o_l_o_g
  1031.       use _p_r_o_l_o_g as    the prolog file    for a yearly VRML model    (optional).
  1032.       The file 33DDpprroolloogg..wwrrll    is included in the distribution    as an example.
  1033.       Note that the    resulting VRML model for a whole year is suitable only
  1034.       for viewing on a graphic workstation.     The monthly VRML models do
  1035.       not need a prolog file and can be viewed on any platform without
  1036.       problems.  See also the VVRRMMLLPPrroolloogg directive.
  1037.  
  1038.      --RR    _d_o_c_r_o_o_t
  1039.       restrict logfile analysis to the given Document Root.     If _d_o_c_r_o_o_t is
  1040.       prefixed by a    `!', analysis takes place for all directories except
  1041.       _d_o_c_r_o_o_t.  If _d_o_c_r_o_o_t does not    start with a slash ('/'), it is
  1042.       interpreted as the name of a virtual server, which is    matched
  1043.       against the (normally    unused)    second field of    a logfile entry.
  1044.       Intented for use with    (software-) virtual servers with a separate
  1045.       Document Root    or for which the hostname is recorded in the second
  1046.       field    of a logfile entry.  See also the DDooccRRoooott directive in the
  1047.       configuration    file.
  1048.  
  1049.      --SS    _s_r_v_n_a_m_e
  1050.  
  1051.  
  1052.  
  1053. Page 16                                 (printed 9/15/98)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1061.  
  1062.  
  1063.  
  1064.       use _s_r_v_n_a_m_e for the server name. If no server    name is    defined,
  1065.       hhttttpp--aannaallyyzzee uses the    hostnamename of    the system.  The server    name
  1066.       must be a full qualified domain name,    not an URL.  See also the
  1067.       SSeerrvveerrNNaammee directive.
  1068.  
  1069.      --TT    _T_L_D_f_i_l_e
  1070.       use _T_L_D_f_i_l_e for the list of valid top-level domains (TLDs).  This
  1071.       list currently includes all ISO two-letter country domains, the
  1072.       well-known domains ..nneett, ..iinntt, ..oorrgg, ..ccoomm, ..eedduu, ..ggoovv, ..mmiill, ..aarrppaa,
  1073.       ..nnaattoo, and the new _C_O_R_E top-level domains ..ffiirrmm, ..iinnffoo, ..sshhoopp,
  1074.       ..aarrttss, ..wweebb, ..rreecc, and ..nnoomm.    The length of a    top-level domain in
  1075.       the TLD file may not exceed 6    characters.  If    no TLD file is given,
  1076.       hhttttpp--aannaallyyzzee uses it's built-in defaults.  See also the TTLLDDFFiillee
  1077.       directive and    the sample file    TTLLDD included in    the distribution.
  1078.  
  1079.      --UU    _s_r_v_u_r_l
  1080.       define _s_r_v_u_r_l    as the server URL which    should be used as a prefix for
  1081.       the hotlinks in the URL list.    Useful if the statistics report    is
  1082.       created on a different system    than the server    is running on and for
  1083.       virtual hosts.  See also the SSeerrvveerrUURRLL directive.
  1084.  
  1085.      --WW    _3_D_w_i_n
  1086.       define the window for    the VRML model.     The keyword _3_D_w_i_n may be
  1087.       either eexxtteerrnn    or iinntteerrnn for display of the VRML model    in a new,
  1088.       external window or in    the lower half of the main frame respectively
  1089.       (meaningful only in the frames-based interface).
  1090.  
  1091.      --ss    _s_u_b_o_p_t,...
  1092.       suppress certain lists in the    report.     See also the SSuupppprreessss
  1093.       directive.  _s_u_b_o_p_t may be:
  1094.            AAVVLLooaadd       to suppress the average load    report (top seconds/minutes/hours),
  1095.            UURRLLss       to suppress the overview and    list of    URLs/items,
  1096.            UURRLLLLiisstt       to suppress the list    of URLs/items only,
  1097.            CCooddee440044       to suppress the list    of Code    404 (_N_o_t _F_o_u_n_d)    responses,
  1098.            SSiitteess       to suppress the overview and    list of    client domains,
  1099.            RRSSiitteess       to suppress the overview of reverse client domains,
  1100.            SSiitteeLLiisstt       to suppress the list    of all client domains/hostnames,
  1101.            AAggeennttss       to suppress the overview and    list of    browser    types,
  1102.            RReeffeerrrreerr       to suppress the overview and    list of    referrers URLs,
  1103.            CCoouunnttrryy       to suppress the list    of countries,
  1104.            PPaaggeevviieewwss   to suppress pageview    rating (304's are shown    instead),
  1105.            AAuutthhRReeqq       to suppress requests    which required authentication,
  1106.            GGrraapphhiiccss       to suppress images such as graphs and pie charts,
  1107.            HHoottlliinnkkss       to suppress hotlinks    in the list of all URLs,
  1108.            IInntteerrppooll       to suppress interpolation of    values in graphs.
  1109.  
  1110.      --tt    _n_u_m
  1111.       define the size of certain lists.  _n_u_m is either a positive number
  1112.       or the value 0 to suppress the corresponding list.  You specify the
  1113.       list by appending one    of the following characters to the number
  1114.       shown    here as    '#' (note that the characters are case-sensitive):
  1115.         #UU        # is the number    of entries in the Top URL list (default: 30),
  1116.  
  1117.  
  1118.  
  1119. Page 17                                 (printed 9/15/98)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1127.  
  1128.  
  1129.  
  1130.         #LL        # is the number    of entries in the Least    URL list (default: 10).
  1131.         #SS        # is the number    of entries in the Top domain list (default: 30),
  1132.         #AA        # is the number    of entries in the Top agent/browser list (default: 30),
  1133.         #RR        # is the number    of entries in the Top referrer URL list    (default: 30),
  1134.         #dd        # is the number    of entries in the Top days table (default: 7),
  1135.         #hh        # is the number    of entries in the Top hours table (default: 24),
  1136.         #mm        # is the number    of entries in the Top minutes table (default: 5),
  1137.         #ss        # is the number    of entries in the Top seconds table (default: 5),
  1138.         #NN        # is the size of the navigation    frame (default:    120 pixels)
  1139.       You can specify more than one    _n_u_m with a single --tt option by
  1140.       separating them with a `,' as    in -t 20U,0L,20S..  SSeeee aallssoo tthhee    TToopp**
  1141.       directives in    the configuration file.
  1142.  
  1143.      --uu    _t_i_m_e
  1144.       define the time-window for counting _s_e_s_s_i_o_n_s.     See _S_e_s_s_i_o_n_s in the
  1145.       section _I_n_t_e_r_p_r_e_t_a_t_i_o_n _o_f _t_h_e    _r_e_s_u_l_t_s    for an explanation of this
  1146.       term.
  1147.  
  1148.      --ww    _h_i_t_s
  1149.       set the noise-level to _h_i_t_s.    If a noise-level is defined, all URLs,
  1150.       sites, agents    and referrer URLs with hits below this level are
  1151.       collected under the item _N_o_i_s_e in the    Top N lists and    overviews to
  1152.       avoid    cluttering up those lists.  See    also the NNooiisseeLLeevveell directive.
  1153.  
  1154.      _l_o_g_f_i_l_e(_s)
  1155.       This are the name(s) of the logfile(s) to process.  If more than one
  1156.       file is given, they are processed in the order in which their    names
  1157.       appear on the    command    line.  hhttttpp--aannaallyyzzee checks for the existance
  1158.       of all files before processing them.    If a `-' is specified as the
  1159.       filename, standard input is read.  If    no file    is given, the analyzer
  1160.       either processes the default logfile specified in the    configuration
  1161.       file or the standard input.
  1162.  
  1163.    CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRAAAATTTTIIIIOOOONNNN FFFFIIIILLLLEEEE
  1164.      The option    --cc and the environment variable    HHAA__CCOONNFFIIGG allow    to define a
  1165.      configuration file    which contains server-specific configuration settings
  1166.      for hhttttpp--aannaallyyzzee.    However, command line options always take preceedence
  1167.      over the definitions in this configuration    file.
  1168.  
  1169.      The configuration file contains a single directive    per line.  Except for
  1170.      IInnddeexxFFiilleess, PPaaggeeVViieeww, AAddddDDoommaaiinn, VViirrttuuaallNNaammeess, IIggnn**, and HHiiddee**, each
  1171.      directive may appear only once in the configuration file.
  1172.  
  1173.      Following a directive field there are one or two value fields, which must
  1174.      be    separated from the directive and each other by one or more tabulators.
  1175.      Blanks are    considered a part of the string    for the    third field only if
  1176.      there is such a field.  All directive names are case-insensitive.
  1177.      Comment lines starting with a hash    character (#) are ignored.
  1178.  
  1179.  
  1180.      33DDWWiinnSSiizzee _w_i_d_t_hx_h_e_i_g_h_t
  1181.      Defines the size of the 3D window.  Useful for    Netscape
  1182.  
  1183.  
  1184.  
  1185. Page 18                                 (printed 9/15/98)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1193.  
  1194.  
  1195.  
  1196.      Navigator 3.X,    which displays scrollbars in the 3D window with
  1197.      standard size (520x420    pixels).  Example:
  1198.            3DWinSize    540x450
  1199.  
  1200.      33DDWWiinnddooww _k_e_y_w_o_r_d
  1201.      Defines the 3D    window the VRML    model is displayed in (same as option
  1202.      --WW).  The _k_e_y_w_o_r_d may be eexxtteerrnn (default) or iinntteerrnn for display of
  1203.      the VRML model    in a new, external window or in    the lower half of the
  1204.      main frame respectively.  Example:
  1205.            3DWindow        intern
  1206.  
  1207.      AAddddDDoommaaiinn _d_o_m_a_i_n _s_t_r_i_n_g
  1208.      Add entries to    the domain table causing certain _d_o_m_a_i_n_s to be
  1209.      allocated to the "mock" domain    _s_t_r_i_n_g.     Wildcards in _d_o_m_a_i_n are
  1210.      ignored.  This    directive is useful to collect certain hostnames (for
  1211.      example the hosts of world-wide operating online services), under
  1212.      some _s_t_r_i_n_g (item) instead of the country they    seem to    originate
  1213.      from.    Example:
  1214.            AddDomain    .compuserve.com    CompuServe
  1215.  
  1216.      AAuutthhUURRLL _b_o_o_l_e_a_n _v_a_l_u_e
  1217.      Defines whether URLs which required authentication are    to be skipped.
  1218.      By default, such URLs show up in the report just like all other URLs.
  1219.      Setting AAuutthhUURRLL to _O_f_f, _N_o, _N_o_n_e, _F_a_l_s_e, or _0 causes the analyzer to
  1220.      skip those URLs in the    logfile    (if your statistics report is
  1221.      available to others, you probably do not want to have secret URLs
  1222.      listed    there).     Example:
  1223.            AuthURL        No
  1224.  
  1225.      CCuussttLLooggooWW _i_m_a_g_e _s_r_v_u_r_l and    CCuussttLLooggooBB _i_m_a_g_e    _s_r_v_u_r_l
  1226.      Define    images for use as customer logos in the    statistics report.
  1227.      This feature is available only    in the commercial version of the
  1228.      analyzer.  _i_m_a_g_e is the name of the image file    relative to the    output
  1229.      directory OOuuttppuuttDDiirr and _s_r_v_u_r_l    is the URL to be followed if the user
  1230.      clicks    on the image.  To use your own logos create two    images - one
  1231.      for use with a    white background (CCuussttLLooggooWW) and the other one for use
  1232.      with a    black background (CCuussttLLooggooBB).  The images should be
  1233.      approximately 72x72 pixels in size and    must be    placed into the
  1234.      buttons subdirectory of the output directory (_O_u_t_p_u_t_D_i_r/btn).    _T_h_e_n
  1235.      _d_e_f_i_n_e    _t_h_e _a_p_p_r_o_p_r_i_a_t_e    CCuussttLLooggoo _d_i_r_e_c_t_i_v_e_s _a_n_d    _g_e_n_e_r_a_t_e _a _n_e_w _r_e_p_o_r_t
  1236.      _w_i_t_h _y_o_u_r _c_o_m_p_a_n_y'_s _l_o_g_o.  _E_x_a_m_p_l_e:
  1237.            CustLogoW  btn/mycompany_sw.gif    http://www.mycompany.com/
  1238.            CustLogoB  btn/mycompany_sb.gif    http://www.mycompany.com/
  1239.  
  1240.      DDeeffaauullttMMooddee _m_o_d_e
  1241.      The default operation mode of hhttttpp--aannaallyyzzee.  The value    field contains
  1242.      either    the keyword ddaaiillyy for short statistics mode or mmoonntthhllyy for
  1243.      full statistics mode (see also    options    --dd and --mm).  If    left
  1244.      undefined, the    default    is full    statistics mode    (mmoonntthhllyy).  Example:
  1245.            DefaultMode    daily
  1246.  
  1247.      DDooccRRoooott _d_o_c_r_o_o_t
  1248.  
  1249.  
  1250.  
  1251. Page 19                                 (printed 9/15/98)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1259.  
  1260.  
  1261.  
  1262.      Restricts logfile analysis to the given Document Root (same as    option
  1263.      --RR).  If _d_o_c_r_o_o_t is prefixed by a `!',    analysis takes place for all
  1264.      directories except _d_o_c_r_o_o_t.  If _d_o_c_r_o_o_t does not start    with a slash
  1265.      ('/'),    it is interpreted as the name of a virtual server, which is
  1266.      matched against the (normally unused) second field of a logfile
  1267.      entry.     Intented for use with (software-) virtual servers with    a
  1268.      separate Document Root    or for which the hostname is recorded in the
  1269.      second    field of a logfile entry.  Example:
  1270.            DocRoot        /customer/
  1271.            DocRoot        www.customer.com
  1272.  
  1273.      HHTTMMLLPPrreeffiixx    _p_r_e_f_i_x and HHTTMMLLTTrraaiilleerr _t_r_a_i_l_e_r
  1274.      The HTML _p_r_e_f_i_x and _t_r_a_i_l_e_r to    be printed after the header section
  1275.      and at    the end    of the page.  If defined, the HHTTMMLLPPrreeffiixx string    must
  1276.      include the <BODY> tag.  If a _f_i_l_e_n_a_m_e    is given instead of the    _p_r_e_f_i_x
  1277.      or _t_r_a_i_l_e_r, the HTML code is taken from this file.  Example:
  1278.            HTMLPrefix    <BODY BGCOLOR="#FF0000">
  1279.            HTMLTrailer    <A HREF="/intern/">Back</A> to the internal page.
  1280.  
  1281.      HHeeaaddSSiizzee _s_i_z_e, TTeexxttSSiizzee _s_i_z_e, SSmmaallllSSiizzee _s_i_z_e and LLiissttSSiizzee _s_i_z_e
  1282.      The font sizes    for headings (navigator    default, usually 3), regular
  1283.      text (default:    2), small text (default: 1) and    lists (default:    2).
  1284.      TTeexxttSSiizzee replaces the former FFoonnttSSiizzee,    which is still recognized.
  1285.      Example:
  1286.            HeadSize        4
  1287.            TextSize        3
  1288.            SmallSize    2
  1289.  
  1290.      HHeeaaddFFoonntt _f_o_n_t_l_i_s_t,    TTeexxttFFoonntt _f_o_n_t_l_i_s_t and LLiissttFFoonntt _f_o_n_t_l_i_s_t
  1291.      The fonts to use for headers, for regular text, and for the detailed
  1292.      lists.     If unset, the analyzer    uses a list of common serif-less fonts
  1293.      for headers and regular text and a monospaced (fixed) font for    the
  1294.      detailed lists.  To force the navigator's default for fonts, use the
  1295.      keyword ddeeffaauulltt as the    fontname.  Example:
  1296.            HeadFont        Helvetica,Arial,Geneva,sans-serif
  1297.            TextFont        Helvetica,Arial,Geneva,sans-serif
  1298.            ListFont        Courier,fixed
  1299.  
  1300.      HHiiddeeAAggeenntt _a_g_e_n_t _s_t_r_i_n_g
  1301.      Hide certain browsers under an    arbitrary _s_t_r_i_n_g (item).  Needed only
  1302.      for a certain browser whose vendor still can't    spell it's name
  1303.      correctly.  Only the leading part of the browser type is compared
  1304.      against _a_g_e_n_t,    so no wildcards    are needed in the second field.
  1305.      Example:
  1306.            HideAgent    Mozilla/4.0 (compatible; MSIE 4.   MSIE    4.*
  1307.            HideAgent    Mozilla/3.0 (compatible; MSIE 3.   MSIE    3.*
  1308.  
  1309.      HHiiddeeRReeffeerr _r_e_f_e_r_r_e_r    _s_t_r_i_n_g
  1310.      Hide certain referrer URLs under an arbitrary _s_t_r_i_n_g (item).  Useful
  1311.      to map    different referrer URLs    for a given host to a common name.
  1312.      Since only the    leading    string of the referrer URL is compared against
  1313.      _r_e_f_e_r_r_e_r, there is no need to specify wildcards.  As in HHiiddeeAAggeenntt, a
  1314.  
  1315.  
  1316.  
  1317. Page 20                                 (printed 9/15/98)
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1325.  
  1326.  
  1327.  
  1328.      wildcard suffix is removed from the string, while a wildcard prefix
  1329.      is taken literal.
  1330.  
  1331.      If the    second argument    contains a string in square brackets, this
  1332.      defines the CGI parameter which specifies the search key for search
  1333.      engines.  In this case, the search key    will be    extracted from the
  1334.      argument list and prominently displayed after the name    of the search
  1335.      engine/web server.  See also the file ssaammppllee..ccoonnff included in the
  1336.      distribution for more examples    on how to use the HHiiddeeRReeffeerr directive.
  1337.      Example:
  1338.            HideRefer    http://altavista.digital.com/    AltaVista [q=]
  1339.            HideRefer    http://lycospro.lycos.com/    Lycos [query=]
  1340.            HideRefer    http://www.excite.com/        Excite [search=]
  1341.            HideRefer    http://www.dino-online.de/    Dino Online [query=]
  1342.  
  1343.      HHiiddeeSSyyss _h_o_s_t_n_a_m_e _s_t_r_i_n_g
  1344.      Hide a    _h_o_s_t_n_a_m_e under an arbitrary _s_t_r_i_n_g (item).  The    string may
  1345.      contain blanks. If the    first character    of _s_t_r_i_n_g is a `[', _t_h_i_s _i_t_e_m
  1346.      _i_s _s_u_p_p_r_e_s_s_e_d _i_n _t_h_e _T_o_p _N lists.  Hidden items are accounted for
  1347.      separately, but in the    summary    they are collected under the
  1348.      description defined with this directive.  You may use the wildcard
  1349.      character `*' as either a prefix or as    a suffix of the    _h_o_s_t_n_a_m_e (as
  1350.      in **..hhoosstt..ccoomm and 119922..116688..1122..**), bot not as both.  Hostnames are
  1351.      case-insensitive.  When building the list of countries, hhttttpp--aannaallyyzzee
  1352.      determines the    country    from the top-level domain given    in _h_o_s_t_n_a_m_e.
  1353.      If _h_o_s_t_n_a_m_e is    an IP number, you can optionally define    the top-level
  1354.      domain    it should be accounted for by appending    the domain in square
  1355.      brackets to the _s_t_r_i_n_g    as shown below.     Example:
  1356.            HideSys        *.mycompany.com    MY COMPANY
  1357.            HideSys        192.168.12.*    MY COMPANY [COM]
  1358.  
  1359.      HHiiddeeUURRLL_u_r_l    _s_t_r_i_n_g
  1360.      Hide an _U_R_L under an arbitrary    _s_t_r_i_n_g (item).    The string may contain
  1361.      blanks. If the    first character    of _s_t_r_i_n_g is a `[', _t_h_i_s _i_t_e_m _i_s
  1362.      _s_u_p_p_r_e_s_s_e_d _i_n _t_h_e _T_o_p _N lists.     Hidden    items are accounted for
  1363.      separately, but in the    summary    they are collected under the
  1364.      description defined with this directive.  You may use the wildcard
  1365.      character `*' as either a prefix or as    a suffix of the    _U_R_L (as    in
  1366.      **..mmaapp and //ssuubbddiirr//**), bot not as both.     URLs are case-sensitive.
  1367.      Note that images are hidden automatically under _A_l_l _i_m_a_g_e_s unless --xx
  1368.      was specified.     See the ssaammppllee..ccoonnff file included in the distribution
  1369.      for more examples.  Example:
  1370.            HideURL        *.map        [All image maps]
  1371.            HideURL        /robots.txt    [Robot control file]
  1372.            HideURL        /newsletter/*    MyCompany's Monthly Newsletter
  1373.            HideURL        /~delta-t/    DELTA-t    Homepage
  1374.  
  1375.      IIggnnUURRLL _u_r_l    and IIggnnSSyyss _h_o_s_t_n_a_m_e
  1376.      Ignore    entries    with a specific    URL or accesses    from a certain system.
  1377.      You may use the wildcard character `*'    as either a prefix or as a
  1378.      suffix    of the URL or the hostname (as in **..ggiiff, //ssuubbddiirr//ffiillee** and
  1379.      **..hhoosstt..ccoomm), but not as both.    Note that all logfile entries are
  1380.  
  1381.  
  1382.  
  1383. Page 21                                 (printed 9/15/98)
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1391.  
  1392.  
  1393.  
  1394.      compared against this list while hhttttpp--aannaallyyzzee reads the logfile
  1395.      opposed to the    HHiiddeeUURRLL    and HHiiddeeSSyyss directives,    which are looked up
  1396.      for when all entries have been    reduced    to the set of unique URLs and
  1397.      hostnames, respectively.  Therefore, many IIggnnUURRLL/IIggnnSSyyss definitions
  1398.      will significantly increase processing    time of    hhttttpp--aannaallyyzzee.
  1399.      Example:
  1400.            IgnURL        *.gif,*.jpg,*.jpeg
  1401.  
  1402.      IInnddeexxFFiilleess    _i_d_x_f_i_l_e[,_i_d_x_f_i_l_e...]
  1403.      Define    additional directory index filenames (same as option --HH).  The
  1404.      name _i_n_d_e_x._h_t_m_l is pre-defined    by default.  hhttttpp--aannaallyyzzee truncates
  1405.      URLs containing an index filename so that they    merge with `/' (their
  1406.      "base URL").  For example, /_d_i_r/_i_n_d_e_x._h_t_m_l is truncated to /_d_i_r/.
  1407.      You can add up    to 9 more names    for directory index files.  Note that
  1408.      each name requires another table lookup, which    may significantly
  1409.      increase processing time.  Example:
  1410.            IndexFiles    Welcome.html,home.html,index.htm
  1411.  
  1412.      LLaanngguuaaggee _l_o_c_a_l_e
  1413.      NNoott aavvaaiillaabbllee yyeett:: Use    given message catalogue    for the    language in
  1414.      the statistics    report.     By default, the message catalogue selected by
  1415.      the current locale is used.  This directive may be used to overwrite
  1416.      the locale used by hhttttpp--aannaallyyzzee to find the correct message
  1417.      catalogue.
  1418.  
  1419.      LLooggFFiillee _f_i_l_e_n_a_m_e
  1420.      The name of the server's logfile.  If you define a default name for
  1421.      the logfile, this file    is processed if    no other filenames are
  1422.      explicitely specified on the command line.  Without such a
  1423.      definition, hhttttpp--aannaallyyzzee always reads _s_t_d_i_n if    no other filename is
  1424.      given.     Example:
  1425.            LogFile        /usr/ns-home/www/logs/access
  1426.  
  1427.      LLooggFFoorrmmaatt _f_o_r_m_a_t
  1428.      use this logfile format. Valid    values for _f_o_r_m_a_t are aauuttoo for auto-
  1429.      sensing the logfile format, ccllff for the _C_o_m_m_o_n    _L_o_g_f_i_l_e    _F_o_r_m_a_t,    or ddllff
  1430.      and eellff for the two supported forms of    the _C_o_m_b_i_n_e_d/_E_x_t_e_n_d_e_d _L_o_g_f_i_l_e
  1431.      _F_o_r_m_a_t.  See the section _L_o_g_f_i_l_e _F_o_r_m_a_t_s above    for a description of
  1432.      the formats supported by hhttttpp--aannaallyyzzee.     Example:
  1433.            LogFormat    clf
  1434.  
  1435.      NNaavvWWiinnSSiizzee    _w_i_d_t_hx_h_e_i_g_h_t
  1436.      Defines the size of the navigation window which pops up in the
  1437.      conventional interface    if JavaScript is enabled.  Useful if the
  1438.      browser displays scrollbars when the default size of 420x190 is used.
  1439.      Example:
  1440.            NavWinSize    440x200
  1441.  
  1442.      NNaavviiggFFrraammee    _s_i_z_e
  1443.      Defines the size of the navigation frame in pixels.  Useful if    the
  1444.      browser displays scrollbars when the default size of 120 pixels is
  1445.      used.    Example:
  1446.  
  1447.  
  1448.  
  1449. Page 22                                 (printed 9/15/98)
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1457.  
  1458.  
  1459.  
  1460.            NavigFrame    140
  1461.  
  1462.      NNooiisseeLLeevveell    _h_i_t_s
  1463.      set the noise-level to    _h_i_t_s.  If a noise-level    is defined, all    URLs,
  1464.      sites,    agents and referrer URLs with hits below this level are
  1465.      collected under the item _N_o_i_s_e    in the Top N lists and overviews to
  1466.      avoid cluttering up those lists.  Example:
  1467.            NoiseLevel    7
  1468.  
  1469.      OOuuttppuuttDDiirr _d_i_r_e_c_t_o_r_y
  1470.      The name of the directory where the output files should be created
  1471.      (same as option --oo).  If left undefined, output files are created in
  1472.      the current directory.     Example:
  1473.            OutputDir    /usr/www/htdocs/stats
  1474.  
  1475.      PPaaggeeVViieeww _p_a_t_t_e_r_n[,_p_a_t_t_e_r_n...]
  1476.      define    additional pageview patterns (same as option --GG).  All URLs
  1477.      matching one of the _p_a_t_t_e_r_n_s are classified as    pageviews (text
  1478.      files).  If _p_a_t_t_e_r_n starts (doesn't start) with a slash (/), _i_t _i_s
  1479.      _t_r_e_a_t_e_d _a_s _a _p_r_e_f_i_x (_s_u_f_f_i_x) _e_a_c_h _U_R_L _i_s _c_o_m_p_a_r_e_d _w_i_t_h.  _T_h_e _s_u_f_f_i_x
  1480.      ..hhttmmll is pre-defined by default. You can add 9    more patterns here,
  1481.      for example ..sshhttmmll, ..tteexxtt and //ccggii--bbiinn//.  Note    that each pattern
  1482.      requires another table    lookup,    which may significantly    increase
  1483.      processing time.  Example:
  1484.            PageView        .shtml,.text,/cgi-bin/
  1485.  
  1486.      PPrriivvaatteeDDiirr    _p_r_i_v_d_i_r
  1487.      The name of a private directory where the detailed lists of files,
  1488.      sites,    browsers, and referrer URLs should be created (same as option
  1489.      --pp).  Because _p_r_i_v_d_i_r is created directly under the output directory
  1490.      specified with    --oo, it's name may not contain any slashes ('/').  This
  1491.      option    is useful to restrict free access to certain parts of the
  1492.      statistics report only: Instead of securing the whole statistics
  1493.      report, you can have certain lists separated from the rest of the
  1494.      report    and then have the server request authentication    for access of
  1495.      this lists.  Example:
  1496.            PrivateDir    lists
  1497.  
  1498.      RReeggIInnffoo _c_u_s_t_o_m_e_r__n_a_m_e _r_e_g_i_s_t_r_a_t_i_o_n__I_D
  1499.      Defines the customer's    name and the registration ID, which are    both
  1500.      shown on the main page    in the summary report.    Example:
  1501.            RegInfo        MyCompany    3745JMJZ00000311300000682344
  1502.  
  1503.      RReeppoorrttTTiittllee _t_i_t_l_e
  1504.      The document title to use in the statistics report.  Example:
  1505.            ReportTitle    Access Statistics for MyCompany
  1506.  
  1507.      SSeerrvveerrNNaammee    _s_r_v_n_a_m_e
  1508.      The official name of the server (same as option --SS).  If no server
  1509.      name is defined, hhttttpp--aannaallyyzzee uses the    hostnamename of    the system.
  1510.      The server name must be a full    qualified domain name, not an URL.
  1511.      Example:
  1512.  
  1513.  
  1514.  
  1515. Page 23                                 (printed 9/15/98)
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1523.  
  1524.  
  1525.  
  1526.            ServerName    www.mycompany.com
  1527.  
  1528.      SSeerrvveerrUURRLL _s_r_v_u_r_l
  1529.      The URL of the    server to be used for hotlinks in URL lists (same as
  1530.      option    --UU).  Useful if    the report for your web    server is published on
  1531.      another server, for example on    an internal developement machine.
  1532.      Also necessary    for (software-)    virtual    servers    to have    hhttttpp--aannaallyyzzee
  1533.      generate correct hypertext links in the report.  Example:
  1534.            ServerURL    http://www.mycompany.com
  1535.  
  1536.      SSeessssiioonn _t_i_m_e
  1537.      The time-window for counting _s_e_s_s_i_o_n_s.     All unique hosts accessing
  1538.      your server more than once inside this    time-window, are accounted for
  1539.      as the    same session.  If the distance between two adjacend accesses
  1540.      from the same host is greater than the    time-window, the accesses from
  1541.      this host are accounted for as    different sessions.  Example:
  1542.            Session        4 hours
  1543.  
  1544.      SSttrriippCCGGII _b_o_o_l_e_a_n _v_a_l_u_e
  1545.      Defines the handling of arguments to CGI scripts in URLs.  By
  1546.      default, hhttttpp--aannaallyyzzee strips arguments    to CGI scripts from their URLs
  1547.      to be able to lump them together.  If your server creates HTML    files
  1548.      dynamically through a CGI script, they    are reduced to the URL of this
  1549.      script.  Setting SSttrriippCCGGII to _O_f_f, _N_o, _N_o_n_e, _F_a_l_s_e, or _0 causes    the
  1550.      analyzer to leave those argument lists    intact.     This way, CGI URLs
  1551.      with different    arguments are treated as different URLs.  Note that
  1552.      this only works for requests passing arguments    using the GGEETT method
  1553.      (see _I_n_t_e_r_p_r_e_t_a_t_i_o_n _o_f    _t_h_e _r_e_s_u_l_t_s for    information about request
  1554.      methods).  Example:
  1555.            StripCGI        No
  1556.  
  1557.      SSuupppprreessss _s_u_b_o_p_t,...
  1558.      Suppress certain lists    in the report (same as --ss).  _s_u_b_o_p_t may    be one
  1559.      of:
  1560.            AAVVLLooaadd       to suppress the average load    report (top seconds/minutes/hours),
  1561.            UURRLLss       to suppress the overview and    list of    URLs/items,
  1562.            UURRLLLLiisstt       to suppress the list    of URLs/items only,
  1563.            CCooddee440044       to suppress the list    of Code    404 (_N_o_t _F_o_u_n_d)    responses,
  1564.            SSiitteess       to suppress the overview and    list of    client domains,
  1565.            RRSSiitteess       to suppress the overview of reverse client domains,
  1566.            SSiitteeLLiisstt       to suppress the list    of all client domains/hostnames,
  1567.            AAggeennttss       to suppress the overview and    list of    browser    types,
  1568.            RReeffeerrrreerr       to suppress the overview and    list of    referrers URLs,
  1569.            CCoouunnttrryy       to suppress the list    of countries,
  1570.            PPaaggeevviieewwss   to suppress pageview    rating (304's are shown    instead),
  1571.            AAuutthhRReeqq       to suppress requests    which required authentication,
  1572.            GGrraapphhiiccss       to suppress images such as graphs and pie charts,
  1573.            HHoottlliinnkkss       to suppress hotlinks    in the list of all URLs,
  1574.            IInntteerrppooll       to suppress interpolation of    values in graphs.
  1575.      Example:
  1576.            Suppress        Country,Interpol
  1577.  
  1578.  
  1579.  
  1580.  
  1581. Page 24                                 (printed 9/15/98)
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1589.  
  1590.  
  1591.  
  1592.      TTLLDDFFiillee _f_i_l_e_n_a_m_e
  1593.      use _f_i_l_e_n_a_m_e for the list of top-level    domains    (same as option    --TT).
  1594.      This list includes all    ISO two-letter country domains,    the well-known
  1595.      domains ..nneett, ..iinntt, ..oorrgg, ..ccoomm, ..eedduu, ..ggoovv, ..mmiill, ..aarrppaa, ..nnaattoo, and
  1596.      the new _C_O_R_E top-level    domains    ..ffiirrmm, ..iinnffoo, ..sshhoopp, ..aarrttss, ..wweebb,
  1597.      ..rreecc, and ..nnoomm.  The length of    a domain in the    TLD file may not
  1598.      exceed    6 characters.  hhttttpp--aannaallyyzzee uses it's built-in defaults, if no
  1599.      TLD file is given.  Example:
  1600.            TLDFile        /usr/local/lib/http-analyze/TLD
  1601.  
  1602.      TToopp{DDaayyss,,HHoouurrss,,MMiinnuutteess,,SSeeccoonnddss,,UURRLLss,,SSiitteess,,AAggeennttss,,RReeffeerrss}, LLeeaassttUURRLLss
  1603.      Defines the size of certain Top N tables and lists.  If set to    zero,
  1604.      the corresponding list    will be    suppressed.  Example:
  1605.            TopURLs        20
  1606.            LeastURLs    0
  1607.            TopDays        14
  1608.  
  1609.      VViirrttuuaallNNaammeess _v_i_r_t_n_a_m_e,...
  1610.      The list of additional    ("virtual") names for this server to be
  1611.      classified as _s_e_l_f-_r_e_f_e_r_r_e_r _U_R_L_s.  The    server's primary name (from
  1612.      SSeerrvveerrNNaammee or SSeerrvveerrUURRLL) is pre-defined already. If _v_i_r_t_n_a_m_e doesn't
  1613.      include a protocol specifier, two URLs    with the http _a_n_d _t_h_e _h_t_t_p_s
  1614.      protocol specifier are    added for each name.  Since self-referrers are
  1615.      suppressed from the list of referrer URLs, the    remaining entries give
  1616.      a good    impression about external pages    referring to some document on
  1617.      your site.  Example:
  1618.            VirtualNames    www2.mycompany.com,mycompany.com
  1619.            VirtualNames    www.customer.com,customer.com
  1620.            VirtualNames    http://www.other.com,https://secure.other.com
  1621.  
  1622.      VVRRMMLLPPrroolloogg    _f_i_l_e
  1623.      The name of a prolog file for a yearly    VRML model (same as option
  1624.      --PP).  Pathnames not beginning with a `/' are relative to OOuuttppuuttDDiirr.
  1625.      If a prolog file is given, an additional yearly model with all
  1626.      12 monthly models embedded as inlines is created.  This model may be
  1627.      displayed only    on graphics workstation.  See the section _O_u_t_p_u_t _f_i_l_e_s
  1628.      for further information about this yearly model.  Example:
  1629.            VRMLProlog    3Dprolog.wrl
  1630.  
  1631.  
  1632. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  1633.      After successful compilation of hhttttpp--aannaallyyzzee you can create a statistics
  1634.      report before you choose to install the program permanently.  To do so,
  1635.      create a subdirectory for the output files    to avoid cluttering up the
  1636.      directory and install the required    files using the    hhaa--sseettuupp utility:
  1637.  
  1638.        http-analyze    setup
  1639.        ------------------
  1640.        1) Set up an    analyzer configuration for a virtual web server
  1641.        2) Install the required files in a statistics output    directory
  1642.        3) Brand your copy of http-analyze with the registration ID
  1643.        4) Exit
  1644.  
  1645.  
  1646.  
  1647. Page 25                                 (printed 9/15/98)
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1655.  
  1656.  
  1657.  
  1658.        Please select a function (1-4) [1]: 2
  1659.        Install required files for http-analyze
  1660.        ---------------------------------------
  1661.        This    script copies the required files (3D*, btn/*) into the statistics
  1662.        ...
  1663.        Name    of the HTML output directory: testd
  1664.        Directory testd doesn't exist, create it (y/n) [y]: <RETURN>
  1665.        Now enter the name of the directory containing the required files.
  1666.        ...
  1667.        Directory containing    required files (3D*, btn/*) [files]: <RETURN>
  1668.        Required files have been copied into    testd
  1669.  
  1670.  
  1671.      Then, run the analyzer on your web    server's logfile.  For example,    if the
  1672.      name of the logfile is /_u_s_r/_n_s-_h_o_m_e/_w_w_w/_l_o_g_s/_a_c_c_e_s_s, use the following
  1673.      command to    create a full statistics including a frames-based interface
  1674.      and a 3D (VRML) model in the newly    created    directory tteessttdd:
  1675.  
  1676.        $ http-analyze -vm3f    -o testd /usr/ns-home/www/logs/access
  1677.        http-analyze    2.2 (IP22; IRIX    6.2), Copyright    1998 RENT-A-GURU(TM)
  1678.        Generating full statistics in output    directory `testd'
  1679.        Reading data    from `/usr/ns-home/www/logs/access'
  1680.        Best    blocksize for I/O is 64    KB
  1681.        Hmm,    looks like Extended Logfile Format (ELF)
  1682.        Start new period at 01/Sep/1998
  1683.        Creating VRML model for September 1998
  1684.        Creating full statistics for    September 1998
  1685.        ... processing URLs
  1686.        ... processing hostnames
  1687.        ... processing user agents
  1688.        ... processing referrer URLs
  1689.        Statistics complete until 30/Sep/1998
  1690.        $
  1691.  
  1692.      After the analyzer    terminates, start your browser and open    the file
  1693.      tteessttdd//iinnddeexx..hhttmmll.
  1694.  
  1695.      To    permanently install the    program, issue a make install which copies the
  1696.      required files in the appropriate places.    To set up an analyzer
  1697.      configuration for a web server, choose an output directory    for the
  1698.      statistics    report and use the hhaa--sseettuupp utility to install the required
  1699.      files there.
  1700.  
  1701.      Following are some    more examples, which assume that the analyzer has been
  1702.      installed permanently.  The first command processes an archived logfile
  1703.      _l_o_g_Y_Y_Y_Y/_a_c_c_e_s_s._M_M from the    server's log directory to create a report for
  1704.      January 1998 in the directory //uussrr//hhttddooccss//ssttaattss:
  1705.  
  1706.        $ cd    /usr/ns-home/www/logs
  1707.        $ http-analyze -vm3f    -o /usr/htdocs/stats log1998/access.01
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713. Page 26                                 (printed 9/15/98)
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1721.  
  1722.  
  1723.  
  1724.      The next command reads the    logfile    entries    from a pipeline    and creates
  1725.      the statistics report for a whole year using a customized configuration
  1726.      file:
  1727.  
  1728.        $ gzcat log1997/access.[01]?.gz |
  1729.        > http-analyze -c /usr/httpd/analyze.conf -
  1730.  
  1731.  
  1732.    RRRREEEEGGGGUUUULLLLAAAARRRR IIIINNNNVVVVOOOOCCCCAAAATTTTIIIIOOOONNNN VVVVIIIIAAAA CCCCRRRROOOONNNN
  1733.      To    have statistics    generated on a regular base, use the following scheme:
  1734.  
  1735.      1)  Optionally    install    a cron job which calls hhttttpp--aannaallyyzzee --dd
  1736.          frequently    to create a short statistics report.  The execution
  1737.          interval may range    from once per day up to    twice per hour
  1738.          depending on the size of your logfile and the time    needed to
  1739.          analyze it.  On our server, we run    the daily statistics once per
  1740.          hour.
  1741.  
  1742.      2)  Install a cron job    which calls hhttttpp--aannaallyyzzee --mm to create a    full
  1743.          statistics    report once per    week or    once per day (again depending
  1744.          on    the size of your logfile). Note    that the full statistics
  1745.          report is created for the first time at the second    day of a new
  1746.          month.  On    our server, we create a    monthly    summary    two times per
  1747.          day.
  1748.  
  1749.      3)  Create a script which rotates the server's    logfile, restarts the
  1750.          http server, and then creates the final summary for this period.
  1751.          Have _c_r_o_n execute this script at 00:00 on the ffiirrsstt ddaayy of    a new
  1752.          month.  See the script rroottaattee--hhttttppdd for an    example    on how to do
  1753.          this for several virtual web servers running on the same machine.
  1754.  
  1755.      4)  Because of    _c_r_o_n's scheduling overhead and delays in execution of
  1756.          the script    which rotates the logfile, heavy used servers
  1757.          sometimes writes a    few entries for    the new    month in the old
  1758.          logfile.  hhttttpp--aannaallyyzzee usually detects and    ignores    such "white
  1759.          noise" at the end of a month.  However, to    get correct figures,
  1760.          in    this last step you should run hhttttpp--aannaallyyzzee --mm on the logfile
  1761.          for the current month immediately after generating    the statistics
  1762.          for the previous month.
  1763.  
  1764.      Note that the cron    jobs must run with the user ID of the owner of the
  1765.      directory where the HTML output files are to be created, except for
  1766.      rroottaattee--hhttttppdd, which must run with the user    ID of the server user.    You
  1767.      should also take care to avoid running more than one hhttttpp--aannaallyyzzee
  1768.      processes at the same time.  Here are some    sample _c_r_o_n_t_a_b(1) entries for
  1769.      the scheme    described above:
  1770.  
  1771.      # Generate a full report twice    per day    at 01:17 and 13:17
  1772.      17  1,13 * * *     /usr/local/bin/http-analyze -m    -c /usr/httpd/analyze.conf
  1773.      # Generate a short summary each hour except at    01:17 or 13:17
  1774.      17  2-12 * * *     /usr/local/bin/http-analyze -d    -c /usr/httpd/analyze.conf
  1775.      17 14-23 * * *     /usr/local/bin/http-analyze -d    -c /usr/httpd/analyze.conf
  1776.  
  1777.  
  1778.  
  1779. Page 27                                 (printed 9/15/98)
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1787.  
  1788.  
  1789.  
  1790.      # Rotate the HTTPD logfiles at    the first day of a new month at    00:00
  1791.      0 0 1 * *     /usr/local/bin/rotate-httpd
  1792.  
  1793.  
  1794. TTTTRRRROOOOUUUUBBBBLLLLEEEESSSSHHHHOOOOOOOOTTTTIIIINNNNGGGG
  1795.      If    you discover any problems using    the analyzer you may find the verbose
  1796.      mode helpful.  Each --vv option increases the verbosity level. In verbosity
  1797.      level 1, hhttttpp--aannaallyyzzee comments ongoing processing;    in level 2 it
  1798.      indicates progress    by printing a dot for each new day discovered in the
  1799.      logfile.  In level    3, a debug message for each logfile entry parsed
  1800.      successfully is printed and in level 4 an even more detailed message
  1801.      appears on    standard error.     Furthermore, compiling    hhttttpp--aannaallyyzzee without
  1802.      the macro _N_D_E_B_U_G includes various assertion checks    in the executable.
  1803.  
  1804.      $ http-analyze    -vvvm3f    -o testd log1998/access.08
  1805.      http-analyze 2.2 (IP22; IRIX 6.2), Copyright 1998 RENT-A-GURU(TM)
  1806.      Generating full statistics in output directory    `testd'
  1807.      Reading data from `log1998/access.08'
  1808.      Best blocksize    for I/O    is 64 KB
  1809.      Hmm, looks like Extended Logfile Format (ELF)
  1810.        1 01/Aug/1998:00:02:14 [262929738], req=/stats/, sz=2656 <- Code 200    OK
  1811.      Start new period at 01/Aug/1998
  1812.        2 01/Aug/1998:00:02:17 [262929741], req=/logo.gif, sz=5880 <- Code 200 OK
  1813.        3 01/Aug/1998:00:02:17 [262929741], req=/btns.gif, sz=4713 <- Code 200 OK
  1814.      ...
  1815.  
  1816.  
  1817. RRRREEEEGGGGIIIISSSSTTTTRRRRAAAATTTTIIIIOOOONNNN
  1818.      The distribution of hhttttpp--aannaallyyzzee on our web site is made available    to you
  1819.      for evaluation purposes only.  In this version an "unregistered" button
  1820.      will show up in the statistics report. To replace this button with    the
  1821.      Netstore logo of the free version (for personal and educational use),
  1822.      just click    on this    "unregistered" button to follow    the link to our
  1823.      registration form on our web site and register for    a free,    non-commercial
  1824.      version.
  1825.  
  1826.    NNNNOOOONNNN----CCCCOOOOMMMMMMMMEEEERRRRCCCCIIIIAAAALLLL VVVVEEEERRRRSSSSIIIIOOOONNNN
  1827.      After registration    you will receive a registration    ID and two
  1828.      registration images as replacements for the "unregistered"    buttons    by
  1829.      email.  In    the private version, the Netstore logo,    a Copyright note and a
  1830.      link to the homepage of hhttttpp--aannaallyyzzee appears in the statistics report,
  1831.      which must    be left    intact according to the    license, under which this
  1832.      software is made available    to you.
  1833.  
  1834.    CCCCOOOOMMMMMMMMEEEERRRRCCCCIIIIAAAALLLL VVVVEEEERRRRSSSSIIIIOOOONNNN
  1835.      If    you use    hhttttpp--aannaallyyzzee for commercial purposes such as providing
  1836.      statistics    services for your customers, you must buy a _C_o_m_m_e_r_c_i_a_l _S_e_r_v_i_c_e
  1837.      _L_i_c_e_n_s_e available from RENT-A-GURU(R) and authorized resellers.  You will
  1838.      receive a registration ID and two registration images as replacements for
  1839.      the "unregistered"    buttons    by email from our office.
  1840.  
  1841.      In    the commercial version,    the Netstore logo, the Copyright note and the
  1842.  
  1843.  
  1844.  
  1845. Page 28                                 (printed 9/15/98)
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1853.  
  1854.  
  1855.  
  1856.      link to the homepage of hhttttpp--aannaallyyzzee are supressed    from the statistics
  1857.      report (except for    the logo and Copyright,    which appears only once    on the
  1858.      main page and inside the navigation frame). You can also add your
  1859.      Company's logo to the report using    the CCuussttLLooggooWW and CCuussttLLooggooBB directives
  1860.      in    the configuration file,    which are enabled by branding the software.
  1861.      Except for    this feature and the individual    support    for users of a
  1862.      commercial    license, both versions have identical functionality.
  1863.  
  1864.    BBBBRRRRAAAANNNNDDDDIIIINNNNGGGG TTTTHHHHEEEE    SSSSOOOOFFFFTTTTWWWWAAAARRRREEEE
  1865.      For all license types, you    have to    brand your copy    of hhttttpp--aannaallyyzzee    with
  1866.      the registration ID and the registration images.  The registration    ID may
  1867.      be    set either in a    system-wide file (usually /_u_s_r/_l_o_c_a_l/_l_i_b/_h_t_t_p-
  1868.      _a_n_a_l_y_z_e/_R_E_G_I_D) or via the RReeggIInnffoo directives in an    analyzer configuration
  1869.      file.  The    latter method requires specification of    the configuration file
  1870.      each time hhttttpp--aannaallyyzzee is invoked.     If you    create a system-wide
  1871.      registration file,    you need to brand the software only once. To do    so,
  1872.      issue the following commands as root (if you can't    become root, use
  1873.      another directory you can write to    and set    the environment    variable
  1874.      HHAA__LLIIBBDDIIRR to it's name):
  1875.  
  1876.        # mkdir _l_i_b_d_i_r
  1877.        # http-analyze -r "_C_u_s_t_o_m_e_r _N_a_m_e" _r_e_g_I_D
  1878.        Registration    information saved in file `_l_i_b_d_i_r/REGID'
  1879.        #
  1880.  
  1881.      where _l_i_b_d_i_r is the library directory, _C_u_s_t_o_m_e_r _N_a_m_e is the name of the
  1882.      organization this license is registered for and _r_e_g_I_D is the registration
  1883.      ID    assigned to the    license.  Next,    install    the two    registration images we
  1884.      sent you by email into the    appropriate buttons subdirectory:
  1885.  
  1886.      o If you use hhttttpp--aannaallyyzzee for only one    web server, copy the
  1887.        registration    images into the    buttons    subdirectory (bbttnn) of the
  1888.        corresponding statistics output directory (OOuuttppuuttDDiirr).
  1889.  
  1890.      o If you analyze several virtual servers on the same platform,
  1891.        install the registration images in the buttons subdirectory
  1892.        (usually /_u_s_r/_l_o_c_a_l/_l_i_b/_h_t_t_p-_a_n_a_l_y_z_e/_b_t_n), which should have    been
  1893.        created during the installation process.  Then, you can easily
  1894.        install the required    files and buttons using    the hhaa--sseettuupp utility
  1895.        by copying or linking them into the several OOuuttppuuttDDiirr
  1896.        subdirectories for the virtual web servers.
  1897.  
  1898.      After installing the buttons you have completed the registration.    Now
  1899.      run the analyzer to create    the statistics with the    registered version.
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911. Page 29                                 (printed 9/15/98)
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1919.  
  1920.  
  1921.  
  1922. YYYYEEEEAAAARRRR 2222000000000000 CCCCOOOOMMMMPPPPLLLLIIIIAAAANNNNCCCCEEEE
  1923.      Versions 2.0 and above of hhttttpp--aannaallyyzzee are    fully Year 2000    compliant.
  1924.      There are no problems with    date-related functions after the year 1999.
  1925.      Year 2000 compliant means,    that the software does not produce errors in
  1926.      date-related data or calculations or experience loss of functionality as
  1927.      a result of the transition    to the year 2000.  This    Year 2000 compliance
  1928.      statement is not a    product    warranty. The hhttttpp--aannaallyyzzee software is
  1929.      provided under the    terms of the license agreement included    in each
  1930.      distribution.
  1931.  
  1932.    DDDDAAAATTTTEEEE    UUUUSSSSAAAAGGGGEEEE IIIINNNN HHHHTTTTTTTTPPPP----AAAANNNNAAAALLLLYYYYZZZZEEEE
  1933.      The analyzer depends on the timestamp found in the    logfile    of the web
  1934.      server. A Year 2000 compliant date    format was choosen for the _C_o_m_m_o_n and
  1935.      _E_x_t_e_n_d_e_d _L_o_g_f_i_l_e _F_o_r_m_a_t_s from the very beginning on. This unique date
  1936.      format is - and ever was -    required by hhttttpp--aannaallyyzzee to be able to
  1937.      generate a    statistics report, so there are    no problems unless those
  1938.      caused by your OS (see below).
  1939.  
  1940.      Although hhttttpp--aannaallyyzzee 22..XX generates two-digit years in some output
  1941.      filenames to retain compatibility with previous versions of the log
  1942.      analyzer, those files are placed in a subdirectory    containing the year in
  1943.      four digits, which    make aallll output    filenames - even those generated by
  1944.      older versions of the log analyzer    - fully    Year 2000 compliant. This way,
  1945.      statistics    reports    generated by the 1.9e version of the analyzer, which
  1946.      originally    were not Year 2000 compliant, will become compliant during the
  1947.      upgrade to    version    2.X automatically - without re-running the statistics
  1948.      with the original logfiles!
  1949.  
  1950.      The date format in    the --II and --EE options allows a year to be specified
  1951.      with two digits only.  hhttttpp--aannaallyyzzee interprets values greater than    70 in
  1952.      1900 and values lower than    70 in 2000. This way, the analyzer covers the
  1953.      whole range of the    time representation in modern Operating    Systems.
  1954.      However, any other    date can be specified unambiguously by using four
  1955.      digits for    the year.
  1956.  
  1957.  
  1958.    DDDDAAAATTTTEEEE    UUUUSSSSAAAAGGGGEEEE IIIINNNN TTTTHHHHEEEE OOOOPPPPEEEERRRRAAAATTTTIIIINNNNGGGG SSSSYYYYSSSSTTTTEEEEMMMM
  1959.      Actually, there is    a date-related function    in modern operating systems,
  1960.      which may cause problems after the    year 2037. For those interested    in the
  1961.      technical details,    here's why:
  1962.  
  1963.      In    operating systems the date is often represented    in seconds since a
  1964.      certain date. For example,    in Unix    systems    the date is represented    as
  1965.      seconds since the birth of    the OS at January, 1st 1970. This value    is
  1966.      stored in a _s_i_g_n_e_d    _l_o_n_g (4-byte) data object, so it can represent as much
  1967.      as    2147483648 seconds, which equals 35791394 minutes = 596523 hours =
  1968.      24855 days    = 68 years.  Therefore,    most clocks in traditional Unix
  1969.      systems will overflow at January, 1st 2038    if the OS is not updated
  1970.      before this date.
  1971.  
  1972.      It    has been reported that a certain version of Windows doesn't recognize
  1973.      the Year 2000 as a    leap year. Although hhttttpp--aannaallyyzzee computes leap years
  1974.  
  1975.  
  1976.  
  1977. Page 30                                 (printed 9/15/98)
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  1985.  
  1986.  
  1987.  
  1988.      for itself, it maps dates into weekdays using the _l_o_c_a_l_t_i_m_e function,
  1989.      which may work correctly only if the OS itself knows about    Year 2000
  1990.      being a leap year.     Since hhttttpp--aannaallyyzzee uses several data structures
  1991.      depending on the operating    system's idea of the time (for example,    the
  1992.      _t_m__y_e_a_r variable contains the years since 1900), the software has to be
  1993.      updated also before the year 2038 in order    to take    advantage of the time
  1994.      representation in future OS'es.
  1995.  
  1996. CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
  1997.      Copyright (C) 1996-1998 by    Stefan Stapelberg, RENT-A-GURU(R),
  1998.      <stefan@rent-a-guru.de>
  1999.  
  2000.      Please see    the file LLIICCEENNSSEE included in the distribution for the license
  2001.      terms under which this program is made available to you in    the free,
  2002.      non-commercial version.
  2003.  
  2004.      RENT-A-GURU(R) is a registered trademark of Martin    Weitzel, Stefan
  2005.      Stapelberg, and Walter Mecky.
  2006.      Netstore(R) is a registered trademark of Stefan Stapelberg.
  2007.  
  2008. CCCCRRRREEEEDDDDIIIITTTTSSSS
  2009.      Thanks to the numeruous users of hhttttpp--aannaallyyzzee for their valuable
  2010.      feedback.    Special    thanks to Lars-Owe Ivarsson forr his suggestions to
  2011.      optimize the parser algorithm and the code    he provided as an example.
  2012.      Special thanks also to Thomas Boutell (_h_t_t_p://_w_w_w._b_o_u_t_e_l_l._c_o_m/) for his
  2013.      great GD library for fast GIF creation, without hhttttpp--aannaallyyzzee couldn't
  2014.      produce such fancy    graphics in the    statistics report.
  2015.      _g_d _1._2    _i_s _c_o_p_y_r_i_g_h_t _1_9_9_4, _1_9_9_5, _Q_u_e_s_t _P_r_o_t_e_i_n _D_a_t_a_b_a_s_e    _C_e_n_t_e_r,    _C_o_l_d
  2016.      _S_p_r_i_n_g    _H_a_r_b_o_r _L_a_b_s. _P_e_r_m_i_s_s_i_o_n    _g_r_a_n_t_e_d    _t_o _c_o_p_y    _a_n_d _d_i_s_t_r_i_b_u_t_e _t_h_i_s
  2017.      _w_o_r_k _p_r_o_v_i_d_e_d _t_h_a_t _t_h_i_s _n_o_t_i_c_e    _r_e_m_a_i_n_s    _i_n_t_a_c_t.    _C_r_e_d_i_t _f_o_r _t_h_e _l_i_b_r_a_r_y
  2018.      _m_u_s_t _b_e _g_i_v_e_n _t_o _t_h_e _Q_u_e_s_t _P_r_o_t_e_i_n _D_a_t_a_b_a_s_e _C_e_n_t_e_r, _C_o_l_d _S_p_r_i_n_g
  2019.      _H_a_r_b_o_r    _L_a_b_s, _i_n _a_l_l _d_e_r_i_v_e_d _w_o_r_k_s.
  2020.  
  2021. EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS
  2022.      Environment variables might work only in the Unix version of hhttttpp--
  2023.      aannaallyyzzee.
  2024.  
  2025.      HHAA__LLIIBBDDIIRR           name of the library directory (default: /usr/local/lib/http-analyze))
  2026.      HHAA__CCOONNFFIIGG           nnaammee ooff tthhee ccoonnffiigguurraattiioonn ffiillee ffoorr hhttttpp--aannaallyyzzee ((nnoo ddeeffaauulltt))
  2027.  
  2028. FFFFIIIILLLLEEEESSSS
  2029.      This section lists    all files required by hhttttpp--aannaallyyzzee to create a
  2030.      statistics    report.     Those files are usually installed in the library
  2031.      directory as defined by the environment variable HHAA__LLIIBBDDIIRR    or the hard-
  2032.      coded default (usually /_u_s_r/_l_o_c_a_l/_l_i_b/_h_t_t_p-_a_n_a_l_y_z_e) defined at compile-
  2033.      time.  See    also the section _S_t_a_t_i_s_t_i_c_s _R_e_p_o_r_t above for the names of the
  2034.      HTML output files.
  2035.  
  2036.      _b_t_n/*._g_i_f           Buttons and icons used in HTML output files
  2037.      _T_L_D           List of all top-level-domains
  2038.      _h_a_2._0_*._g_i_f       hhttttpp--aannaallyyzzee logos for your web site (black/white bg)
  2039.      _l_o_g_f_m_t.[_c_d_e]_l_f    Sample logfiles in CLF, DLF and ELF format
  2040.  
  2041.  
  2042.  
  2043. Page 31                                 (printed 9/15/98)
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))            UUUUnnnniiiixxxx CCCCoooommmmmmmmaaaannnndddd RRRReeeeffffeeeerrrreeeennnncccceeee           hhhhttttttttpppp----aaaannnnaaaallllyyyyzzzzeeee((((1111))))
  2051.  
  2052.  
  2053.  
  2054.      _3_D_p_r_o_l_o_g._w_r_l      Prolog file for the yearly VRML model on    SGI workstations
  2055.      _3_D_s_h_e_l_f_M_o_t_i_o_n._w_a_v Sound file for the yearly model on SGI workstations
  2056.      _3_D_l_o_g_o._w_r_l._g_z     A stubs file for    the yearly VRML    model on PCs
  2057.  
  2058. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  2059.      _r_o_t_a_t_e-_h_t_t_p_d      Script to rotate    the web    server's logfiles
  2060.      _h_a-_s_e_t_u_p           Script to set up    the analyzer configuration for a web server
  2061.      _c_v_t__f_i_l_e_s           Script to convert older files into new 2.0 directory structure
  2062.      _h_t_t_p://_w_w_w._n_e_t_s_t_o_r_e._d_e/_S_u_p_p_l_y/_h_t_t_p-_a_n_a_l_y_z_e/   Homepage of hhttttpp--aannaallyyzzee
  2063.  
  2064. NNNNOOOOTTTTEEEESSSS
  2065.      Logfile entries must be sorted in order of    ascending date and time.  If
  2066.      hhttttpp--aannaallyyzzee detects logfile entries from an older    month between newer
  2067.      ones, it prints a warning and skips all entries up    to the date of the
  2068.      last entry    processed.
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109. Page 32                                 (printed 9/15/98)
  2110.  
  2111.  
  2112.  
  2113.