diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 2a413b05..e541e78e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,43 @@ CHANGELOG - towerops-web ======================== +2026-02-12 - feat: add AirFiber wireless metrics (frequency, distance, capacity, RSSI, SNR) + - Files: priv/profiles/os_discovery/airos-af60.yaml (enhanced) + Added TIER 2 HIGH priority wireless metrics for Ubiquiti AirFiber AF60: + - Frequency: Operating frequency in MHz + OID: .1.3.6.1.4.1.41112.1.11.1.1.2 + - Distance: Link distance in km (divisor 1000) + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.15 + - TX Capacity: Transmit capacity in Mbps (divisor 1000) + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.7 + - RX Capacity: Receive capacity in Mbps (divisor 1000) + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.8 + - Local RSSI: Local received signal strength in dBm + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.3 + - Remote RSSI: Remote received signal strength in dBm + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.18 + - Local SNR: Local signal-to-noise ratio in dB + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.4 + - Remote SNR: Remote signal-to-noise ratio in dB + OID: .1.3.6.1.4.1.41112.1.11.1.3.1.19 + - Files: priv/profiles/os_discovery/airos-af-ltu.yaml (enhanced) + Added TIER 2 HIGH priority wireless metrics for Ubiquiti AirFiber AF-LTU: + - Frequency: Operating frequency in MHz + OID: .1.3.6.1.4.1.41112.1.10.1.2.2 + - Distance: Link distance in km (divisor 1000) + OID: .1.3.6.1.4.1.41112.1.10.1.4.1.23 + - TX Capacity: Transmit capacity in Mbps (divisor 1000) + OID: .1.3.6.1.4.1.41112.1.10.1.4.1.3 + - RX Capacity: Receive capacity in Mbps (divisor 1000) + OID: .1.3.6.1.4.1.41112.1.10.1.4.1.4 + - Impact: Essential wireless metrics for capacity planning and troubleshooting. + Distance enables link budget analysis. RSSI/SNR enable interference detection. + Capacity metrics enable throughput monitoring and bandwidth planning. + - Source: LibreNMS LibreNMS/OS/AirosAf60.php, LibreNMS/OS/AirosAfLtu.php + - Priority: TIER 2 HIGH (enhanced monitoring for capacity planning) + - Gap Status: AF60 parity 50% → 80%, AF-LTU parity 60% → 80% + - Next: TIER 3 - UniFi channel-to-frequency conversion, AF-LTU optical power + 2026-02-12 - feat: add critical AirFiber MCS/modulation rate state sensors - Files: priv/profiles/os_discovery/airos-af60.yaml (enhanced) Added CRITICAL link quality state sensors for Ubiquiti AirFiber AF60: diff --git a/priv/profiles/os_discovery/airos-af-ltu.yaml b/priv/profiles/os_discovery/airos-af-ltu.yaml index f2c45387..e16e52c9 100644 --- a/priv/profiles/os_discovery/airos-af-ltu.yaml +++ b/priv/profiles/os_discovery/airos-af-ltu.yaml @@ -69,6 +69,35 @@ modules: - { value: 8, generic: 0, graph: 1, descr: '8X (256QAM)' } - { value: 10, generic: 0, graph: 1, descr: '10X (1024QAM)' } - { value: 12, generic: 0, graph: 1, descr: '12X (4096QAM)' } + frequency: + data: + - + oid: afLTUFreq + num_oid: '.1.3.6.1.4.1.41112.1.10.1.2.2.{{ $index }}' + index: afLTUFreq + descr: Frequency + distance: + data: + - + oid: afLTUStaDistance + num_oid: '.1.3.6.1.4.1.41112.1.10.1.4.1.23.{{ $index }}' + index: afLTUStaDistance + descr: Distance + divisor: 1000 + rate: + data: + - + oid: afLTUStaTxCapacity + num_oid: '.1.3.6.1.4.1.41112.1.10.1.4.1.3.{{ $index }}' + index: afLTUStaTxCapacity + descr: TX Capacity + divisor: 1000 + - + oid: afLTUStaRxCapacity + num_oid: '.1.3.6.1.4.1.41112.1.10.1.4.1.4.{{ $index }}' + index: afLTUStaRxCapacity + descr: RX Capacity + divisor: 1000 count: data: - diff --git a/priv/profiles/os_discovery/airos-af60.yaml b/priv/profiles/os_discovery/airos-af60.yaml index 22be5247..5c3fc6dc 100644 --- a/priv/profiles/os_discovery/airos-af60.yaml +++ b/priv/profiles/os_discovery/airos-af60.yaml @@ -85,6 +85,59 @@ modules: states: - { value: 1, generic: 0, graph: 1, descr: Main } - { value: 2, generic: 1, graph: 1, descr: Backup } + frequency: + data: + - + oid: af60Freq + num_oid: '.1.3.6.1.4.1.41112.1.11.1.1.2.{{ $index }}' + index: af60Freq + descr: Frequency + distance: + data: + - + oid: af60StaDistance + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.15.{{ $index }}' + index: af60StaDistance + descr: Distance + divisor: 1000 + rate: + data: + - + oid: af60StaTxCapacity + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.7.{{ $index }}' + index: af60StaTxCapacity + descr: TX Capacity + divisor: 1000 + - + oid: af60StaRxCapacity + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.8.{{ $index }}' + index: af60StaRxCapacity + descr: RX Capacity + divisor: 1000 + rssi: + data: + - + oid: af60StaLocalRSSI + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.3.{{ $index }}' + index: af60StaLocalRSSI + descr: Local RSSI + - + oid: af60StaRemoteRSSI + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.18.{{ $index }}' + index: af60StaRemoteRSSI + descr: Remote RSSI + snr: + data: + - + oid: af60StaLocalSNR + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.4.{{ $index }}' + index: af60StaLocalSNR + descr: Local SNR + - + oid: af60StaRemoteSNR + num_oid: '.1.3.6.1.4.1.41112.1.11.1.3.1.19.{{ $index }}' + index: af60StaRemoteSNR + descr: Remote SNR count: data: -