![](https://secure.gravatar.com/avatar/026206032581c43cdb96044d58badd14.jpg?s=120&d=mm&r=g)
Hi,
Running Observium 0.11.12.2749 on SL5 for this issue. Updated to 3069 and still has the same issues. But anyway:
Noticed my Sentry CDU's were not picking up current or voltage information, tracked it down to a issue with the MIB. Not sure if it's the MIB in general or my version of the snmp utilities, but the discovery module complains it can't find the MIB when run in debug mode. Turns out my snmpget doesn't like the whitespace before the "Sentry3-MIB DEFINITIONS ::= BEGIN" line. I removed the whitespace and discovered the sensors.
Then I noticed I had 3 phase CDU's, and the discovery code for the Sentrys only deals with 1 phase units. Here's the diffs of my hack to enable detection of all 3 phases. I think this will work on single phase units as well, although it will probably take a little longer as it scans for the nonexistent phases. I have no single phase units to test it on, however, so YMMV.
16c16,20 < $infeed_oids = snmp_walk($device, "infeedID.$towers.1", "-Osqn", "Sentry3-MIB"); ---
# These PDUs may have > 1 infeed for 3 phase systems $phase=1; while ($phase <= 3) { $infeed_oids = snmp_walk($device, "infeedID.$towers.$phase", "-Osqn", "Sentry3-MIB");
31c35 < $infeed_oid = "1.3.6.1.4.1.1718.3.2.2.1.7." . $towers . ".1"; ---
$infeed_oid = "1.3.6.1.4.1.1718.3.2.2.1.7." . $towers . "." . $phase;
33c37 < $descr_string = snmp_get($device,"infeedID.$towers.$infeed_index", "-Ovq", "Sentry3-MIB"); ---
$descr_string = snmp_get($device,"infeedID.$towers.$phase", "-Ovq", "Sentry3-MIB");
37,38c41,42 < $high_warn_limit = snmp_get($device,"infeedLoadHighThresh.$towers.$infeed_index", "-Ovq", "Sentry3-MIB"); < $high_limit = snmp_get($device,"infeedCapacity.$towers.$infeed_index", "-Ovq", "Sentry3-MIB"); ---
$high_warn_limit = snmp_get($device,"infeedLoadHighThresh.$towers.$phase", "-Ovq", "Sentry3-MIB"); $high_limit = snmp_get($device,"infeedCapacity.$towers.$phase", "-Ovq", "Sentry3-MIB");
42c46 < discover_sensor($valid['sensor'], 'current', $device, $infeed_oid, $towers, 'sentry3', $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $current); ---
discover_sensor($valid['sensor'], 'current', $device, $infeed_oid, "$towers.$phase" , 'sentry3', $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $current);
48c52 < $outlet_oids = snmp_walk($device, "outletLoadValue.$towers.1", "-Osqn", "Sentry3-MIB"); ---
$outlet_oids = snmp_walk($device, "outletLoadValue.$towers.$phase", "-Osqn", "Sentry3-MIB");
61c65 < $outletsuffix = "$towers.$infeed_index.$outlet_index"; ---
$outletsuffix = "$towers.$phase.$outlet_index";
103a108,109
$phase++; } //if($phase)
Hope it helps someone :)
Thanks for the nice work!
-Darrell