- Fixed a backward compatibility issue with custom health status labels:
previously, if customized health status labels
(
OPENWISP_MONITORING_HEALTH_STATUS_LABELS
) were used and the new "deactivated" status label was missing after an upgrade, the application would crash during startup. In this version, a default set of valid labels is always available, which is then overridden by custom labels as needed.
- Added support for monitoring WiFi clients and sessions.
- Enabled importing and exporting of devices.
- Introduced dashboard monitoring charts.
- Added support for the Iperf3 check.
- Introduced the OPENWISP_MONITORING_DEFAULT_RETENTION_POLICY setting to configure the default retention policy.
- Added support for InfluxDB UDP mode.
- Enabled filtering by custom date ranges for timeseries charts.
- Added zoom functionality to timeseries charts for detailed views.
- Introduced device deactivation: checks and monitoring data are not collected for deactivated devices.
- Disabled organization: checks and monitoring data are not collected for devices in disabled organization.
- Added WiFi version capability to the WiFi interface status.
- Added support for WiFi 6 client capability.
- Expanded REST API with device list and detailed monitoring information.
- Introduced an API endpoint to return nearby devices.
- Added an organization filter to timeseries charts.
- Display total values in traffic charts.
- Automatically delete timeseries data when a device is deleted.
- Removed squashed migrations for improved manageability.
- Fallback to OPENWISP_CONTROLLER_MANAGEMENT_IP_ONLY if OPENWISP_MONITORING_MANAGEMENT_IP_ONLY is not configured.
- Enhanced the efficiency of
DeviceMetricView
by batching write operations. - Delegated timeseries data writing to a Celery worker in
DeviceMetricView
. - Introduced default timeouts for Celery tasks.
- Renamed the "Uptime" chart to "Ping Success Rate."
- Improved the UX of the device "Status" tab by making bridge members clickable.
- Bumped
openwisp-controller~=1.1.0
- Bumped
influxdb~=5.3.2
- Bumped
django-nested-admin~=4.0.2
- Bumped
python-dateutil>=2.7.0,<3.0.0
- Added support for Django
4.1.x
and4.2.x
. - Added support for Python
3.10
. - Dropped support for Python
3.7
. - Dropped support for Django
3.0.x
and3.1.x
.
- Fixed visibility of the "Recover deleted devices" button.
- Prevented chart loading failure when timezone JS fails.
- Corrected ping command from "-i" to "-p".
- Added error handling for
IntegrityError
inMetric._get_or_create
. - Fixed unrecognized access technology exception.
- Displayed error messages from the timeseries chart API in an alert box.
- Fixed timeseries structure for storing signal metrics.
- Resolved data collection issues when tx/rx stats are missing.
- Used the "time" argument for calculating time in
Chart._get_time
.
- Fixed data collection for missing mobile signal: Skip writing mobile signal metric if mobile signal info is missing.
- Fixed device health status changing to
problem
when the configuration status changes tomodified
.
- Fixed migrations which create checks for existing devices; this problem was happening to OpenWISP instances which were deployed without OpenWISP Monitoring and then enabled the monitoring features
- Removed hardcoded static URLs which created issues when static files are served using an external service (e.g. S3 storage buckets)
- Fixed "migrate_timeseries" command stalling when measurements exceeds retention policy
- Added metrics for mobile (5G/LTE/UMTS/GSM) signal strength, signal quality and mobile access technology in use.
- Made Ping check configurable
- Added monitoring status chart to the dashboard and a geographic map which shows a visual representation of the monitoring the status of the devices.
- Added functionality to automatically clear the device's
management_ip
when a device goes offline - Added support for specifying the time for received time-series data.
- Made read requests to timeseries DB resilient to failures
Monitoring Template is removed in favour of openwisp monitoring packages. Follow the migration guide in migrating from monitoring scripts to monitoring packages section of openwisp-monitoring documentation.
If you have made changes to the default Monitoring Template, then create a backup of your template before running migrations. Running migrations will make changes to the default Monitoring Template.
The time-series database schema for storing interface traffic and associated WiFi clients has been updated. The data for interface traffic and associated WiFi clients is stored in
traffic
andwifi_clients
measurements respectively. The Django migrations will perform the necessary operations in the time-series database aysnchronously. It is recommended that you backup the time-series database before running the migrations.You can use the migrate_timeseries management command to trigger the migration of the time-series database.
The interface traffic and associated WiFi clients metrics store additional tags, i.e.
organization_id
,location_id
andfloorplan_id
.
- Dropped support for Python 3.6
- Dropped support for Django 2.2
- Added support for Python 3.8 and 3.9
- Added support for Django 3.2 and 4.0
- Upgraded openwisp-controller to 1.0.x
- Upgraded inflxudb to 5.3.x
- Upgraded django-cache-memoize to 0.1.0
- Upgraded django-nested-admin to 3.4.0
- Configuration applied check is triggered whenever the configuration status of a device changes
- Added a default
5
minutes tolerance toCPU
andmemory
alert settings. - Increased threshold value for
disk
alert settings from 80% to 90%, since some device models have limited flash and would trigger the alert in many cases. - Renamed
Check.check
field toCheck.check_type
- Made metric health status independent of AlertSetting tolerance. Added
tolerance_crossed
parameter inopenwisp_monitoring.monitoring.signals.threshold_crossed
signal - The system does not sends connection notifications if the connectivity of the device changes
- Improved UX of device's reachability (ping) chart. Added more colours to represent different scenarios
- Avoid showing charts which have empty data in the REST API response and in the device charts admin page
- Fixed a bug that caused inconsistency in the order of chart summary values
- Fixed bugs in restoring deleted devices using
django-reversion
- Fixed migrations referencing non-swappable OpenWISP modules that broke OpenWISP's extensibility
- Skip retry for writing metrics beyond retention policy. The celery worker kept on retrying writing data to InfluxDB even when the data points crossed the retention policy of InfluxDB. This led to accumulation of such tasks which overloaded the celery workers.
First release.