Skip to main content

Web Statistics and Analytics Package

Project description

Web Statistics and Analytics

This package produces web statistics and analytical output based on nginx access log files.

PyPI package version number Actions Status License

Downloads Python

Live Example

Visit the live example on logikfabrik.com.

Installation

pip install a9x-webstatistics

Requirements on Linux / Unix

  • nginx standard access log file
  • python3.9 onwards
  • optional: maxmind db which need to be download by end user after registration

Deployment on Linux / Unix

#!/bin/sh

export LOG=/usr/local/www/webstats.log
export PATH=/usr/local/www/django5/envpy311/bin:$PATH

python3.11 -m a9x_webstatistics.main \
   --infile /var/log/nginx-access.log \
   --geoip /usr/local/share/GeoIP/GeoLite2-Country.mmdb \
   --domain https://www.logikfabrik.com \
   --statfile /usr/local/www/lf_static/webstatsLF24.json &> $LOG

python3.11 -m a9x_webstatistics.gencockpit \
   --infile /usr/local/www/lf_static/webstatsLF24.json \
   --outfile /usr/local/www/lf_static/webstatsLF24.html &>> $LOG

Cron-Job Entry for Linux / FreeBSD:

#minute hour    mday    month   wday    who     command
13,58   *       *       *       *       dj1     /usr/local/www/cronjobs/cron_webstatistics.sh

Installation on Windows

# install on windows:

## install a virtual env for python
python -m venv c:\temp\webstatsenv

## activate env
c:\temp\webstatsenv\Scripts\activate.bat

## install a9x-webstatistics
pip install a9x-webstatistics
python -m pip install --upgrade pip
python -m pip list

Deployment on Windows

# run
c:
cd \temp
wget -URI https://www.logikfabrik.com/wlog/access.log -OutFile access.log

## active env
c:\temp\webstatsenv\Scripts\activate.bat

## create calculate statistics
## there are no country statistics created as not geoip defined
python -m a9x_webstatistics.main --infile access.log --statfile webstatsLF.json

## create html file for webstatistics
python -m a9x_webstatistics.gencockpit --infile webstatsLF.json --outfile webstatsLF.html

Extended Example

#!/bin/sh

export LOG=/usr/local/www/webstats.log
export PATH=/usr/local/www/django5/envpy311/bin:$PATH

_YEARNUM="$(date +'%Y')";
_MONTHNUM="$(date +'%m')";

# make a archive copy for every month:
cp /usr/local/www/lf_static/webstatsLF24.json /usr/local/www/lf_static/webstatsLF24$_YEARNUM$_MONTHNUM.json
cp /usr/local/www/lf_static/webstatsLF24.html /usr/local/www/lf_static/webstatsLF24$_YEARNUM$_MONTHNUM.html

# updates all packages:
pip install -U `pip list --outdated | awk 'NR > 2 {print $1}'` >> $LOG


python3.11 -m a9x_webstatistics.main \
   --infile /var/log/nginx-access.log \
   --geoip /usr/local/share/GeoIP/GeoLite2-Country.mmdb \
   --domain https://www.logikfabrik.com \
   --statfile /usr/local/www/lf_static/webstatsLF24.json &> $LOG

python3.11 -m a9x_webstatistics.gencockpit \
   --infile /usr/local/www/lf_static/webstatsLF24.json \
   --outfile /usr/local/www/lf_static/webstatsLF24.html &>> $LOG

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a9x_webstatistics-1.1.25.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

a9x_webstatistics-1.1.25-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file a9x_webstatistics-1.1.25.tar.gz.

File metadata

  • Download URL: a9x_webstatistics-1.1.25.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for a9x_webstatistics-1.1.25.tar.gz
Algorithm Hash digest
SHA256 f2ae24474d28941a519ebc973db61da945b21513ebf02207868b50507ff9d67e
MD5 c8fbe1b5cff0ad2a5e0e40afd091cf66
BLAKE2b-256 1dbedbebd7e44622ab9a76b8729c0e6de151ffa5acb07337db1b8057c083a27a

See more details on using hashes here.

File details

Details for the file a9x_webstatistics-1.1.25-py3-none-any.whl.

File metadata

File hashes

Hashes for a9x_webstatistics-1.1.25-py3-none-any.whl
Algorithm Hash digest
SHA256 c6a83941b13ba6a55c4ab422358f7bd0d3d0c115671f1c75adce823cc35a3a6e
MD5 a70b9ffca7cb2fb12d8225d9691750da
BLAKE2b-256 7b46d98343d1986565106b96c5f2a717c32dbbb701386d6b1b7948467be5ba4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page