# HP/Aruba Switch Sensor Discovery - LibreNMS vs Towerops Comparison

**Analysis Date**: 2026-02-11
**Status**: ⚠️ Moderate Gaps - Priority fixes needed

## Executive Summary

HP/Aruba switch sensor coverage varies significantly by platform:
- **HP ProCurve**: 60% parity (missing transceiver metrics)
- **HP Comware**: 40% parity (CRITICAL - missing temperature and transceiver metrics)
- **HP BladeSystem/Moonshot**: 0% parity (CRITICAL - no sensor support)
- **Aruba ArubaOS**: 100% parity (minimal sensors available on platform)
- **Aruba ArubaOS-CX**: 100% parity (excellent coverage, exceeds LibreNMS)
- **Aruba Instant On**: 100% parity (basic AP state sensors)

**Overall Assessment**: Needs work on ProCurve transceiver support and Comware temperature/transceiver support.

---

## Platform Coverage Overview

| Platform | LibreNMS | Towerops | Gap |
|----------|----------|----------|-----|
| **HP ProCurve** | Full sensor support | Missing transceiver metrics | HIGH |
| **HP BladeSystem/Moonshot (hpblmos)** | Temp, Power, State | No sensor profile | CRITICAL |
| **HP Comware (HH3C)** | Full transceiver support | Missing temp + transceiver | CRITICAL |
| **Aruba ArubaOS** | Basic (count, temp) | Good (temp, CPU) | None |
| **Aruba ArubaOS-CX** | Good coverage | Excellent coverage | None |
| **Aruba Instant On** | Basic (AP state/radio) | Basic (AP state/radio) | None |

---

## Detailed Platform Analysis

### 1. HP ProCurve (HP-ICF / ICF-CHASSIS MIBs)

**LibreNMS Discovery Modules:**
- `temperature/procurve.inc.php` - Transceiver temperature (hpicfXcvrTemp)
- `current/procurve.inc.php` - Transceiver bias current (hpicfXcvrBias)
- `voltage/procurve.inc.php` - Transceiver supply voltage (hpicfXcvrVoltage)
- `dbm/procurve.inc.php` - Transceiver RX/TX power (hpicfXcvrRxPower, hpicfXcvrTxPower)
- `state/procurve.inc.php` - Chassis fan/power supply state (hpicfFanState, hpicfPsState)

**Towerops YAML Profile (`procurve.yaml`):**
- ✅ **Temperature**: Power supply temperature (hpicfPsTemp)
- ✅ **Power**: PSU wattage (hpicfPsWattageCur), PoE used power (hpicfPseUsedPower)
- ✅ **State**: Fan state (hpicfFanState), PSU state (hpicfPsState), Stack status (hpStackOperStatus), Stack topology (hpStackTopology), Stack member state (hpStackMemberState), Entity operational state (entStateOper)
- ❌ **Missing**: Transceiver sensors (temperature, current, voltage, dbm)

**Gap Analysis:**
- **Critical Gap**: Towerops ProCurve profile lacks all transceiver optical sensor metrics
- LibreNMS discovers transceiver metrics via `HP-ICF-TRANSCEIVER-MIB::hpicfXcvrInfoTable` (OID `1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.*`)
- Towerops profile only covers chassis-level metrics (PSU, fans, PoE)
- **Impact**: No optical SFP/SFP+ monitoring for fiber links
- **Severity**: HIGH (common deployment scenario with fiber uplinks)

**Transceiver OIDs Needed:**
```
Temperature: 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.11 (hpicfXcvrTemp)
Bias Current: 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.13 (hpicfXcvrBias)
Supply Voltage: 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.12 (hpicfXcvrVoltage)
RX Power: 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.14 (hpicfXcvrRxPower)
TX Power: 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.15 (hpicfXcvrTxPower)
```

---

### 2. HP Comware (HH3C Enterprise Switches)

