More cisco state fixes (#16369)

* More cisco state fixes
Turns out it was fetching values as strings.  Swap to SnmpQuery and fetch the data numeric as expected

* Apply fixes from StyleCI

* update MIB too

---------

Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
This commit is contained in:
Tony Murray
2024-09-06 18:49:55 -05:00
committed by GitHub
parent 81d6eb57e6
commit f54e38f4fe
2 changed files with 155 additions and 143 deletions

View File

@@ -10,28 +10,28 @@
* the source code distribution for details. * the source code distribution for details.
*/ */
$role_data = snmpwalk_cache_oid($device, 'cswSwitchRole', [], 'CISCO-STACKWISE-MIB'); $role_data = SnmpQuery::walk('CISCO-STACKWISE-MIB::cswSwitchRole')->values();
$redundant_data = snmp_get($device, 'cswRingRedundant.0', '-OQv', 'CISCO-STACKWISE-MIB'); $redundant_data = SnmpQuery::enumStrings()->get('CISCO-STACKWISE-MIB::cswRingRedundant.0')->value();
$tables = [ $tables = [
['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.1.1.6.', 'oid' => 'c3gModemStatus', 'state_name' => 'c3gModemStatus', 'mib' => 'CISCO-WAN-3G-MIB', 'descr' => 'Modem status'], ['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.1.1.6.', 'oid' => 'CISCO-WAN-3G-MIB::c3gModemStatus', 'state_name' => 'c3gModemStatus', 'descr' => 'Modem status'],
['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.4.1.1.3.', 'oid' => 'c3gGsmCurrentBand', 'state_name' => 'c3gGsmCurrentBand', 'mib' => 'CISCO-WAN-3G-MIB', 'descr' => 'Current band'], ['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.4.1.1.3.', 'oid' => 'CISCO-WAN-3G-MIB::c3gGsmCurrentBand', 'state_name' => 'c3gGsmCurrentBand', 'descr' => 'Current band'],
['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.2.1.5.', 'oid' => 'c3gGsmPacketService', 'state_name' => 'c3gGsmPacketService', 'mib' => 'CISCO-WAN-3G-MIB', 'descr' => 'Packet service'], ['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.2.1.5.', 'oid' => 'CISCO-WAN-3G-MIB::c3gGsmPacketService', 'state_name' => 'c3gGsmPacketService', 'descr' => 'Packet service'],
['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.2.1.6.', 'oid' => 'c3gGsmCurrentRoamingStatus', 'state_name' => 'c3gGsmCurrentRoamingStatus', 'mib' => 'CISCO-WAN-3G-MIB', 'descr' => 'Roaming status'], ['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.2.1.6.', 'oid' => 'CISCO-WAN-3G-MIB::c3gGsmCurrentRoamingStatus', 'state_name' => 'c3gGsmCurrentRoamingStatus', 'descr' => 'Roaming status'],
['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.5.1.1.2.', 'oid' => 'c3gGsmSimStatus', 'state_name' => 'c3gGsmSimStatus', 'mib' => 'CISCO-WAN-3G-MIB', 'descr' => 'SIM status'], ['num_oid' => '.1.3.6.1.4.1.9.9.661.1.3.5.1.1.2.', 'oid' => 'CISCO-WAN-3G-MIB::c3gGsmSimStatus', 'state_name' => 'c3gGsmSimStatus', 'descr' => 'SIM status'],
['num_oid' => '.1.3.6.1.4.1.9.9.13.1.2.1.7.', 'oid' => 'ciscoEnvMonVoltageStatusTable', 'state_name' => 'ciscoEnvMonVoltageState', 'mib' => 'CISCO-ENVMON-MIB', 'descr' => 'ciscoEnvMonVoltageStatusDescr'], ['num_oid' => '.1.3.6.1.4.1.9.9.13.1.2.1.7.', 'oid' => 'CISCO-ENVMON-MIB::ciscoEnvMonVoltageStatusTable', 'state_name' => 'ciscoEnvMonVoltageState', 'descr' => 'ciscoEnvMonVoltageStatusDescr'],
['num_oid' => '.1.3.6.1.4.1.9.9.13.1.3.1.6.', 'oid' => 'ciscoEnvMonTemperatureStatusTable', 'state_name' => 'ciscoEnvMonTemperatureState', 'mib' => 'CISCO-ENVMON-MIB', 'descr' => 'ciscoEnvMonTemperatureStatusDescr'], ['num_oid' => '.1.3.6.1.4.1.9.9.13.1.3.1.6.', 'oid' => 'CISCO-ENVMON-MIB::ciscoEnvMonTemperatureStatusTable', 'state_name' => 'ciscoEnvMonTemperatureState', 'descr' => 'ciscoEnvMonTemperatureStatusDescr'],
['num_oid' => '.1.3.6.1.4.1.9.9.13.1.4.1.3.', 'oid' => 'ciscoEnvMonFanStatusTable', 'state_name' => 'ciscoEnvMonFanState', 'mib' => 'CISCO-ENVMON-MIB', 'descr' => 'ciscoEnvMonFanStatusDescr'], ['num_oid' => '.1.3.6.1.4.1.9.9.13.1.4.1.3.', 'oid' => 'CISCO-ENVMON-MIB::ciscoEnvMonFanStatusTable', 'state_name' => 'ciscoEnvMonFanState', 'descr' => 'ciscoEnvMonFanStatusDescr'],
['num_oid' => '.1.3.6.1.4.1.9.9.13.1.5.1.3.', 'oid' => 'ciscoEnvMonSupplyStatusTable', 'state_name' => 'ciscoEnvMonSupplyState', 'mib' => 'CISCO-ENVMON-MIB', 'descr' => 'ciscoEnvMonSupplyStatusDescr'], ['num_oid' => '.1.3.6.1.4.1.9.9.13.1.5.1.3.', 'oid' => 'CISCO-ENVMON-MIB::ciscoEnvMonSupplyStatusTable', 'state_name' => 'ciscoEnvMonSupplyState', 'descr' => 'ciscoEnvMonSupplyStatusDescr'],
['num_oid' => '.1.3.6.1.4.1.9.9.117.1.1.2.1.2.', 'oid' => 'cefcFRUPowerStatusTable', 'state_name' => 'cefcFRUPowerOperStatus', 'mib' => 'CISCO-ENTITY-FRU-CONTROL-MIB', 'descr' => 'Sensor Name'], ['num_oid' => '.1.3.6.1.4.1.9.9.117.1.1.2.1.2.', 'oid' => 'CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUPowerStatusTable', 'state_name' => 'cefcFRUPowerOperStatus', 'descr' => 'Sensor Name'],
['num_oid' => '.1.3.6.1.4.1.9.9.176.1.1.2.', 'oid' => 'cRFStatusUnitState', 'state_name' => 'cRFStatusUnitState', 'mib' => 'CISCO-RF-MIB', 'descr' => 'VSS Device State'], ['num_oid' => '.1.3.6.1.4.1.9.9.176.1.1.2.', 'oid' => 'CISCO-RF-MIB::cRFStatusUnitState', 'state_name' => 'cRFStatusUnitState', 'descr' => 'VSS Device State'],
['num_oid' => '.1.3.6.1.4.1.9.9.176.1.1.4.', 'oid' => 'cRFStatusPeerUnitState', 'state_name' => 'cRFStatusPeerUnitState', 'mib' => 'CISCO-RF-MIB', 'descr' => 'VSS Peer State'], ['num_oid' => '.1.3.6.1.4.1.9.9.176.1.1.4.', 'oid' => 'CISCO-RF-MIB::cRFStatusPeerUnitState', 'state_name' => 'cRFStatusPeerUnitState', 'descr' => 'VSS Peer State'],
['num_oid' => '.1.3.6.1.4.1.9.9.176.1.2.14.', 'oid' => 'cRFCfgRedundancyOperMode', 'state_name' => 'cRFCfgRedundancyOperMode', 'mib' => 'CISCO-RF-MIB', 'descr' => 'VSS Mode'], ['num_oid' => '.1.3.6.1.4.1.9.9.176.1.2.14.', 'oid' => 'CISCO-RF-MIB::cRFCfgRedundancyOperMode', 'state_name' => 'cRFCfgRedundancyOperMode', 'descr' => 'VSS Mode'],
['num_oid' => '.1.3.6.1.4.1.9.9.500.1.1.3.', 'oid' => 'cswGlobals', 'state_name' => 'cswRingRedundant', 'mib' => 'CISCO-STACKWISE-MIB', 'descr' => 'Stack Ring - Redundant'], ['num_oid' => '.1.3.6.1.4.1.9.9.500.1.1.3.', 'oid' => 'CISCO-STACKWISE-MIB::cswGlobals', 'state_name' => 'cswRingRedundant', 'descr' => 'Stack Ring - Redundant'],
['num_oid' => '.1.3.6.1.4.1.9.9.500.1.2.1.1.3.', 'oid' => 'cswSwitchRole', 'state_name' => 'cswSwitchRole', 'mib' => 'CISCO-STACKWISE-MIB', 'descr' => 'Stack Role - Switch#'], ['num_oid' => '.1.3.6.1.4.1.9.9.500.1.2.1.1.3.', 'oid' => 'CISCO-STACKWISE-MIB::cswSwitchRole', 'state_name' => 'cswSwitchRole', 'descr' => 'Stack Role - Switch#'],
['num_oid' => '.1.3.6.1.4.1.9.9.500.1.2.1.1.6.', 'oid' => 'cswSwitchState', 'state_name' => 'cswSwitchState', 'mib' => 'CISCO-STACKWISE-MIB', 'descr' => 'Stack State - Switch#'], ['num_oid' => '.1.3.6.1.4.1.9.9.500.1.2.1.1.6.', 'oid' => 'CISCO-STACKWISE-MIB::cswSwitchState', 'state_name' => 'cswSwitchState', 'descr' => 'Stack State - Switch#'],
['num_oid' => '.1.3.6.1.4.1.9.9.500.1.2.2.1.1.', 'oid' => 'cswStackPortOperStatus', 'state_name' => 'cswStackPortOperStatus', 'mib' => 'CISCO-STACKWISE-MIB', 'descr' => 'Stack Port Status - '], ['num_oid' => '.1.3.6.1.4.1.9.9.500.1.2.2.1.1.', 'oid' => 'CISCO-STACKWISE-MIB::cswStackPortOperStatus', 'state_name' => 'cswStackPortOperStatus', 'descr' => 'Stack Port Status - '],
['num_oid' => '.1.3.6.1.4.1.9.9.601.1.3.1.1.4.', 'oid' => 'crepSegmentComplete', 'state_name' => 'crepSegmentComplete', 'mib' => 'CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB', 'descr' => 'REP State - Segment '], ['num_oid' => '.1.3.6.1.4.1.9.9.601.1.3.1.1.4.', 'oid' => 'CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB::crepSegmentComplete', 'state_name' => 'crepSegmentComplete', 'descr' => 'REP State - Segment '],
]; ];
$swrolenumber = 0; $swrolenumber = 0;
@@ -40,24 +40,24 @@ $repsegmentnumber = 0;
foreach ($tables as $tablevalue) { foreach ($tables as $tablevalue) {
//Some switches on 15.x expose this information regardless if they are stacked or not, we try to mitigate that by doing the following. //Some switches on 15.x expose this information regardless if they are stacked or not, we try to mitigate that by doing the following.
if (($tablevalue['oid'] == 'cswGlobals' || $tablevalue['oid'] == 'cswSwitchRole' || $tablevalue['oid'] == 'cswSwitchState' || $tablevalue['oid'] == 'cswStackPortOperStatus') && $redundant_data == 'false' && count($role_data) == 1) { if (($tablevalue['oid'] == 'cswGlobals' || $tablevalue['oid'] == 'cswSwitchRole' || $tablevalue['oid'] == 'cswSwitchState' || $tablevalue['oid'] == 'cswStackPortOperStatus') && $redundant_data == 'false' && count($role_data) <= 1) {
continue; continue;
} }
$temp = snmpwalk_cache_multi_oid($device, $tablevalue['oid'], [], $tablevalue['mib']); $temp = SnmpQuery::hideMib()->walk($tablevalue['oid'])->valuesByIndex();
$cur_oid = $tablevalue['num_oid']; $cur_oid = $tablevalue['num_oid'];
if (is_array($temp)) { if (! empty($temp)) {
if ((isset($temp[0][$tablevalue['state_name']]) && $temp[0][$tablevalue['state_name']] == 'nonRedundant') || (isset($temp[0]['cswMaxSwitchNum']) && $temp[0]['cswMaxSwitchNum'] == '1')) { $state_name = $tablevalue['state_name'];
if ((isset($temp[0][$state_name]) && $temp[0][$state_name] == 'nonRedundant') || (isset($temp[0]['cswMaxSwitchNum']) && $temp[0]['cswMaxSwitchNum'] == '1')) {
break; break;
} }
//Create State Index //Create State Index
$state_name = $tablevalue['state_name'];
//Create State Translation //Create State Translation
if ($state_name == 'cRFStatusUnitState' || $state_name == 'cRFStatusPeerUnitState') { $states = match ($state_name) {
$states = [ 'cRFStatusUnitState','cRFStatusPeerUnitState' => [
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'notKnown'], ['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'notKnown'],
['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'disabled'], ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'disabled'],
['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'initialization'], ['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'initialization'],
@@ -74,9 +74,8 @@ foreach ($tables as $tablevalue) {
['value' => 14, 'generic' => 0, 'graph' => 0, 'descr' => 'active'], ['value' => 14, 'generic' => 0, 'graph' => 0, 'descr' => 'active'],
['value' => 15, 'generic' => 1, 'graph' => 0, 'descr' => 'activeExtraload'], ['value' => 15, 'generic' => 1, 'graph' => 0, 'descr' => 'activeExtraload'],
['value' => 16, 'generic' => 1, 'graph' => 0, 'descr' => 'activeHandback'], ['value' => 16, 'generic' => 1, 'graph' => 0, 'descr' => 'activeHandback'],
]; ],
} elseif ($state_name == 'cRFCfgRedundancyOperMode') { 'cRFCfgRedundancyOperMode' => [
$states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'nonRedundant'], ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'nonRedundant'],
['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'staticLoadShareNonRedundant'], ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'staticLoadShareNonRedundant'],
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'dynamicLoadShareNonRedundant'], ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'dynamicLoadShareNonRedundant'],
@@ -85,21 +84,18 @@ foreach ($tables as $tablevalue) {
['value' => 6, 'generic' => 0, 'graph' => 0, 'descr' => 'coldStandbyRedundant'], ['value' => 6, 'generic' => 0, 'graph' => 0, 'descr' => 'coldStandbyRedundant'],
['value' => 7, 'generic' => 0, 'graph' => 0, 'descr' => 'warmStandbyRedundant'], ['value' => 7, 'generic' => 0, 'graph' => 0, 'descr' => 'warmStandbyRedundant'],
['value' => 8, 'generic' => 0, 'graph' => 0, 'descr' => 'hotStandbyRedundant'], ['value' => 8, 'generic' => 0, 'graph' => 0, 'descr' => 'hotStandbyRedundant'],
]; ],
} elseif ($state_name == 'cswRingRedundant') { 'cswRingRedundant' => [
$states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'true'], ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'true'],
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'false'], ['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'false'],
]; ],
} elseif ($state_name == 'cswSwitchRole') { 'cswSwitchRole' => [
$states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'master'], ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'master'],
['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'member'], ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'member'],
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'notMember'], ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'notMember'],
['value' => 4, 'generic' => 0, 'graph' => 0, 'descr' => 'standby'], ['value' => 4, 'generic' => 0, 'graph' => 0, 'descr' => 'standby'],
]; ],
} elseif ($state_name == 'cswSwitchState') { 'cswSwitchState' => [
$states = [
['value' => 1, 'generic' => 1, 'graph' => 0, 'descr' => 'waiting'], ['value' => 1, 'generic' => 1, 'graph' => 0, 'descr' => 'waiting'],
['value' => 2, 'generic' => 1, 'graph' => 0, 'descr' => 'progressing'], ['value' => 2, 'generic' => 1, 'graph' => 0, 'descr' => 'progressing'],
['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'added'], ['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'added'],
@@ -111,9 +107,8 @@ foreach ($tables as $tablevalue) {
['value' => 9, 'generic' => 1, 'graph' => 0, 'descr' => 'provisioned'], ['value' => 9, 'generic' => 1, 'graph' => 0, 'descr' => 'provisioned'],
['value' => 10, 'generic' => 2, 'graph' => 0, 'descr' => 'invalid'], ['value' => 10, 'generic' => 2, 'graph' => 0, 'descr' => 'invalid'],
['value' => 11, 'generic' => 1, 'graph' => 0, 'descr' => 'removed'], ['value' => 11, 'generic' => 1, 'graph' => 0, 'descr' => 'removed'],
]; ],
} elseif ($state_name == 'cefcFRUPowerOperStatus') { 'cefcFRUPowerOperStatus' => [
$states = [
['value' => 1, 'generic' => 2, 'graph' => 0, 'descr' => 'off (other)'], ['value' => 1, 'generic' => 2, 'graph' => 0, 'descr' => 'off (other)'],
['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'on'], ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'on'],
['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'off (admin)'], ['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'off (admin)'],
@@ -126,16 +121,14 @@ foreach ($tables as $tablevalue) {
['value' => 10, 'generic' => 2, 'graph' => 0, 'descr' => 'off (cooling)'], ['value' => 10, 'generic' => 2, 'graph' => 0, 'descr' => 'off (cooling)'],
['value' => 11, 'generic' => 2, 'graph' => 0, 'descr' => 'off (connector rating)'], ['value' => 11, 'generic' => 2, 'graph' => 0, 'descr' => 'off (connector rating)'],
['value' => 12, 'generic' => 1, 'graph' => 0, 'descr' => 'on (no inline power)'], ['value' => 12, 'generic' => 1, 'graph' => 0, 'descr' => 'on (no inline power)'],
]; ],
} elseif ($state_name == 'c3gModemStatus') { 'c3gModemStatus' => [
$states = [
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'], ['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'offline'], ['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'offline'],
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'online'], ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'online'],
['value' => 4, 'generic' => 1, 'graph' => 0, 'descr' => 'low power mode'], ['value' => 4, 'generic' => 1, 'graph' => 0, 'descr' => 'low power mode'],
]; ],
} elseif ($state_name == 'c3gGsmCurrentBand') { 'c3gGsmCurrentBand' => [
$states = [
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'], ['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'invalid'], ['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'invalid'],
['value' => 3, 'generic' => 3, 'graph' => 0, 'descr' => 'none'], ['value' => 3, 'generic' => 3, 'graph' => 0, 'descr' => 'none'],
@@ -148,9 +141,8 @@ foreach ($tables as $tablevalue) {
['value' => 10, 'generic' => 0, 'graph' => 0, 'descr' => 'wcdma1900'], ['value' => 10, 'generic' => 0, 'graph' => 0, 'descr' => 'wcdma1900'],
['value' => 11, 'generic' => 0, 'graph' => 0, 'descr' => 'wcdma2100'], ['value' => 11, 'generic' => 0, 'graph' => 0, 'descr' => 'wcdma2100'],
['value' => 12, 'generic' => 0, 'graph' => 0, 'descr' => 'lte band'], ['value' => 12, 'generic' => 0, 'graph' => 0, 'descr' => 'lte band'],
]; ],
} elseif ($state_name == 'c3gGsmPacketService') { 'c3gGsmPacketService' => [
$states = [
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'], ['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
['value' => 2, 'generic' => 1, 'graph' => 0, 'descr' => 'none'], ['value' => 2, 'generic' => 1, 'graph' => 0, 'descr' => 'none'],
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'gprs'], ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'gprs'],
@@ -161,15 +153,13 @@ foreach ($tables as $tablevalue) {
['value' => 8, 'generic' => 0, 'graph' => 0, 'descr' => 'hspa'], ['value' => 8, 'generic' => 0, 'graph' => 0, 'descr' => 'hspa'],
['value' => 9, 'generic' => 0, 'graph' => 0, 'descr' => 'hspa plus'], ['value' => 9, 'generic' => 0, 'graph' => 0, 'descr' => 'hspa plus'],
['value' => 10, 'generic' => 0, 'graph' => 0, 'descr' => 'lte'], ['value' => 10, 'generic' => 0, 'graph' => 0, 'descr' => 'lte'],
]; ],
} elseif ($state_name == 'c3gGsmCurrentRoamingStatus') { 'c3gGsmCurrentRoamingStatus' => [
$states = [
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'], ['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'roaming'], ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'roaming'],
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'home'], ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'home'],
]; ],
} elseif ($state_name == 'c3gGsmSimStatus') { 'c3gGsmSimStatus' => [
$states = [
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'], ['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'ok'], ['value' => 2, 'generic' => 0, 'graph' => 0, 'descr' => 'ok'],
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'not inserted'], ['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'not inserted'],
@@ -183,28 +173,26 @@ foreach ($tables as $tablevalue) {
['value' => 11, 'generic' => 2, 'graph' => 0, 'descr' => 'wcchv2Rejecteddma2100'], ['value' => 11, 'generic' => 2, 'graph' => 0, 'descr' => 'wcchv2Rejecteddma2100'],
['value' => 12, 'generic' => 2, 'graph' => 0, 'descr' => 'mepLocked'], ['value' => 12, 'generic' => 2, 'graph' => 0, 'descr' => 'mepLocked'],
['value' => 13, 'generic' => 2, 'graph' => 0, 'descr' => 'networkRejected'], ['value' => 13, 'generic' => 2, 'graph' => 0, 'descr' => 'networkRejected'],
]; ],
} elseif ($state_name == 'crepSegmentComplete') { 'crepSegmentComplete' => [
$states = [
['value' => 0, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'], ['value' => 0, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'complete'], ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'complete'],
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'incomplete'], ['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'incomplete'],
]; ],
} else { default => [
$states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'normal'], ['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'normal'],
['value' => 2, 'generic' => 1, 'graph' => 0, 'descr' => 'warning'], ['value' => 2, 'generic' => 1, 'graph' => 0, 'descr' => 'warning'],
['value' => 3, 'generic' => 2, 'graph' => 0, 'descr' => 'critical'], ['value' => 3, 'generic' => 2, 'graph' => 0, 'descr' => 'critical'],
['value' => 4, 'generic' => 3, 'graph' => 0, 'descr' => 'shutdown'], ['value' => 4, 'generic' => 3, 'graph' => 0, 'descr' => 'shutdown'],
['value' => 5, 'generic' => 3, 'graph' => 0, 'descr' => 'notPresent'], ['value' => 5, 'generic' => 3, 'graph' => 0, 'descr' => 'notPresent'],
['value' => 6, 'generic' => 2, 'graph' => 0, 'descr' => 'notFunctioning'], ['value' => 6, 'generic' => 2, 'graph' => 0, 'descr' => 'notFunctioning'],
]; ],
} };
create_state_index($state_name, $states); create_state_index($state_name, $states);
foreach ($temp as $index => $entry) { foreach ($temp as $index => $entry) {
$state_group = null; $state_group = null;
if ($tablevalue['state_name'] == 'ciscoEnvMonTemperatureState' && (empty($entry[$tablevalue['descr']]))) { if ($state_name == 'ciscoEnvMonTemperatureState' && (empty($entry[$tablevalue['descr']]))) {
d_echo('Invalid sensor, skipping..'); d_echo('Invalid sensor, skipping..');
} else { } else {
//Discover Sensors //Discover Sensors
@@ -221,15 +209,15 @@ foreach ($tables as $tablevalue) {
$stack_port_descr = get_port_by_index_cache($device['device_id'], $index); $stack_port_descr = get_port_by_index_cache($device['device_id'], $index);
$descr = $tablevalue['descr'] . $stack_port_descr['ifDescr']; $descr = $tablevalue['descr'] . $stack_port_descr['ifDescr'];
} elseif ($state_name == 'cefcFRUPowerOperStatus') { } elseif ($state_name == 'cefcFRUPowerOperStatus') {
$descr = snmp_get($device, 'entPhysicalName.' . $index, '-Oqv', 'ENTITY-MIB'); $descr = SnmpQuery::get('ENTITY-MIB::entPhysicalName.' . $index)->value();
} elseif ($state_name == 'c3gModemStatus' || $state_name == 'c3gGsmCurrentBand' || $state_name == 'c3gGsmPacketService' || $state_name == 'c3gGsmCurrentRoamingStatus' || $state_name == 'c3gGsmSimStatus') { } elseif ($state_name == 'c3gModemStatus' || $state_name == 'c3gGsmCurrentBand' || $state_name == 'c3gGsmPacketService' || $state_name == 'c3gGsmCurrentRoamingStatus' || $state_name == 'c3gGsmSimStatus') {
$descr = $tablevalue['descr']; $descr = $tablevalue['descr'];
$state_group = snmp_get($device, 'entPhysicalName.' . $index, '-Oqv', 'ENTITY-MIB'); $state_group = SnmpQuery::get('ENTITY-MIB::entPhysicalName.' . $index)->value();
} elseif ($state_name == 'crepSegmentComplete') { } elseif ($state_name == 'crepSegmentComplete') {
$repsegmentnumber++; $repsegmentnumber++;
$descr = $tablevalue['descr'] . $repsegmentnumber; $descr = $tablevalue['descr'] . $repsegmentnumber;
} }
discover_sensor(null, 'state', $device, $cur_oid . $index, $index, $state_name, trim($descr), 1, 1, null, null, null, null, $entry[$tablevalue['state_name']], 'snmp', $index, null, null, $state_group); discover_sensor(null, 'state', $device, $cur_oid . $index, $index, $state_name, trim($descr), 1, 1, null, null, null, null, $entry[$state_name], 'snmp', $index, null, null, $state_group);
//Create Sensor To State Index //Create Sensor To State Index
create_sensor_to_state_index($device, $state_name, $index); create_sensor_to_state_index($device, $state_name, $index);
@@ -238,4 +226,4 @@ foreach ($tables as $tablevalue) {
} }
} }
unset($role_data, $redundant_data); unset($role_data, $redundant_data, $temp);

