Set up Log Analysis Reports

Analog is a program with processes webserver access logs, performs DNS lookup, and outputs HTML reports. Analog should already be installed. A modified configuration file is included in the OpenACS tarball.

  1. [root src]# su - $OPENACS_SERVICE_NAME
    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ mkdir www/log
    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cp -r /usr/share/analog-5.32/images www/log/
    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ 
    su - $OPENACS_SERVICE_NAME
    cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/analog.cfg.txt etc/analog.cfg
    mkdir www/log
    cp -r /usr/share/analog-5.32/images www/log/
    

    Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg and change the variable in HOSTNAME "[my organisation]" to reflect your website title. If you don't want the traffic log to be publicly visible, change OUTFILE /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/log/traffic.html to use a private directory. You'll also need to edit all instances of service0 to your $OPENACS_SERVICE_NAME.

  2. Run it.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/share/analog-5.32/analog -G -g/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg
    /usr/share/analog-5.32/analog: analog version 5.32/Unix
    /usr/share/analog-5.32/analog: Warning F: Failed to open DNS input file
      /home/$OPENACS_SERVICE_NAME/dnscache: ignoring it
      (For help on all errors and warnings, see docs/errors.html)
    /usr/share/analog-5.32/analog: Warning R: Turning off empty Search Word Report
    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
    

    Verify that it works by browing to http://yourserver.test:8000/log/traffic.html

  3. Automate this by creating a file in /etc/cron.daily.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ exit
    logout
    
    [root root]# emacs /etc/cron.daily/analog
    

    Put this into the file:

    #!/bin/sh
    
    /usr/share/analog-5.32/analog -G -g/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg
    
    [root root]# chmod 755 /etc/cron.daily/analog
    

    Test it by running the script.

    [root root]# sh /etc/cron.daily/analog
    

    Browse to http://yourserver.test/log/traffic.html