**LibreNMS Discovery Modules:**
- `temperature/comware.inc.php` - Chassis temperature (hh3cEntityExtTemperature) + Transceiver temp (hh3cTransceiverTemperature)
- `current/comware.inc.php` - Transceiver bias current (hh3cTransceiverBiasCurrent)
- `voltage/comware.inc.php` - Transceiver supply voltage (hh3cTransceiverVoltage)
- `dbm/comware.inc.php` - Transceiver RX/TX power (hh3cTransceiverCurRXPower, hh3cTransceiverCurTXPower)

**Towerops YAML Profile (`comware.yaml`):**
- ✅ **State**: Fan state (hh3cDevMFanStatus), PSU state (hh3cDevMPowerStatus)
- ✅ **Power**: Chassis power usage (hh3cEntityExtCurrentPower)
- ❌ **Missing**: Temperature sensors (both chassis and transceiver)
- ❌ **Missing**: Transceiver metrics (current, voltage, dbm)

**Gap Analysis:**
- **CRITICAL Gap**: Towerops Comware profile is severely incomplete (~40% parity)
- Missing chassis temperature from `HH3C-ENTITY-EXT-MIB::hh3cEntityExtTemperature` (OID `1.3.6.1.4.1.25506.2.6.1.1.1.1.12.*`)
- Missing all transceiver diagnostics from `HH3C-TRANSCEIVER-INFO-MIB::hh3cTransceiverInfoTable` (OID `1.3.6.1.4.1.25506.2.70.1.1.1.*`)
- **Impact**: No temperature monitoring (critical for alerts), no optical monitoring
- **Severity**: CRITICAL (breaks fundamental monitoring capability)

**OIDs Needed:**
```
Chassis Temperature: 1.3.6.1.4.1.25506.2.6.1.1.1.1.12 (hh3cEntityExtTemperature)
Transceiver Temperature: 1.3.6.1.4.1.25506.2.70.1.1.1.15 (hh3cTransceiverTemperature)
Transceiver Bias Current: 1.3.6.1.4.1.25506.2.70.1.1.1.17 (hh3cTransceiverBiasCurrent)
Transceiver Voltage: 1.3.6.1.4.1.25506.2.70.1.1.1.16 (hh3cTransceiverVoltage)
Transceiver RX Power: 1.3.6.1.4.1.25506.2.70.1.1.1.9 (hh3cTransceiverCurRXPower)
Transceiver TX Power: 1.3.6.1.4.1.25506.2.70.1.1.1.12 (hh3cTransceiverCurTXPower)
```

---

### 3. HP BladeSystem/Moonshot (hpblmos)

**LibreNMS Discovery Modules:**
- `temperature/hpblmos.inc.php` - Component temperature (OID `1.3.6.1.4.1.232.22.2.3.1.2.1.5`)
- `state/hpblmos.inc.php` - Fan and PSU state (hpblmos_fanstate, hpblmos_psustate)
- `power/hpblmos.inc.php` - PSU output power (hpblmos_psu_usage)

**Towerops YAML Profile (`hpblmos.yaml`):**
- ✅ **OS Detection Only**: sysObjectID match
- ❌ **No sensor discovery implemented**

**Gap Analysis:**
- **CRITICAL Gap**: Towerops has zero sensor coverage for hpblmos platform
- LibreNMS discovers 3 sensor types (temperature, state, power)
- **Impact**: No hardware monitoring for BladeSystem/Moonshot chassis
- **Severity**: CRITICAL (complete absence of monitoring)
- **Fix Effort**: HIGH (requires creating full sensor profile from scratch)

**OIDs Needed:**
```
Temperature: 1.3.6.1.4.1.232.22.2.3.1.2.1.5 (component temperature)
Fan State: 1.3.6.1.4.1.232.22.2.3.1.3.1.6 (fan operational status)
PSU State: 1.3.6.1.4.1.232.22.2.5.1.1.1.8 (PSU condition)
PSU Power: 1.3.6.1.4.1.232.22.2.5.1.1.1.9 (output wattage)
```

---

### 4. Aruba ArubaOS (Older Campus/Wireless Controllers)

**LibreNMS Discovery:** Minimal support (expected for controller devices)
- Temperature via `WLSX-SYSTEMEXT-MIB::wlsxSysExtInternalTemparature`
- Count sensors for VPN sessions