View File

@@ -1,11 +1,13 @@
-- $Id: CISCO-ENVMON-MIB.my,v 3.2.56.4 1996/06/11 19:38:23 snyder Exp $
-- $Source: /release/112/cvs/Xsys/MIBS/CISCO-ENVMON-MIB.my,v $
-- ***************************************************************** -- *****************************************************************
-- CISCO-ENVMON-MIB.my: CISCO Environmental Monitor MIB file -- CISCO-ENVMON-MIB.my: CISCO Environmental Monitor MIB file
-- --
-- November 1994 Sandra C. Durham/Jeffrey T. Johnson -- November 1994 Sandra C. Durham/Jeffrey T. Johnson
-- --
-- Copyright (c) 1994-2003, 2004 by cisco Systems, Inc. -- Copyright (c) 1994-2003, 2004, 2018 by cisco Systems, Inc.
-- All rights reserved. -- All rights reserved.
-- --
-- ***************************************************************** -- *****************************************************************
-- --
CISCO-ENVMON-MIB DEFINITIONS ::= BEGIN CISCO-ENVMON-MIB DEFINITIONS ::= BEGIN
@@ -30,7 +32,7 @@ IMPORTS
ciscoEnvMonMIB MODULE-IDENTITY ciscoEnvMonMIB MODULE-IDENTITY
LAST-UPDATED "200312010000Z" LAST-UPDATED "201803210000Z"
ORGANIZATION "Cisco Systems, Inc." ORGANIZATION "Cisco Systems, Inc."
CONTACT-INFO CONTACT-INFO
" Cisco Systems " Cisco Systems
@@ -43,12 +45,16 @@ ciscoEnvMonMIB MODULE-IDENTITY
Tel: +1 800 553-NETS Tel: +1 800 553-NETS
E-mail: cs-snmp@cisco.com" E-mail: cs-snmp@cisco.com"
DESCRIPTION
"Added an object ciscoEnvMonTemperatureStatusValueRev1 to
CiscoEnvMonTemperatureStatusEntry for support of negative temperature"
REVISION "201803210000Z"
DESCRIPTION DESCRIPTION
"The MIB module to describe the status of the Environmental "The MIB module to describe the status of the Environmental
Monitor on those devices which support one." Monitor on those devices which support one."
REVISION "200312010000Z" REVISION "200312010000Z"
DESCRIPTION DESCRIPTION
"Added c37xx (13) and other (14) as values for "Added c37xx (13) and other (14) as values for
ciscoEnvMonPresent" ciscoEnvMonPresent"
REVISION "200311250000Z" REVISION "200311250000Z"
DESCRIPTION DESCRIPTION
@@ -62,8 +68,8 @@ ciscoEnvMonMIB MODULE-IDENTITY
and ciscoEnvMonStatChangeNotifGroup." and ciscoEnvMonStatChangeNotifGroup."
REVISION "200202040000Z" REVISION "200202040000Z"
DESCRIPTION DESCRIPTION
"Added osr7600(11) as values "Added osr7600(11) as values
for ciscoEnvMonPresent" for ciscoEnvMonPresent"
REVISION "200108300000Z" REVISION "200108300000Z"
DESCRIPTION DESCRIPTION
"Added c10000(10) as values for ciscoEnvMonPresent" "Added c10000(10) as values for ciscoEnvMonPresent"
@@ -72,7 +78,7 @@ ciscoEnvMonMIB MODULE-IDENTITY
"Added cat4000(9) as values for ciscoEnvMonPresent" "Added cat4000(9) as values for ciscoEnvMonPresent"
REVISION "200105070000Z" REVISION "200105070000Z"
DESCRIPTION DESCRIPTION
"Added cat6000(7),ubr7200(8) "Added cat6000(7),ubr7200(8)
as values for ciscoEnvMonPresent" as values for ciscoEnvMonPresent"
REVISION "200001310000Z" REVISION "200001310000Z"
DESCRIPTION DESCRIPTION
@@ -80,13 +86,13 @@ ciscoEnvMonMIB MODULE-IDENTITY
" "
REVISION "9810220000Z" REVISION "9810220000Z"
DESCRIPTION DESCRIPTION
"Renamed enumerated value internalRPS(5) as "Renamed enumerated value internalRPS(5) as
internalRedundant(5) and added description for internalRedundant(5) and added description for
ciscoEnvMonSupplySource enumerated values. ciscoEnvMonSupplySource enumerated values.
" "
REVISION "9808050000Z" REVISION "9808050000Z"
DESCRIPTION DESCRIPTION
"Add enumerated value internalRPS(5) to "Add enumerated value internalRPS(5) to
ciscoEnvMonSupplySource. ciscoEnvMonSupplySource.
" "
REVISION "9611120000Z" REVISION "9611120000Z"
@@ -127,7 +133,7 @@ CiscoEnvMonState ::= TEXTUAL-CONVENTION
notPresent(5): the environmental monitor is not present, notPresent(5): the environmental monitor is not present,
such as temperature sensors do not exist. such as temperature sensors do not exist.
notFunctioning(6): the environmental monitor does not notFunctioning(6): the environmental monitor does not
function properly, such as a temperature function properly, such as a temperature
sensor generates a abnormal data like sensor generates a abnormal data like
1000 C. 1000 C.
@@ -144,9 +150,9 @@ CiscoEnvMonState ::= TEXTUAL-CONVENTION
CiscoSignedGauge ::= TEXTUAL-CONVENTION CiscoSignedGauge ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Represents the current value of an entity, as a signed "Represents the current value of an entity, as a signed
integer." integer."
SYNTAX Integer32 SYNTAX Integer32
ciscoEnvMonObjects OBJECT IDENTIFIER ::= { ciscoEnvMonMIB 1 } ciscoEnvMonObjects OBJECT IDENTIFIER ::= { ciscoEnvMonMIB 1 }
@@ -156,15 +162,18 @@ ciscoEnvMonPresent OBJECT-TYPE
ags (2), ags (2),
c7000 (3), c7000 (3),
ci (4), ci (4),
cAccessMon (6), cAccessMon (6),
cat6000 (7), cat6000 (7),
ubr7200 (8), ubr7200 (8),
cat4000 (9), cat4000 (9),
c10000 (10), c10000 (10),
osr7600(11), osr7600(11),
c7600 (12), c7600(12),
c37xx (13), c37xx(13),
other (14) other(14),
c7301(15),
c7304(16)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
@@ -312,7 +321,8 @@ CiscoEnvMonTemperatureStatusEntry ::=
ciscoEnvMonTemperatureStatusValue Gauge32, ciscoEnvMonTemperatureStatusValue Gauge32,
ciscoEnvMonTemperatureThreshold Integer32, ciscoEnvMonTemperatureThreshold Integer32,
ciscoEnvMonTemperatureLastShutdown Integer32, ciscoEnvMonTemperatureLastShutdown Integer32,
ciscoEnvMonTemperatureState CiscoEnvMonState ciscoEnvMonTemperatureState CiscoEnvMonState,
ciscoEnvMonTemperatureStatusValueRev1 Integer32
} }
@@ -341,9 +351,11 @@ ciscoEnvMonTemperatureStatusValue OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Gauge32
UNITS "degrees Celsius" UNITS "degrees Celsius"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS deprecated
DESCRIPTION DESCRIPTION
"The current measurement of the testpoint being instrumented." "The current measurement of the testpoint being instrumented.
The object ciscoEnvMonTemperatureStatusValueRev1 should be
used to read the temperature."
::= { ciscoEnvMonTemperatureStatusEntry 3 } ::= { ciscoEnvMonTemperatureStatusEntry 3 }
ciscoEnvMonTemperatureThreshold OBJECT-TYPE ciscoEnvMonTemperatureThreshold OBJECT-TYPE
@@ -353,7 +365,7 @@ ciscoEnvMonTemperatureThreshold OBJECT-TYPE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The highest value that the associated instance of the "The highest value that the associated instance of the
object ciscoEnvMonTemperatureStatusValue may obtain object ciscoEnvMonTemperatureStatusValueRev1 may obtain
before an emergency shutdown of the managed device is before an emergency shutdown of the managed device is
initiated." initiated."
::= { ciscoEnvMonTemperatureStatusEntry 4 } ::= { ciscoEnvMonTemperatureStatusEntry 4 }
@@ -365,7 +377,7 @@ ciscoEnvMonTemperatureLastShutdown OBJECT-TYPE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of the associated instance of the object "The value of the associated instance of the object
ciscoEnvMonTemperatureStatusValue at the time an emergency ciscoEnvMonTemperatureStatusValueRev1 at the time an emergency
shutdown of the managed device was last initiated. This shutdown of the managed device was last initiated. This
value is stored in non-volatile RAM and hence is able to value is stored in non-volatile RAM and hence is able to
survive the shutdown." survive the shutdown."
@@ -379,7 +391,15 @@ ciscoEnvMonTemperatureState OBJECT-TYPE
"The current state of the testpoint being instrumented." "The current state of the testpoint being instrumented."
::= { ciscoEnvMonTemperatureStatusEntry 6 } ::= { ciscoEnvMonTemperatureStatusEntry 6 }
ciscoEnvMonTemperatureStatusValueRev1 OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Celsius"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current measurement of the testpoint being instrumented.It also
accomodates negative temperature values."
::= { ciscoEnvMonTemperatureStatusEntry 7 }
ciscoEnvMonFanStatusTable OBJECT-TYPE ciscoEnvMonFanStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF CiscoEnvMonFanStatusEntry SYNTAX SEQUENCE OF CiscoEnvMonFanStatusEntry
@@ -511,7 +531,7 @@ ciscoEnvMonSupplySource OBJECT-TYPE
ac - AC power supply ac - AC power supply
dc - DC power supply dc - DC power supply
externalPowerSupply - External power supply externalPowerSupply - External power supply
internalRedundant - Internal redundant power supply internalRedundant - Internal redundant power supply
" "
::= { ciscoEnvMonSupplyStatusEntry 4 } ::= { ciscoEnvMonSupplyStatusEntry 4 }
@@ -542,8 +562,8 @@ ciscoEnvMonEnableShutdownNotification OBJECT-TYPE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable indicates whether the system "This variable indicates whether the system
produces the ciscoEnvMonShutdownNotification. A false produces the ciscoEnvMonShutdownNotification. A false
value will prevent shutdown notifications value will prevent shutdown notifications
from being generated by this system." from being generated by this system."
DEFVAL { false } DEFVAL { false }
::= { ciscoEnvMonMIBNotificationEnables 1 } ::= { ciscoEnvMonMIBNotificationEnables 1 }
@@ -554,8 +574,8 @@ ciscoEnvMonEnableVoltageNotification OBJECT-TYPE
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"This variable indicates whether the system "This variable indicates whether the system
produces the ciscoEnvMonVoltageNotification. A false produces the ciscoEnvMonVoltageNotification. A false
value will prevent voltage notifications from being value will prevent voltage notifications from being
generated by this system. This object is deprecated generated by this system. This object is deprecated
in favour of ciscoEnvMonEnableStatChangeNotif." in favour of ciscoEnvMonEnableStatChangeNotif."
DEFVAL { false } DEFVAL { false }
@@ -568,9 +588,9 @@ ciscoEnvMonEnableTemperatureNotification OBJECT-TYPE
DESCRIPTION DESCRIPTION
"This variable indicates whether the system "This variable indicates whether the system
produces the ciscoEnvMonTemperatureNotification. produces the ciscoEnvMonTemperatureNotification.
A false value prevents temperature notifications A false value prevents temperature notifications
from being sent by this entity. This object is from being sent by this entity. This object is
deprecated in favour of deprecated in favour of
ciscoEnvMonEnableStatChangeNotif." ciscoEnvMonEnableStatChangeNotif."
DEFVAL { false } DEFVAL { false }
::= { ciscoEnvMonMIBNotificationEnables 3 } ::= { ciscoEnvMonMIBNotificationEnables 3 }
@@ -582,9 +602,9 @@ ciscoEnvMonEnableFanNotification OBJECT-TYPE
DESCRIPTION DESCRIPTION
"This variable indicates whether the system "This variable indicates whether the system
produces the ciscoEnvMonFanNotification. produces the ciscoEnvMonFanNotification.
A false value prevents fan notifications A false value prevents fan notifications
from being sent by this entity. This object is from being sent by this entity. This object is
deprecated in favour of deprecated in favour of
ciscoEnvMonEnableStatChangeNotif." ciscoEnvMonEnableStatChangeNotif."
DEFVAL { false } DEFVAL { false }
::= { ciscoEnvMonMIBNotificationEnables 4 } ::= { ciscoEnvMonMIBNotificationEnables 4 }
@@ -595,10 +615,10 @@ ciscoEnvMonEnableRedundantSupplyNotification OBJECT-TYPE
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"This variable indicates whether the system "This variable indicates whether the system
produces the ciscoEnvMonRedundantSupplyNotification. produces the ciscoEnvMonRedundantSupplyNotification.
A false value prevents redundant supply notifications A false value prevents redundant supply notifications
from being generated by this system. This object is from being generated by this system. This object is
deprecated in favour of deprecated in favour of
ciscoEnvMonEnableStatChangeNotif." ciscoEnvMonEnableStatChangeNotif."
DEFVAL { false } DEFVAL { false }
::= { ciscoEnvMonMIBNotificationEnables 5 } ::= { ciscoEnvMonMIBNotificationEnables 5 }
@@ -610,10 +630,10 @@ ciscoEnvMonEnableStatChangeNotif OBJECT-TYPE
DESCRIPTION DESCRIPTION
"This variable indicates whether the system "This variable indicates whether the system
produces the ciscoEnvMonVoltStatusChangeNotif, produces the ciscoEnvMonVoltStatusChangeNotif,
ciscoEnvMonTempStatusChangeNotif, ciscoEnvMonTempStatusChangeNotif,
ciscoEnvMonFanStatusChangeNotif and ciscoEnvMonFanStatusChangeNotif and
ciscoEnvMonSuppStatusChangeNotif. A false value will ciscoEnvMonSuppStatusChangeNotif. A false value will
prevent these notifications from being generated by prevent these notifications from being generated by
this system." this system."
DEFVAL { false } DEFVAL { false }
::= { ciscoEnvMonMIBNotificationEnables 6 } ::= { ciscoEnvMonMIBNotificationEnables 6 }
@@ -629,7 +649,7 @@ ciscoEnvMonShutdownNotification NOTIFICATION-TYPE
DESCRIPTION DESCRIPTION
"A ciscoEnvMonShutdownNotification is sent if the environmental "A ciscoEnvMonShutdownNotification is sent if the environmental
monitor detects a testpoint reaching a critical state monitor detects a testpoint reaching a critical state
and is about to initiate a shutdown. This notification and is about to initiate a shutdown. This notification
contains no objects so that it may be encoded and sent in the contains no objects so that it may be encoded and sent in the
shortest amount of time possible. Even so, management shortest amount of time possible. Even so, management
applications should not rely on receiving such a notification applications should not rely on receiving such a notification
@@ -645,12 +665,12 @@ ciscoEnvMonVoltageNotification NOTIFICATION-TYPE
} }
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"A ciscoEnvMonVoltageNotification is sent if the voltage "A ciscoEnvMonVoltageNotification is sent if the voltage
measured at a given testpoint is outside the normal range measured at a given testpoint is outside the normal range
for the testpoint (i.e. is at the warning, critical, or for the testpoint (i.e. is at the warning, critical, or
shutdown stage). Since such a notification is usually shutdown stage). Since such a notification is usually
generated before the shutdown state is reached, it can generated before the shutdown state is reached, it can
convey more data and has a better chance of being sent convey more data and has a better chance of being sent
than does the ciscoEnvMonShutdownNotification. than does the ciscoEnvMonShutdownNotification.
This notification is deprecated in favour of This notification is deprecated in favour of
ciscoEnvMonVoltStatusChangeNotif." ciscoEnvMonVoltStatusChangeNotif."
@@ -661,18 +681,19 @@ ciscoEnvMonTemperatureNotification NOTIFICATION-TYPE
OBJECTS { OBJECTS {
ciscoEnvMonTemperatureStatusDescr, ciscoEnvMonTemperatureStatusDescr,
ciscoEnvMonTemperatureStatusValue, ciscoEnvMonTemperatureStatusValue,
ciscoEnvMonTemperatureState ciscoEnvMonTemperatureState,
ciscoEnvMonTemperatureStatusValueRev1
} }
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"A ciscoEnvMonTemperatureNotification is sent if the "A ciscoEnvMonTemperatureNotification is sent if the
temperature measured at a given testpoint is outside temperature measured at a given testpoint is outside
the normal range for the testpoint (i.e. is at the warning, the normal range for the testpoint (i.e. is at the warning,
critical, or shutdown stage). Since such a Notification critical, or shutdown stage). Since such a Notification
is usually generated before the shutdown state is reached, is usually generated before the shutdown state is reached,
it can convey more data and has a better chance of being it can convey more data and has a better chance of being
sent than does the ciscoEnvMonShutdownNotification. sent than does the ciscoEnvMonShutdownNotification.
This notification is deprecated in favour of This notification is deprecated in favour of
ciscoEnvMonTempStatusChangeNotif." ciscoEnvMonTempStatusChangeNotif."
::= { ciscoEnvMonMIBNotifications 3 } ::= { ciscoEnvMonMIBNotifications 3 }
@@ -686,9 +707,9 @@ ciscoEnvMonFanNotification NOTIFICATION-TYPE
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"A ciscoEnvMonFanNotification is sent if any one of "A ciscoEnvMonFanNotification is sent if any one of
the fans in the fan array (where extant) fails. the fans in the fan array (where extant) fails.
Since such a notification is usually generated before Since such a notification is usually generated before
the shutdown state is reached, it can convey more the shutdown state is reached, it can convey more
data and has a better chance of being sent data and has a better chance of being sent
than does the ciscoEnvMonShutdownNotification. than does the ciscoEnvMonShutdownNotification.
This notification is deprecated in favour of This notification is deprecated in favour of
@@ -703,12 +724,12 @@ ciscoEnvMonRedundantSupplyNotification NOTIFICATION-TYPE
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"A ciscoEnvMonRedundantSupplyNotification is sent if "A ciscoEnvMonRedundantSupplyNotification is sent if
the redundant power supply (where extant) fails. the redundant power supply (where extant) fails.
Since such a notification is usually generated before Since such a notification is usually generated before
the shutdown state is reached, it can convey more the shutdown state is reached, it can convey more
data and has a better chance of being sent data and has a better chance of being sent
than does the ciscoEnvMonShutdownNotification. than does the ciscoEnvMonShutdownNotification.
This notification is deprecated in favour of This notification is deprecated in favour of
ciscoEnvMonSuppStatusChangeNotif." ciscoEnvMonSuppStatusChangeNotif."
::= { ciscoEnvMonMIBNotifications 5 } ::= { ciscoEnvMonMIBNotifications 5 }
@@ -720,7 +741,7 @@ ciscoEnvMonVoltStatusChangeNotif NOTIFICATION-TYPE
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A ciscoEnvMonVoltStatusChangeNotif is sent if there is "A ciscoEnvMonVoltStatusChangeNotif is sent if there is
change in the state of a device being monitored change in the state of a device being monitored
by ciscoEnvMonVoltageState." by ciscoEnvMonVoltageState."
::= { ciscoEnvMonMIBNotifications 6 } ::= { ciscoEnvMonMIBNotifications 6 }
@@ -729,11 +750,12 @@ ciscoEnvMonTempStatusChangeNotif NOTIFICATION-TYPE
OBJECTS { OBJECTS {
ciscoEnvMonTemperatureStatusDescr, ciscoEnvMonTemperatureStatusDescr,
ciscoEnvMonTemperatureStatusValue, ciscoEnvMonTemperatureStatusValue,
ciscoEnvMonTemperatureState ciscoEnvMonTemperatureState,
ciscoEnvMonTemperatureStatusValueRev1
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A ciscoEnvMonTempStatusChangeNotif is sent if there "A ciscoEnvMonTempStatusChangeNotif is sent if there
is change in the state of a device being monitored is change in the state of a device being monitored
by ciscoEnvMonTemperatureState." by ciscoEnvMonTemperatureState."
::= { ciscoEnvMonMIBNotifications 7 } ::= { ciscoEnvMonMIBNotifications 7 }
@@ -745,7 +767,7 @@ ciscoEnvMonFanStatusChangeNotif NOTIFICATION-TYPE
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A ciscoEnvMonFanStatusChangeNotif is sent if there "A ciscoEnvMonFanStatusChangeNotif is sent if there
is change in the state of a device being monitored is change in the state of a device being monitored
by ciscoEnvMonFanState." by ciscoEnvMonFanState."
::= { ciscoEnvMonMIBNotifications 8 } ::= { ciscoEnvMonMIBNotifications 8 }
@@ -757,7 +779,7 @@ ciscoEnvMonSuppStatusChangeNotif NOTIFICATION-TYPE
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A ciscoEnvMonSupplyStatChangeNotif is sent if there "A ciscoEnvMonSupplyStatChangeNotif is sent if there
is change in the state of a device being monitored is change in the state of a device being monitored
by ciscoEnvMonSupplyState." by ciscoEnvMonSupplyState."
::= { ciscoEnvMonMIBNotifications 9 } ::= { ciscoEnvMonMIBNotifications 9 }
@@ -793,14 +815,14 @@ ciscoEnvMonMIBComplianceRev1 MODULE-COMPLIANCE
GROUP ciscoEnvMonEnableStatChangeGroup GROUP ciscoEnvMonEnableStatChangeGroup
DESCRIPTION DESCRIPTION
"The ciscoEnvMonEnableStatChangeGroup is optional. "The ciscoEnvMonEnableStatChangeGroup is optional.
This group is applicable for implementations which This group is applicable for implementations which
need status change notifications for environmental need status change notifications for environmental
monitoring." monitoring."
GROUP ciscoEnvMonStatChangeNotifGroup GROUP ciscoEnvMonStatChangeNotifGroup
DESCRIPTION DESCRIPTION
"The ciscoEnvMonStatChangeNotifGroup is optional. "The ciscoEnvMonStatChangeNotifGroup is optional.
This group is applicable for implementations which This group is applicable for implementations which
need status change notifications for environmental need status change notifications for environmental
monitoring." monitoring."
@@ -825,6 +847,7 @@ ciscoEnvMonMIBGroup OBJECT-GROUP
ciscoEnvMonTemperatureThreshold, ciscoEnvMonTemperatureThreshold,
ciscoEnvMonTemperatureLastShutdown, ciscoEnvMonTemperatureLastShutdown,
ciscoEnvMonTemperatureState, ciscoEnvMonTemperatureState,
ciscoEnvMonTemperatureStatusValueRev1,
ciscoEnvMonFanStatusDescr, ciscoEnvMonFanStatusDescr,
ciscoEnvMonFanState, ciscoEnvMonFanState,
@@ -844,8 +867,8 @@ ciscoEnvMonMIBGroup OBJECT-GROUP
} }
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"A collection of objects providing environmental "A collection of objects providing environmental
monitoring capability to a cisco chassis. This group monitoring capability to a cisco chassis. This group
is deprecated in favour of ciscoEnvMonMIBGroupRev." is deprecated in favour of ciscoEnvMonMIBGroupRev."
::= { ciscoEnvMonMIBGroups 1 } ::= { ciscoEnvMonMIBGroups 1 }
@@ -865,6 +888,7 @@ ciscoEnvMonMIBGroupRev OBJECT-GROUP
ciscoEnvMonTemperatureThreshold, ciscoEnvMonTemperatureThreshold,
ciscoEnvMonTemperatureLastShutdown, ciscoEnvMonTemperatureLastShutdown,
ciscoEnvMonTemperatureState, ciscoEnvMonTemperatureState,
ciscoEnvMonTemperatureStatusValueRev1,
ciscoEnvMonFanStatusDescr, ciscoEnvMonFanStatusDescr,
ciscoEnvMonFanState, ciscoEnvMonFanState,
@@ -880,7 +904,7 @@ ciscoEnvMonMIBGroupRev OBJECT-GROUP
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A collection of objects providing environmental "A collection of objects providing environmental
monitoring capability to a cisco chassis." monitoring capability to a cisco chassis."
::= { ciscoEnvMonMIBGroups 2 } ::= { ciscoEnvMonMIBGroups 2 }
@@ -891,7 +915,7 @@ ciscoEnvMonEnableStatChangeGroup OBJECT-GROUP
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A collection of objects providing enabling/disabling "A collection of objects providing enabling/disabling
of the status change notifications for environmental of the status change notifications for environmental
monitoring." monitoring."
::= { ciscoEnvMonMIBGroups 3 } ::= { ciscoEnvMonMIBGroups 3 }
@@ -914,7 +938,7 @@ ciscoEnvMonStatChangeNotifGroup NOTIFICATION-GROUP
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A collection of notifications providing the status "A collection of notifications providing the status
change for environmental monitoring." change for environmental monitoring."
::= { ciscoEnvMonMIBGroups 5 } ::= { ciscoEnvMonMIBGroups 5 }
@@ -927,10 +951,10 @@ ciscoEnvMonMIBMiscNotifGroup NOTIFICATION-GROUP
} }
STATUS deprecated STATUS deprecated
DESCRIPTION DESCRIPTION
"A collection of various notifications for the "A collection of various notifications for the
enviromental monitoring mib module. The notifications enviromental monitoring mib module. The notifications
the group and the group are both in deprecated state. the group and the group are both in deprecated state.
The notifications in the group were deprecated in The notifications in the group were deprecated in
favour of notifications in favour of notifications in
ciscoEnvMonStatChangeNotifGroup." ciscoEnvMonStatChangeNotifGroup."
::= { ciscoEnvMonMIBGroups 6 } ::= { ciscoEnvMonMIBGroups 6 }