AWStats for Tomcat

Under Development

This is under development, and is subject to many changes

  • Using awstats-6.8
  • Runs on caje.
  • Current path of software is /ucd/opt/sakai/tmp
  • Changes made to awstats itself
    • Created config /ucd/opt/sakai/tmp/awstats-6.8/wwwroot/cgi-bin/awstats.ss_test_tc.conf based off of awstats.model.conf for smartsite test
      • Set SiteDomain (smartsite-test.ucdavis.edu)
      • Set HostAliases (added all appserver names)
      • Disabled DNS lookups (DNSLookup=0)
      • Set DirData to /ucd/opt/sakai/tmp/awstats-6.8/var/lib/awstats
      • Set DirIcons to http://caje.ucdavis.edu/awstats/icon/
      • Put load balancer IP in SkipHosts
    • Created config /ucd/opt/sakai/tmp/awstats-6.8/wwwroot/cgi-bin/awstats.ss_test_tc.conf based off of awstats.model.conf for smartsite test
      • Set SiteDomain (smartsite.ucdavis.edu)
      • Set HostAliases (added all appserver names)
      • Disabled DNS lookups (DNSLookup=0)
      • Set DirData to /ucd/opt/sakai/tmp/awstats-6.8/var/lib/awstats
      • Set DirIcons to http://caje.ucdavis.edu/awstats/icon/
      • Put load balancer IP in SkipHosts
  • Command Decision: Decided to not run as CGI, but generate HTML externally.
    • Set up all the sundry stuff on webserver (path /var/www/html/sakai/awstats/* came from what was in webroot in the awstats home)
  • Since awstats supports perl style inclusions and since we have many different access logs, decided to import files atomically and left them bzip'd.
  • Created import script /ucd/opt/sakai/tmp/scripts/awimport.sh
  • It works basically by using find and sort to generate a chronological list of access log files for import, and then importing them using awstats.pl
  • The following variables are set and are global across all environments(eg test,prod):
    • DATA_DIR - Path to store file lists of already imported files
    • AWSTATS_HOME - Path where to find awstats.pl
    • AWSTATS_TOOLS - Path where to find awstats helper perl scripts
    • BZCAT_CMD - Full path to program to cat bzip2 files.
  • The following variables are specific to each environment:
    • AW_CONFIG - base file name of the awstats.pl config file. Since its unique to an environment its uses as a key for tons of things
    • AFS_LOGDIR - Path to find all the access log files. If used in conjunction with log_accum.pl it should be the path where the month directories live.
    • HTML_DIR - Path to place html result files
  • If a access log file name exists in the file $DATA_DIR/$AW_CONFIG.dat, it is skipped. While awstats does have this capability, it is also wordy about it, and this is more efficient.
  • Once all imports are complete, it generates the reports. It does this:
    • First create a save point for the HTML files. If this directory exists, clean it.
    • Save the HTML files by moving the current HTML_DIR to the save directory.
    • Create the HTML_DIR
    • cd into it and run awstats_buildstaticpages.pl to build the HTML files.