**Towerops YAML Profile (`arubaos.yaml`):**
- ✅ **Temperature**: CPU temperature (wlsxSysExtInternalTemparature)
- ✅ **Count**: Active VPN sessions (wlsxNumOfUsersVPN)

**Gap Analysis:**
- ✅ **Good parity** for ArubaOS controllers
- Limited sensor availability is inherent to wireless controller platform (not a gap)
- **Severity**: None

---

### 5. Aruba ArubaOS-CX (Modern Wired Switches)

**LibreNMS Discovery:** Not specifically coded (relies on generic entity-sensor.inc.php)

**Towerops YAML Profile (`arubaos-cx.yaml`):** **EXCELLENT**
- ✅ **Temperature**: Discrete sensors (arubaWiredTempSensorTable) + Transceiver DOM temperature (arubaWiredPmXcvrDomTable)
- ✅ **Power**: PSU instantaneous power (arubaWiredPSUInstantaneousPower)
- ✅ **Voltage**: Transceiver DOM voltage (arubaWiredPmXcvrDomVoltage)
- ✅ **Current**: Transceiver lane bias current (arubaWiredPmXcvrLaneDomTxBias)
- ✅ **DBM**: Transceiver RX/TX power per-lane (arubaWiredPmXcvrLaneDomRxPower, arubaWiredPmXcvrLaneDomTxPower)
- ✅ **State**: Sensor state, PSU state (with 17 detailed states), VSX/VSF stack status and member state
- ✅ **Additional**: entity-sensor base sensors, power supply states with detailed fault descriptions

**Gap Analysis:**
- ✅ **No critical gaps** identified
- Towerops CX profile is **more comprehensive** than LibreNMS auto-discovery
- **Coverage**: ~95% complete for a modern enterprise switch
- **Severity**: None

**Towerops Advantage:**
- Per-lane transceiver diagnostics (QSFP+ 4-lane monitoring)
- Detailed PSU fault states (17 different conditions)
- VSX/VSF cluster health monitoring
- Better organized YAML structure vs PHP modules

---

### 6. Aruba Instant On (Cluster APs)

**LibreNMS:** Basic AP and radio state discovery

**Towerops YAML Profile (`aruba-instant.yaml`):**
- ✅ **State**: AP status, Per-radio status

**Gap Analysis:**
- ✅ **Good parity** - Basic but appropriate for AP-only cluster nodes
- Limited sensors expected for access point devices
- **Severity**: None

---

## OID/MIB Reference Table

| Sensor Type | ProCurve OIDs | Comware OIDs | CX OIDs |
|-------------|---------------|--------------|---------|
| **Temperature** | 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.11 | 1.3.6.1.4.1.25506.2.6.1.1.1.1.12.* | 1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7.* |
| **Fan State** | 1.3.6.1.4.1.11.2.14.11.5.1.54.2.1.1.4.* | 1.3.6.1.4.1.25506.8.35.9.1.1.1.2.* | entPhySensorTable |
| **PSU State** | 1.3.6.1.4.1.11.2.14.11.5.1.55.1.1.1.2.* | 1.3.6.1.4.1.25506.8.35.9.1.2.1.2.* | 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.11.* |
| **PSU Power** | 1.3.6.1.4.1.11.2.14.11.5.1.55.1.1.1.6.* | 1.3.6.1.4.1.25506.2.6.1.3.1.1.3.* | 1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7.* |
| **Transceiver Temp** | 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.11.* | 1.3.6.1.4.1.25506.2.70.1.1.1.15.* | 1.3.6.1.4.1.47196.4.1.1.3.27.1.2.1.1.2.* |
| **TX Bias** | 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.13.* | 1.3.6.1.4.1.25506.2.70.1.1.1.17.* | 1.3.6.1.4.1.47196.4.1.1.3.27.1.2.2.1.2.* |
| **RX/TX Power** | 1.3.6.1.4.1.11.2.14.11.5.1.82.1.1.1.1.14,15.* | 1.3.6.1.4.1.25506.2.70.1.1.1.9,12.* | 1.3.6.1.4.1.47196.4.1.1.3.27.1.2.2.1.7,12.* |

