# Core Monitoring Module (`APP_CORE`) The **Core Monitoring** module provides the backend logic for collecting, extracting, and serving OpenVPN usage statistics. ## Components 1. **Mining API (`openvpn_api_v3.py`)**: - A Flask-based REST API running on port `5001`. - Serves real-time data, authentication (JWT), and historical statistics. - Connects to the SQLite database `ovpmon.db`. 2. **Data Gatherer (`openvpn_gatherer_v3.py`)**: - A background service/daemon. - Parses OpenVPN server logs (`status.log`). - Aggregates bandwidth usage into time-series tables (`usage_history`, `stats_hourly`, etc.). ## Configuration Configuration is handled via `config.ini` (typically located in the project root or `/etc/openvpn/monitor/`). ## Development ```bash # Setup Environment python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # Run API python3 openvpn_api_v3.py # Run Gatherer (in separate terminal) python3 openvpn_gatherer_v3.py ``` ## API Documentation Full API documentation is available in `DOCS/Core_Monitoring/API_Reference.md`.