towerops/priv/static/changelog.txt
Graham McIntire d7741cdc0e
feat: implement unified checks system (Phase 1-4)
This commit implements the unified checks architecture that consolidates
SNMP monitoring with HTTP/TCP/DNS checks under a single "check" abstraction,
enabling consistent graphing, alerting, and management across all check types.

Database Changes:
- Add source_type and source_id to checks table for tracking auto-discovered
  vs manually created checks
- Add value field to check_results for storing numeric sensor readings
- Maintain backward compatibility with existing check_results data

New SNMP Executors:
- SnmpSensorExecutor: Poll sensor OIDs and return formatted values with
  status determination (OK/WARNING/CRITICAL based on limits)
- SnmpInterfaceExecutor: Poll interface stats (bandwidth, packets, errors)
- SnmpProcessorExecutor: Poll CPU/processor usage
- SnmpStorageExecutor: Poll disk/memory usage with percentage calculations

Check Execution Worker:
- CheckExecutorWorker: Unified Oban worker that dispatches to appropriate
  executor based on check_type (snmp_sensor, snmp_interface, http, tcp, etc.)
- Self-schedules next execution with distributed polling offsets
- Records results in check_results TimescaleDB hypertable
- Updates check state (OK/WARNING/CRITICAL/UNKNOWN)

Discovery Integration:
- Auto-creates checks during SNMP discovery for sensors, interfaces,
  processors, and storage
- Links checks to source entities via source_id for data lookup
- Enables/disables checks based on discovery results

UI Enhancements:
- Checks tab on device detail page with grouped display
- FormComponent for adding manual HTTP/TCP/DNS checks
- Empty state with "Run Discovery" prompt
- Check status badges and last checked times

Graphing:
- Update GraphLive to accept check_id parameter
- Query check_results table for time-series data
- Support all check types (SNMP, HTTP response times, etc.)

Testing:
- Comprehensive test suite for SnmpSensorExecutor (5 tests)
- Test suite for CheckExecutorWorker (7 tests)
- Test coverage for discovery check creation (6 tests)
- Remove deprecated monitoring_test.exs testing old API

Bug Fixes:
- Fix SNMP executors reading credentials from correct Device schema fields
  (device.snmp_version instead of device.snmp_device.version)
- Update agent channel test to query MonitoringCheck table directly

Code Quality:
- Extract add_snmp_credentials helper to reduce cyclomatic complexity
- Use map-based lookups for sensor formatting and check type grouping
- Apply pattern matching in dispatcher to reduce complexity
- All credo checks passing with no issues

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 16:58:40 -06:00

114 lines
3.8 KiB
Text

Devices Tested & Working
* Mikrotik RB5009UG+S+, CCR1009-7G-1C-1S+, CCR2004-16G-2S+
* Ubiquiti AC, LTU, AirFiber
* Cambium ePMP
2026-02-12
* Infrastructure as Code support - manage sites and devices using Terraform
* New unified monitoring checks system combining SNMP auto-discovery with manual service checks
* Device checks tab showing all monitored items (sensors, interfaces, services) with status indicators
* Manual service check creation for HTTP/HTTPS, TCP port, and DNS monitoring
* Automatic check creation from SNMP discovery (sensors, interfaces, processors, storage)
* Unified time-series graphing across all check types
* Enhanced monitoring infrastructure with improved reliability
* Fixed SNMP monitoring credential resolution for all check types
* Comprehensive test coverage for monitoring infrastructure
* Fixed delay when switching between device tabs
* Improved stability during deployments (graceful shutdown handling)
* Fixed brute force protection stability issues
* Error reporting improvements
* Performance improvements for larger deployments
* Extended vendor support for WISP equipment (ePMP, Raisecom, Netonix)
* Browser navigation improvements for modals
* Enhanced wireless monitoring for MikroTik devices
* Improved frequency monitoring for UniFi devices
* Enhanced AirFiber monitoring capabilities (optical power, link quality)
* Additional wireless metrics for AirFiber devices
* Dell PowerVault storage monitoring support
2026-02-11
* Dell UPS and HP BladeSystem monitoring support
* Dell Force10 and optical transceiver monitoring support
* Extended network switch monitoring (HP Comware, Dell PowerConnect, Dell SONiC)
* Arista EOS monitoring improvements
* SNMP parsing improvements
* Sensor deduplication improvements
* Agent polling and discovery improvements
* RouterOS version detection improvements
* Enhanced sensor change detection
* Agent assignment improvements
* Device status tracking improvements
* Poll time tracking improvements
2026-02-10
* Update agent to show version based on compile date instead of old stuck version
* Add ability for agent to self-update within docker
2026-02-08
* Security improvements
* Massive snmp engine refactoring
2026-02-06
* Improve reliability of SNMP polling
* Add TUI to agent
2026-02-05
* Fix SNMP v3 polling
* UI Simplification
* Add device status to device page
2026-02-04
* Feature: SNMP v3 support
* Sites are now optional and not enabled by default
* Ability to set an org as default
* Poller: snmp v3 support
* Poller: ensure credentials do not remain in memory
2026-02-03
* More tests
* Bug fix: user registration
2026-02-02
* Experimental mikrotik api and backup
* Starting i18n
2026-02-01
* Firmware version fetching and notification for Mikrotik devices
* UI cleanup
* Check passwords against Have I been pwned database
2026-01-31
* Small ui tweaks
* Backend refactoring
* Patched some potential memory leaks
* Show version and license for Mikrotik devices
* MFA Recovery keys and MFA management
2026-01-30
* Completely overhaul poller agent to not track any state
* Complete overhaul of snmp engine
2026-01-29
* GDPR: Consent management system with explicit consent checkboxes and withdrawal
* Bug fix: sensor data storage
2026-01-28
* Major SNMP Discovery overhaul and improvements
* GDPR: Cookie consent banner for EU/EEA users
* GDPR: Right to Access - My Data page and API endpoint
* GDPR: API documentation for account data export
* GDPR: My Data links in user settings and navigation
* Bug fix: SNMP Community when using remote agent
* Feature: Add mandatory TOTP MFA
* Security improvements
2025-01-27
* Infrastructure improvements
* Bug fix: poller agent assignment on devices
* Feature: improve Ubiquiti LTU device handling
* First pass at subscription limits
2025-01-26
* Cloud poller improvements
* Accessability improved
* Added initial help documentation