---

## MIBs Used

**Standard MIBs:**
- ENTITY-MIB (RFC 4133) - Physical entity hierarchy
- ENTITY-SENSOR-MIB (RFC 3433) - Generic sensor framework

**HP/Aruba Vendor MIBs:**
- `HP-ICF-TRANSCEIVER-MIB` - ProCurve transceiver diagnostics
- `HP-ICF-CHASSIS-MIB` - ProCurve chassis fans/PSU
- `HP-ICF-POE-MIB` - ProCurve PoE power monitoring
- `HH3C-ENTITY-EXT-MIB` - Comware chassis temperature/power
- `HH3C-TRANSCEIVER-INFO-MIB` - Comware transceiver diagnostics
- `WLSX-SYSTEMEXT-MIB` - ArubaOS controller temperature
- `ARUBAWIRED-CHASSIS-MIB` - ArubaOS-CX temperature/PSU
- `ARUBAWIRED-NETWORKING-OID` - ArubaOS-CX VSX/VSF stack
- `ARUBAWIRED-POWERSUPPLY-MIB` - ArubaOS-CX power supplies

---

## Critical Gaps Summary

| Platform | Gap Type | Severity | Impact | Fix Effort |
|----------|----------|----------|--------|-----------|
| **ProCurve** | Missing transceiver metrics | **HIGH** | No optical SFP/XFP monitoring | Medium (2-3 hours) |
| **Comware** | Missing temperature sensors | **CRITICAL** | No temp alerts/monitoring | Medium (2-3 hours) |
| **Comware** | Missing transceiver metrics | **HIGH** | No optical SFP/XFP monitoring | Medium (2-3 hours) |
| **hpblmos** | Zero sensor support | **CRITICAL** | No hardware monitoring | High (4-6 hours) |
| **ArubaOS** | None identified | LOW | Good parity | None |
| **CX** | None identified | LOW | Excellent coverage | None |

---

## Implementation Recommendations

### Priority 1 - Critical (Immediate)
1. **Comware temperature sensors** (2-3 hours)
   - Add hh3cEntityExtTemperature discovery
   - Enables hardware temperature monitoring and alerting
   - Affects all HP Comware switches (common enterprise platform)

2. **hpblmos sensor support** (4-6 hours)
   - Implement temperature, power, and state discovery
   - Enables monitoring for BladeSystem/Moonshot chassis

### Priority 2 - High (Short Term)
1. **ProCurve transceiver metrics** (2-3 hours)
   - Add hpicfXcvrInfoTable discovery
   - Enables optical monitoring for fiber uplinks
   - Common deployment scenario

2. **Comware transceiver metrics** (2-3 hours)
   - Add hh3cTransceiverInfoTable discovery
   - Completes Comware sensor coverage

### Priority 3 - Medium (Nice to Have)
1. Review Comware power metrics alignment
2. Validate ProCurve PoE power sensor implementation

---

## Parity Target After Fixes

- **ProCurve**: 60% → **100%** (after transceiver addition)
- **Comware**: 40% → **95%** (after temperature/transceiver addition)
- **hpblmos**: 0% → **80%** (after basic sensor addition)
- **ArubaOS**: **100%** (current)
- **CX**: **100%** (current - already excellent)
- **Instant On**: **100%** (current)

---

## Conclusion

**Overall Status**: ⚠️ **Needs Work on Legacy Platforms**

**Key Achievements**:
- ✅ Aruba ArubaOS-CX: Excellent coverage (exceeds LibreNMS)
- ✅ ArubaOS: Good parity for controller platform
- ✅ ProCurve: Good chassis monitoring (fans, PSU, PoE)

**Critical Needs**:
- ⚠️ Comware: Missing fundamental temperature monitoring
- ⚠️ hpblmos: No sensor support at all
- ⚠️ ProCurve/Comware: Missing transceiver optical monitoring

**Recommendation**: Implement Comware temperature sensors (Priority 1) first to restore fundamental monitoring capability, then add transceiver support for both ProCurve and Comware platforms.
