# ngxstat Per-domain Nginx log analytics with hybrid static reports and live insights. ## Generating Reports Use the `generate_reports.py` script to build aggregated JSON and HTML files from `database/ngxstat.db`. Create a virtual environment and install dependencies: ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` Then run one or more of the interval commands: ```bash python scripts/generate_reports.py hourly python scripts/generate_reports.py daily python scripts/generate_reports.py weekly python scripts/generate_reports.py monthly ``` Reports are written under the `output/` directory. Each command updates the corresponding `.json` file and produces an HTML dashboard using Chart.js. ## Importing Logs Use the `run-import.sh` script to set up the Python environment if needed and import the latest Nginx log entries into `database/ngxstat.db`. ```bash ./run-import.sh ``` This script is suitable for cron jobs as it creates the virtual environment on first run, installs dependencies and reuses the environment on subsequent runs. The importer handles rotated logs in order from oldest to newest so entries are processed exactly once. If you rerun the script, it only ingests records with a timestamp newer than the latest one already stored in the database, preventing duplicates.