towerops/priv/profiles/os_discovery/epmp.yaml
Graham McIntire dd3a6234cb
feat: complete WISP vendor coverage (ePMP, Raisecom, Netonix)
**1. Consolidated ePMP YAML profiles:**
- Merged enhancements from cambium-epmp.yaml into epmp.yaml
- Added GPS satellite count sensors (tracked/visible)
- Added proper state_name fields for state sensors
- Improved field naming (descr vs type, divisor vs precision)
- Deleted duplicate cambium-epmp.yaml file

**2. Implemented Raisecom vendor module:**
- Created lib/towerops/snmp/profiles/vendors/raisecom.ex
- Fills major 0% coverage gap for Asia-Pacific WISP market
- Hardware detection via RAISECOM-SYSTEM-MIB with sysDescr fallback
- Sensor discovery handled by existing YAML profiles (15+ sensors):
  - CPU utilization, memory pools
  - Fan speed and state monitoring
  - Voltage sensors with thresholds
  - Power supply state monitoring
  - Config load state tracking
- Comprehensive test coverage (8 tests, all passing)

**3. Verified Netonix coverage:**
- YAML profile matches LibreNMS 100% (PoE status, voltage, temp, fan, power, current)
- Vendor module provides additional scalar sensors beyond LibreNMS
- Coverage exceeds LibreNMS baseline

**4. Investigated Tarana:**
- No SNMP support in LibreNMS (newer vendor, likely cloud-managed)
- Would require vendor MIBs and documentation to implement

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 09:55:21 -06:00

68 lines
3.3 KiB
YAML

mib: CAMBIUM-PMP80211-MIB
modules:
os:
version: CAMBIUM-PMP80211-MIB::cambiumCurrentuImageVersion.0
serial: CAMBIUM-PMP80211-MIB::cambiumEPMPMSN.0
lat: CAMBIUM-PMP80211-MIB::cambiumDeviceLatitude.0
long: CAMBIUM-PMP80211-MIB::cambiumDeviceLongitude.0
processors:
data:
-
oid: sysCPUUsage
num_oid: '.1.3.6.1.4.1.17713.21.2.1.64.{{ $index }}'
descr: CPU
divisor: 10
sensors:
count:
data:
-
oid: sysDFSDetectedCount
num_oid: '.1.3.6.1.4.1.17713.21.2.1.36.{{ $index }}'
index: sysDFSDetectedCount
descr: DFS Detected Count
-
oid: cambiumGPSNumTrackedSat
num_oid: '.1.3.6.1.4.1.17713.21.1.2.84.{{ $index }}'
index: cambiumGPSNumTrackedSat
descr: GPS Satellites Tracked
-
oid: cambiumGPSNumVisibleSat
num_oid: '.1.3.6.1.4.1.17713.21.1.2.85.{{ $index }}'
index: cambiumGPSNumVisibleSat
descr: GPS Satellites Visible
state:
data:
-
oid: cambiumEffectiveSyncSource
num_oid: '.1.3.6.1.4.1.17713.21.1.1.7.{{ $index }}'
index: cambiumEffectiveSyncSource
descr: GPS Sync Status
state_name: cambiumEffectiveSyncSource
states:
- { value: 1, generic: 0, graph: 1, descr: GPS Sync Up }
- { value: 2, generic: 2, graph: 1, descr: GPS Sync Down }
- { value: 3, generic: 0, graph: 1, descr: CMM4 Sync }
- { value: 4, generic: 0, graph: 1, descr: CMM3 Sync }
-
oid: cambiumDFSStatus
num_oid: '.1.3.6.1.4.1.17713.21.1.1.6.{{ $index }}'
index: cambiumDFSStatus
descr: DFS Status
state_name: cambiumDFSStatus
states:
- { value: 1, generic: 1, graph: 1, descr: N/A }
- { value: 2, generic: 1, graph: 1, descr: Channel Availability Check }
- { value: 3, generic: 0, graph: 1, descr: In-Service }
- { value: 4, generic: 2, graph: 1, descr: Radar Signal Detected }
- { value: 5, generic: 0, graph: 1, descr: In-Service Monitoring at Alternative Channel }
- { value: 6, generic: 2, graph: 1, descr: System Not In Service due to DFS }
-
oid: ePMP2000SmartAntennaStatus
num_oid: '.1.3.6.1.4.1.17713.21.1.1.41.{{ $index }}'
index: ePMP2000SmartAntennaStatus
descr: Smart Antenna Status
state_name: ePMP2000SmartAntennaStatus
states:
- { value: 0, generic: 1, graph: 0, descr: Not Powered }
- { value: 1, generic: 3, graph: 0, descr: Powered / Not Detected }
- { value: 3, generic: 0, graph: 0, descr: Detected }