check_nwc_health: Update to 11.2.4
This commit is contained in:
parent
713d3fe45b
commit
cd031f5322
614 changed files with 18556 additions and 5514 deletions
|
@ -1,656 +0,0 @@
|
|||
package Monitoring::GLPlugin::SNMP::MibsAndOids::HUAWEIENTITYEXTENTMIB;
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'HUAWEI-ENTITY-EXTENT-MIB'} = {
|
||||
url => '',
|
||||
name => 'HUAWEI-ENTITY-EXTENT-MIB',
|
||||
};
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'HUAWEI-ENTITY-EXTENT-MIB'} = {
|
||||
hwEntityExtentMIB => '1.3.6.1.4.1.2011.5.25.31',
|
||||
hwEntityExtObjects => '1.3.6.1.4.1.2011.5.25.31.1',
|
||||
hwEntityState => '1.3.6.1.4.1.2011.5.25.31.1.1',
|
||||
hwEntityStateTable => '1.3.6.1.4.1.2011.5.25.31.1.1.1',
|
||||
hwEntityStateEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1',
|
||||
hwEntityAdminStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.1',
|
||||
hwEntityAdminStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::HwAdminState',
|
||||
hwEntityOperStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.2',
|
||||
hwEntityOperStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::HwOperState',
|
||||
hwEntityStandbyStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.3',
|
||||
hwEntityStandbyStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::HwStandbyStatus',
|
||||
hwEntityAlarmLight => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.4',
|
||||
hwEntityCpuUsage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5',
|
||||
hwEntityCpuUsageThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.6',
|
||||
hwEntityMemUsage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7',
|
||||
hwEntityMemUsageThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.8',
|
||||
hwEntityMemSize => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.9',
|
||||
hwEntityUpTime => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.10',
|
||||
hwEntityTemperature => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11',
|
||||
hwEntityTemperatureThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.12',
|
||||
hwEntityVoltage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.13',
|
||||
hwEntityVoltageLowThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.14',
|
||||
hwEntityVoltageHighThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.15',
|
||||
hwEntityTemperatureLowThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.16',
|
||||
hwEntityOpticalPower => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.17',
|
||||
hwEntityCurrent => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.18',
|
||||
hwEntityMemSizeMega => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.19',
|
||||
hwEntityPortType => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.20',
|
||||
hwEntityPortTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityPortType',
|
||||
hwEntityDuplex => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.21',
|
||||
hwEntityDuplexDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityDuplex',
|
||||
hwEntityOpticalPowerRx => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.22',
|
||||
hwEntityCpuUsageLowThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.23',
|
||||
hwEntityBoardPower => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.24',
|
||||
hwEntityCpuFrequency => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.25',
|
||||
hwEntitySupportFlexCard => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.26',
|
||||
hwEntitySupportFlexCardDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntitySupportFlexCard',
|
||||
hwEntityBoardClass => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.27',
|
||||
hwEntityBoardClassDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityBoardClass',
|
||||
hwNseOpmStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.28',
|
||||
hwEntityCpuMaxUsage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.29',
|
||||
hwEntityCPUType => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.30',
|
||||
hwEntityMemoryType => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.31',
|
||||
hwEntityFlashSize => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.32',
|
||||
hwEntityIfUpTimes => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.33',
|
||||
hwEntityIfDownTimes => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.34',
|
||||
hwEntityCPUAvgUsage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.35',
|
||||
hwEntityMemoryAvgUsage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.36',
|
||||
hwEntityMemUsed => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.37',
|
||||
hwEntityTotalFanNum => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.38',
|
||||
hwEntityNomalFanNum => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.39',
|
||||
hwEntityTotalPwrNum => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.40',
|
||||
hwEntityNomalPwrNum => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.41',
|
||||
hwEntityFaultLight => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.42',
|
||||
hwEntityFaultLightDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityFaultLight',
|
||||
hwEntityBoardName => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.43',
|
||||
hwEntityBoardDescription => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.44',
|
||||
hwEntity5MinCpuUsage => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.45',
|
||||
hwEntityStartMode => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.46',
|
||||
hwEntityStartModeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityStartMode',
|
||||
hwEntitySplitAttribute => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.47',
|
||||
hwEntityFaultLightKeepTime => '1.3.6.1.4.1.2011.5.25.31.1.1.1.1.48',
|
||||
hwRUModuleInfoTable => '1.3.6.1.4.1.2011.5.25.31.1.1.2',
|
||||
hwRUModuleInfoEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1',
|
||||
hwEntityBomId => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.1',
|
||||
hwEntityBomEnDesc => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.2',
|
||||
hwEntityBomLocalDesc => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.3',
|
||||
hwEntityManufacturedDate => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.4',
|
||||
hwEntityManufactureCode => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.5',
|
||||
hwEntityCLEICode => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.6',
|
||||
hwEntityUpdateLog => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.7',
|
||||
hwEntityArchivesInfoVersion => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.8',
|
||||
hwEntityOpenBomId => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.9',
|
||||
hwEntityIssueNum => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.10',
|
||||
hwEntityBoardType => '1.3.6.1.4.1.2011.5.25.31.1.1.2.1.11',
|
||||
hwOpticalModuleInfoTable => '1.3.6.1.4.1.2011.5.25.31.1.1.3',
|
||||
hwOpticalModuleInfoEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1',
|
||||
hwEntityOpticalMode => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.1',
|
||||
hwEntityOpticalModeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalMode',
|
||||
hwEntityOpticalWaveLength => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.2',
|
||||
hwEntityOpticalTransDistance => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.3',
|
||||
hwEntityOpticalVendorSn => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.4',
|
||||
hwEntityOpticalTemperature => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.5',
|
||||
hwEntityOpticalVoltage => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.6',
|
||||
hwEntityOpticalBiasCurrent => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.7',
|
||||
hwEntityOpticalRxPower => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.8',
|
||||
hwEntityOpticalTxPower => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.9',
|
||||
hwEntityOpticalType => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.10',
|
||||
hwEntityOpticalTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalType',
|
||||
hwEntityOpticalTransBW => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.11',
|
||||
hwEntityOpticalFiberType => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.12',
|
||||
hwEntityOpticalFiberTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalFiberType',
|
||||
hwEntityOpticalRxLowThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.13',
|
||||
hwEntityOpticalRxHighThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.14',
|
||||
hwEntityOpticalTxLowThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.15',
|
||||
hwEntityOpticalTxHighThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.16',
|
||||
hwEntityOpticalPlug => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.17',
|
||||
hwEntityOpticalPlugDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalPlug',
|
||||
hwEntityOpticalDirectionType => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.18',
|
||||
hwEntityOpticalDirectionTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalDirectionType',
|
||||
hwEntityOpticalUserEeprom => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.19',
|
||||
hwEntityOpticalRxLowWarnThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.20',
|
||||
hwEntityOpticalRxHighWarnThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.21',
|
||||
hwEntityOpticalTxLowWarnThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.22',
|
||||
hwEntityOpticalTxHighWarnThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.23',
|
||||
hwEntityOpticalVenderName => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.24',
|
||||
hwEntityOpticalVenderPn => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.25',
|
||||
hwEntityOpticalAuthenticationStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.26',
|
||||
hwEntityOpticalAuthenticationStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalAuthenticationStatus',
|
||||
hwEntityOpticalTunableType => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.27',
|
||||
hwEntityOpticalTunableTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalTunableType',
|
||||
hwEntityOpticalWaveLengthDecimal => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.28',
|
||||
hwEntityOpticalTunableModuleChannel => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.29',
|
||||
hwEntityOpticalWaveBand => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.30',
|
||||
hwEntityOpticalWaveBandDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityOpticalWaveBand',
|
||||
hwEntityOpticalLaneBiasCurrent => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.31',
|
||||
hwEntityOpticalLaneRxPower => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.32',
|
||||
hwEntityOpticalLaneTxPower => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.33',
|
||||
hwEntityOpticalVendorOUI => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.34',
|
||||
hwEntityOpticalVendorRev => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.35',
|
||||
hwEntityOpticalGponSN => '1.3.6.1.4.1.2011.5.25.31.1.1.3.1.36',
|
||||
hwMonitorInputTable => '1.3.6.1.4.1.2011.5.25.31.1.1.4',
|
||||
hwMonitorInputEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.4.1',
|
||||
hwMonitorInputIndex => '1.3.6.1.4.1.2011.5.25.31.1.1.4.1.1',
|
||||
hwMonitorInputName => '1.3.6.1.4.1.2011.5.25.31.1.1.4.1.2',
|
||||
hwMonitorInputState => '1.3.6.1.4.1.2011.5.25.31.1.1.4.1.3',
|
||||
hwMonitorInputStateEnable => '1.3.6.1.4.1.2011.5.25.31.1.1.4.1.4',
|
||||
hwMonitorInputRowStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.4.1.5',
|
||||
hwMonitorOutputTable => '1.3.6.1.4.1.2011.5.25.31.1.1.5',
|
||||
hwMonitorOutputEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.5.1',
|
||||
hwMonitorOutputIndex => '1.3.6.1.4.1.2011.5.25.31.1.1.5.1.1',
|
||||
hwMonitorOutputRuleIndex => '1.3.6.1.4.1.2011.5.25.31.1.1.5.1.2',
|
||||
hwMonitorOutputMask => '1.3.6.1.4.1.2011.5.25.31.1.1.5.1.3',
|
||||
hwMonitorOutputKey => '1.3.6.1.4.1.2011.5.25.31.1.1.5.1.4',
|
||||
hwMonitorOutputRowStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.5.1.5',
|
||||
hwEntPowerUsedInfoTable => '1.3.6.1.4.1.2011.5.25.31.1.1.6',
|
||||
hwEntPowerUsedInfoEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.6.1',
|
||||
hwEntPowerUsedInfoBoardName => '1.3.6.1.4.1.2011.5.25.31.1.1.6.1.1',
|
||||
hwEntPowerUsedInfoBoardType => '1.3.6.1.4.1.2011.5.25.31.1.1.6.1.2',
|
||||
hwEntPowerUsedInfoBoardSlot => '1.3.6.1.4.1.2011.5.25.31.1.1.6.1.3',
|
||||
hwEntPowerUsedInfoPower => '1.3.6.1.4.1.2011.5.25.31.1.1.6.1.4',
|
||||
hwVirtualCableTestTable => '1.3.6.1.4.1.2011.5.25.31.1.1.7',
|
||||
hwVirtualCableTestEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1',
|
||||
hwVirtualCableTestIfIndex => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.1',
|
||||
hwVirtualCableTestPairStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.2',
|
||||
hwVirtualCableTestPairStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwVirtualCableTestPairStatus',
|
||||
hwVirtualCableTestPairLength => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.3',
|
||||
hwVirtualCableTestOperation => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.4',
|
||||
hwVirtualCableTestOperationDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwVirtualCableTestOperation',
|
||||
hwVirtualCableTestLastTime => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.5',
|
||||
hwVirtualCableTestPairAStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.6',
|
||||
hwVirtualCableTestPairAStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwVirtualCableTestPairAStatus',
|
||||
hwVirtualCableTestPairBStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.7',
|
||||
hwVirtualCableTestPairBStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwVirtualCableTestPairBStatus',
|
||||
hwVirtualCableTestPairCStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.8',
|
||||
hwVirtualCableTestPairCStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwVirtualCableTestPairCStatus',
|
||||
hwVirtualCableTestPairDStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.9',
|
||||
hwVirtualCableTestPairDStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwVirtualCableTestPairDStatus',
|
||||
hwVirtualCableTestPairALength => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.10',
|
||||
hwVirtualCableTestPairBLength => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.11',
|
||||
hwVirtualCableTestPairCLength => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.12',
|
||||
hwVirtualCableTestPairDLength => '1.3.6.1.4.1.2011.5.25.31.1.1.7.1.13',
|
||||
hwTemperatureThresholdTable => '1.3.6.1.4.1.2011.5.25.31.1.1.8',
|
||||
hwTemperatureThresholdEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1',
|
||||
hwEntityTempSlotId => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.1',
|
||||
hwEntityTempI2CId => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.2',
|
||||
hwEntityTempAddr => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.3',
|
||||
hwEntityTempChannel => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.4',
|
||||
hwEntityTempStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.5',
|
||||
hwEntityTempStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityTempStatus',
|
||||
hwEntityTempValue => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.6',
|
||||
hwEntityTempMinorAlmThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.7',
|
||||
hwEntityTempMajorAlmThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.8',
|
||||
hwEntityTempFatalAlmThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.8.1.9',
|
||||
hwVoltageInfoTable => '1.3.6.1.4.1.2011.5.25.31.1.1.9',
|
||||
hwVoltageInfoEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1',
|
||||
hwEntityVolSlot => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.1',
|
||||
hwEntityVolI2CId => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.2',
|
||||
hwEntityVolAddr => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.3',
|
||||
hwEntityVolChannel => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.4',
|
||||
hwEntityVolStatus => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.5',
|
||||
hwEntityVolStatusDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityVolStatus',
|
||||
hwEntityVolRequired => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.6',
|
||||
hwEntityVolCurValue => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.7',
|
||||
hwEntityVolRatio => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.8',
|
||||
hwEntityVolLowAlmMajor => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.9',
|
||||
hwEntityVolLowAlmFatal => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.10',
|
||||
hwEntityVolHighAlmMajor => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.11',
|
||||
hwEntityVolHighAlmFatal => '1.3.6.1.4.1.2011.5.25.31.1.1.9.1.12',
|
||||
hwFanStatusTable => '1.3.6.1.4.1.2011.5.25.31.1.1.10',
|
||||
hwFanStatusEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1',
|
||||
hwEntityFanSlot => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.1',
|
||||
hwEntityFanSn => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.2',
|
||||
hwEntityFanReg => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.3',
|
||||
hwEntityFanRegDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanReg',
|
||||
hwEntityFanSpdAdjMode => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.4',
|
||||
hwEntityFanSpdAdjModeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanSpdAdjMode',
|
||||
hwEntityFanSpeed => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.5',
|
||||
hwEntityFanPresent => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.6',
|
||||
hwEntityFanPresentDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanPresent',
|
||||
hwEntityFanState => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.7',
|
||||
hwEntityFanStateDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanState',
|
||||
hwEntityFanDesc => '1.3.6.1.4.1.2011.5.25.31.1.1.10.1.8',
|
||||
hwEntityGlobalPara => '1.3.6.1.4.1.2011.5.25.31.1.1.11',
|
||||
hwEntityServiceType => '1.3.6.1.4.1.2011.5.25.31.1.1.11.1',
|
||||
hwEntityServiceTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityServiceType',
|
||||
hwDeviceServiceType => '1.3.6.1.4.1.2011.5.25.31.1.1.11.2',
|
||||
hwEntityManufacturerOUI => '1.3.6.1.4.1.2011.5.25.31.1.1.11.3',
|
||||
hwPortBip8StatisticsTable => '1.3.6.1.4.1.2011.5.25.31.1.1.12',
|
||||
hwPortBip8StatisticsEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1',
|
||||
hwPhysicalPortBip8StatisticsEB => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1.1',
|
||||
hwPhysicalPortBip8StatisticsES => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1.2',
|
||||
hwPhysicalPortBip8StatisticsSES => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1.3',
|
||||
hwPhysicalPortBip8StatisticsUAS => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1.4',
|
||||
hwPhysicalPortBip8StatisticsBBE => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1.5',
|
||||
hwPhysicalPortSpeed => '1.3.6.1.4.1.2011.5.25.31.1.1.12.1.6',
|
||||
hwStorageEntTable => '1.3.6.1.4.1.2011.5.25.31.1.1.13',
|
||||
hwStorageEntEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1',
|
||||
hwStorageEntIndex => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1.1',
|
||||
hwStorageEntType => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1.2',
|
||||
hwStorageEntSpace => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1.3',
|
||||
hwStorageEntSpaceFree => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1.4',
|
||||
hwStorageEntName => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1.5',
|
||||
hwStorageEntDescr => '1.3.6.1.4.1.2011.5.25.31.1.1.13.1.6',
|
||||
hwSystemPowerTable => '1.3.6.1.4.1.2011.5.25.31.1.1.14',
|
||||
hwSystemPowerEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.14.1',
|
||||
hwSystemPowerDeviceID => '1.3.6.1.4.1.2011.5.25.31.1.1.14.1.1',
|
||||
hwSystemPowerTotalPower => '1.3.6.1.4.1.2011.5.25.31.1.1.14.1.2',
|
||||
hwSystemPowerUsedPower => '1.3.6.1.4.1.2011.5.25.31.1.1.14.1.3',
|
||||
hwSystemPowerRemainPower => '1.3.6.1.4.1.2011.5.25.31.1.1.14.1.4',
|
||||
hwSystemPowerReservedPower => '1.3.6.1.4.1.2011.5.25.31.1.1.14.1.5',
|
||||
hwBatteryInfoTable => '1.3.6.1.4.1.2011.5.25.31.1.1.15',
|
||||
hwBatteryInfoEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1',
|
||||
hwBatteryState => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.1',
|
||||
hwBatteryStateDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwBatteryState',
|
||||
hwBatteryTemperatureLow => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.2',
|
||||
hwBatteryTemperatureHigh => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.3',
|
||||
hwBatteryRemainPercent => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.4',
|
||||
hwBatteryRemainTime => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.5',
|
||||
hwBatteryElecTimes => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.6',
|
||||
hwBatteryLifeThreshold => '1.3.6.1.4.1.2011.5.25.31.1.1.15.1.7',
|
||||
hwGPSLocationInfo => '1.3.6.1.4.1.2011.5.25.31.1.1.16',
|
||||
hwGPSLongitude => '1.3.6.1.4.1.2011.5.25.31.1.1.16.1',
|
||||
hwGPSLatitude => '1.3.6.1.4.1.2011.5.25.31.1.1.16.2',
|
||||
hwGPSVelocity => '1.3.6.1.4.1.2011.5.25.31.1.1.16.3',
|
||||
hwAdmPortTable => '1.3.6.1.4.1.2011.5.25.31.1.1.17',
|
||||
hwAdmPortEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.17.1',
|
||||
hwAdmPortDescription => '1.3.6.1.4.1.2011.5.25.31.1.1.17.1.1',
|
||||
hwPwrStatusTable => '1.3.6.1.4.1.2011.5.25.31.1.1.18',
|
||||
hwPwrStatusEntry => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1',
|
||||
hwEntityPwrSlot => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.1',
|
||||
hwEntityPwrSn => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.2',
|
||||
hwEntityPwrReg => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.3',
|
||||
hwEntityPwrRegDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityPwrReg',
|
||||
hwEntityPwrMode => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.4',
|
||||
hwEntityPwrModeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityPwrMode',
|
||||
hwEntityPwrPresent => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.5',
|
||||
hwEntityPwrPresentDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityPwrPresent',
|
||||
hwEntityPwrState => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.6',
|
||||
hwEntityPwrStateDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityPwrState',
|
||||
hwEntityPwrCurrent => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.7',
|
||||
hwEntityPwrVoltage => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.8',
|
||||
hwEntityPwrDesc => '1.3.6.1.4.1.2011.5.25.31.1.1.18.1.9',
|
||||
hwEntityPhysicalSpecTable => '1.3.6.1.4.1.2011.5.25.31.1.2',
|
||||
hwEntityPhysicalSpecRack => '1.3.6.1.4.1.2011.5.25.31.1.2.1',
|
||||
hwEntityPhysicalSpecFrame => '1.3.6.1.4.1.2011.5.25.31.1.2.2',
|
||||
hwEntityPhysicalSpecSlot => '1.3.6.1.4.1.2011.5.25.31.1.2.3',
|
||||
hwEntityPhysicalSpecBoard => '1.3.6.1.4.1.2011.5.25.31.1.2.4',
|
||||
hwEntityPhysicalSpecSubSlot => '1.3.6.1.4.1.2011.5.25.31.1.2.5',
|
||||
hwEntityPhysicalSpecSubBoard => '1.3.6.1.4.1.2011.5.25.31.1.2.6',
|
||||
hwEntityPhysicalSpecPort => '1.3.6.1.4.1.2011.5.25.31.1.2.7',
|
||||
hwEntityPhysicalSpecEmu => '1.3.6.1.4.1.2011.5.25.31.1.2.8',
|
||||
hwEntityPhysicalSpecPowerframe => '1.3.6.1.4.1.2011.5.25.31.1.2.9',
|
||||
hwEntityPhysicalSpecPowermodule => '1.3.6.1.4.1.2011.5.25.31.1.2.10',
|
||||
hwEntityPhysicalSpecBattery => '1.3.6.1.4.1.2011.5.25.31.1.2.11',
|
||||
hwEntityExtTraps => '1.3.6.1.4.1.2011.5.25.31.2',
|
||||
hwEntityExtTrapsPrefix => '1.3.6.1.4.1.2011.5.25.31.2.0',
|
||||
hwEntityExtTrapObject => '1.3.6.1.4.1.2011.5.25.31.2.1',
|
||||
hwEntityExtTrapBaseSoftwareVersion => '1.3.6.1.4.1.2011.5.25.31.2.1.1',
|
||||
hwEntityExtTrapBoardSoftwareVersion => '1.3.6.1.4.1.2011.5.25.31.2.1.2',
|
||||
hwPhysicalName => '1.3.6.1.4.1.2011.5.25.31.2.1.3',
|
||||
hwEntityExtTrap => '1.3.6.1.4.1.2011.5.25.31.2.2',
|
||||
hwDevicePowerInfoObjects => '1.3.6.1.4.1.2011.5.25.31.3',
|
||||
hwDevicePowerInfoTotalPower => '1.3.6.1.4.1.2011.5.25.31.3.1',
|
||||
hwDevicePowerInfoUsedPower => '1.3.6.1.4.1.2011.5.25.31.3.2',
|
||||
hwEntityExtConformance => '1.3.6.1.4.1.2011.5.25.31.4',
|
||||
hwEntityExtCompliances => '1.3.6.1.4.1.2011.5.25.31.4.1',
|
||||
hwEntityExtGroups => '1.3.6.1.4.1.2011.5.25.31.4.2',
|
||||
hwPnpObjects => '1.3.6.1.4.1.2011.5.25.31.5',
|
||||
hwPnpInfo => '1.3.6.1.4.1.2011.5.25.31.5.1',
|
||||
hwHardwareCapaSequenceNo => '1.3.6.1.4.1.2011.5.25.31.5.1.1',
|
||||
hwAlarmPnPSequenceNo => '1.3.6.1.4.1.2011.5.25.31.5.1.2',
|
||||
hwPnpTraps => '1.3.6.1.4.1.2011.5.25.31.5.2',
|
||||
hwPnpOperateTable => '1.3.6.1.4.1.2011.5.25.31.5.3',
|
||||
hwPnpOperateEntry => '1.3.6.1.4.1.2011.5.25.31.5.3.1',
|
||||
hwFileGeneIndex => '1.3.6.1.4.1.2011.5.25.31.5.3.1.1',
|
||||
hwFileGeneOperState => '1.3.6.1.4.1.2011.5.25.31.5.3.1.2',
|
||||
hwFileGeneOperStateDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwFileGeneOperState',
|
||||
hwFileGeneResourceType => '1.3.6.1.4.1.2011.5.25.31.5.3.1.3',
|
||||
hwFileGeneResourceTypeDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwFileGeneResourceType',
|
||||
hwFileGeneResourceID => '1.3.6.1.4.1.2011.5.25.31.5.3.1.4',
|
||||
hwFileGeneDestinationFile => '1.3.6.1.4.1.2011.5.25.31.5.3.1.5',
|
||||
hwFileGeneRowStatus => '1.3.6.1.4.1.2011.5.25.31.5.3.1.6',
|
||||
hwSystemGlobalObjects => '1.3.6.1.4.1.2011.5.25.31.6',
|
||||
hwEntitySystemNetID => '1.3.6.1.4.1.2011.5.25.31.6.1',
|
||||
hwEntitySoftwareName => '1.3.6.1.4.1.2011.5.25.31.6.2',
|
||||
hwEntitySoftwareVersion => '1.3.6.1.4.1.2011.5.25.31.6.3',
|
||||
hwEntitySoftwareVendor => '1.3.6.1.4.1.2011.5.25.31.6.4',
|
||||
hwEntitySystemModel => '1.3.6.1.4.1.2011.5.25.31.6.5',
|
||||
hwEntitySystemTime => '1.3.6.1.4.1.2011.5.25.31.6.6',
|
||||
hwEntitySystemMacAddress => '1.3.6.1.4.1.2011.5.25.31.6.7',
|
||||
hwEntitySystemReset => '1.3.6.1.4.1.2011.5.25.31.6.8',
|
||||
hwEntitySystemResetDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntitySystemReset',
|
||||
hwEntitySystemHealthInterval => '1.3.6.1.4.1.2011.5.25.31.6.9',
|
||||
hwEntitySystemNEId => '1.3.6.1.4.1.2011.5.25.31.6.10',
|
||||
hwEntitySystemServiceType => '1.3.6.1.4.1.2011.5.25.31.6.11',
|
||||
hwHeartbeatObjects => '1.3.6.1.4.1.2011.5.25.31.7',
|
||||
hwHeartbeatConfig => '1.3.6.1.4.1.2011.5.25.31.7.1',
|
||||
hwEntityHeartbeatOnOff => '1.3.6.1.4.1.2011.5.25.31.7.1.1',
|
||||
hwEntityHeartbeatOnOffDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwEntityHeartbeatOnOff',
|
||||
hwEntityHeartbeatPeriod => '1.3.6.1.4.1.2011.5.25.31.7.1.2',
|
||||
hwHeartbeatTrapPrefix => '1.3.6.1.4.1.2011.5.25.31.7.2',
|
||||
hwPreDisposeObjects => '1.3.6.1.4.1.2011.5.25.31.8',
|
||||
hwPreDisposeInfo => '1.3.6.1.4.1.2011.5.25.31.8.1',
|
||||
hwPreDisposeSequenceNo => '1.3.6.1.4.1.2011.5.25.31.8.1.1',
|
||||
hwPreDisposedTraps => '1.3.6.1.4.1.2011.5.25.31.8.2',
|
||||
hwPreDisposeConfigTable => '1.3.6.1.4.1.2011.5.25.31.8.3',
|
||||
hwPreDisposeConfigEntry => '1.3.6.1.4.1.2011.5.25.31.8.3.1',
|
||||
hwDisposeSlot => '1.3.6.1.4.1.2011.5.25.31.8.3.1.1',
|
||||
hwDisposeCardId => '1.3.6.1.4.1.2011.5.25.31.8.3.1.2',
|
||||
hwDisposeSbom => '1.3.6.1.4.1.2011.5.25.31.8.3.1.3',
|
||||
hwDisposeRowStatus => '1.3.6.1.4.1.2011.5.25.31.8.3.1.4',
|
||||
hwDisposeOperState => '1.3.6.1.4.1.2011.5.25.31.8.3.1.5',
|
||||
hwDisposeOperStateDefinition => 'HUAWEI-ENTITY-EXTENT-MIB::hwDisposeOperState',
|
||||
hwPreDisposeEntInfoTable => '1.3.6.1.4.1.2011.5.25.31.8.4',
|
||||
hwPreDisposeEntInfoEntry => '1.3.6.1.4.1.2011.5.25.31.8.4.1',
|
||||
hwDisposeEntPhysicalIndex => '1.3.6.1.4.1.2011.5.25.31.8.4.1.1',
|
||||
hwDisposeEntPhysicalDescr => '1.3.6.1.4.1.2011.5.25.31.8.4.1.2',
|
||||
hwDisposeEntPhysicalVendorType => '1.3.6.1.4.1.2011.5.25.31.8.4.1.3',
|
||||
hwDisposeEntPhysicalContainedIn => '1.3.6.1.4.1.2011.5.25.31.8.4.1.4',
|
||||
hwDisposeEntPhysicalClass => '1.3.6.1.4.1.2011.5.25.31.8.4.1.5',
|
||||
hwDisposeEntPhysicalParentRelPos => '1.3.6.1.4.1.2011.5.25.31.8.4.1.6',
|
||||
hwDisposeEntPhysicalName => '1.3.6.1.4.1.2011.5.25.31.8.4.1.7',
|
||||
hwOSPUnifyManageObjects => '1.3.6.1.4.1.2011.5.25.31.9',
|
||||
hwEntityExtOSPTrapsPrefix => '1.3.6.1.4.1.2011.5.25.31.9.1',
|
||||
};
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'HUAWEI-ENTITY-EXTENT-MIB'} = {
|
||||
HwAdminState => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'locked',
|
||||
'3' => 'shuttingDown',
|
||||
'4' => 'unlocked',
|
||||
'11' => 'up',
|
||||
'12' => 'down',
|
||||
'13' => 'loopback',
|
||||
},
|
||||
HwOperState => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'disabled',
|
||||
'3' => 'enabled',
|
||||
'4' => 'offline',
|
||||
'11' => 'up',
|
||||
'12' => 'down',
|
||||
'13' => 'connect',
|
||||
'15' => 'protocolUp',
|
||||
'16' => 'linkUp',
|
||||
'17' => 'linkDown',
|
||||
},
|
||||
HwStandbyStatus => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'hotStandby',
|
||||
'3' => 'coldStandby',
|
||||
'4' => 'providingService',
|
||||
},
|
||||
hwEntitySupportFlexCard => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'flexible',
|
||||
'3' => 'unflexible',
|
||||
'4' => 'dummy',
|
||||
},
|
||||
hwEntityDuplex => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'full',
|
||||
'3' => 'half',
|
||||
},
|
||||
hwEntityVolStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'major',
|
||||
'3' => 'fatal',
|
||||
},
|
||||
hwDisposeOperState => {
|
||||
'1' => 'opSuccess',
|
||||
'2' => 'opInProgress',
|
||||
'3' => 'opDevNotSupportPredispose',
|
||||
'4' => 'opCardNotSupportPredispose',
|
||||
'5' => 'opAlreadyPredispose',
|
||||
'6' => 'opCardConflict',
|
||||
'7' => 'opDevOperationError',
|
||||
},
|
||||
hwEntityFanReg => {
|
||||
'1' => 'yes',
|
||||
'2' => 'no',
|
||||
},
|
||||
hwVirtualCableTestPairAStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'abnormalOpen',
|
||||
'3' => 'abnormalShort',
|
||||
'4' => 'abnormalOpenShort',
|
||||
'5' => 'abnormalCrossTalk',
|
||||
'6' => 'unknown',
|
||||
'7' => 'notSupport',
|
||||
},
|
||||
hwFileGeneResourceType => {
|
||||
'1' => 'pnpcard',
|
||||
'2' => 'pnpsubcard',
|
||||
'3' => 'pnphardcapability',
|
||||
'4' => 'pnpPreDisposeCapability',
|
||||
'5' => 'pnpframe',
|
||||
'6' => 'pnpdevtype',
|
||||
'7' => 'pnpalarm',
|
||||
},
|
||||
hwEntityOpticalDirectionType => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'twoFiberBidirection',
|
||||
'3' => 'oneFiberBidirection',
|
||||
'4' => 'twoFiberTwoPortBidirection',
|
||||
},
|
||||
hwEntityPortType => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'copper',
|
||||
'3' => 'fiber100',
|
||||
'4' => 'fiber1000',
|
||||
'5' => 'fiber10000',
|
||||
'6' => 'opticalnotExist',
|
||||
'7' => 'optical',
|
||||
},
|
||||
hwEntityTempStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'minor',
|
||||
'3' => 'major',
|
||||
'4' => 'fatal',
|
||||
},
|
||||
hwEntityOpticalFiberType => {
|
||||
'0' => 'unknown',
|
||||
'1' => 'sc',
|
||||
'2' => 'style1CopperConnector',
|
||||
'3' => 'style2CopperConnector',
|
||||
'4' => 'bncTnc',
|
||||
'5' => 'coaxialHeaders',
|
||||
'6' => 'fiberJack',
|
||||
'7' => 'lc',
|
||||
'8' => 'mtRj',
|
||||
'9' => 'mu',
|
||||
'10' => 'sg',
|
||||
'11' => 'opticalPigtail',
|
||||
'12' => 'mpo',
|
||||
'20' => 'hssdcII',
|
||||
'21' => 'copperPigtail',
|
||||
},
|
||||
hwEntityPwrState => {
|
||||
'1' => 'supply',
|
||||
'2' => 'notSupply',
|
||||
'3' => 'sleep',
|
||||
'4' => 'unknown',
|
||||
},
|
||||
hwEntityPwrPresent => {
|
||||
'1' => 'present',
|
||||
'2' => 'absent',
|
||||
},
|
||||
hwVirtualCableTestOperation => {
|
||||
'1' => 'startTest',
|
||||
'2' => 'resetTestValue',
|
||||
'3' => 'readyStartTest',
|
||||
},
|
||||
hwEntityStartMode => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'cold',
|
||||
'3' => 'warm',
|
||||
'4' => 'unknown',
|
||||
},
|
||||
hwFileGeneOperState => {
|
||||
'1' => 'opInProgress',
|
||||
'2' => 'opSuccess',
|
||||
'3' => 'opGetFileError',
|
||||
'4' => 'opInvalidDestName',
|
||||
'5' => 'opNoFlashSpace',
|
||||
'6' => 'opWriteFileError',
|
||||
'7' => 'opDestoryError',
|
||||
},
|
||||
hwEntityPwrMode => {
|
||||
'1' => 'unknown',
|
||||
'2' => 'dc',
|
||||
'3' => 'ac',
|
||||
},
|
||||
hwEntityOpticalPlug => {
|
||||
'0' => 'notSupported',
|
||||
'1' => 'true',
|
||||
'2' => 'false',
|
||||
},
|
||||
hwEntityFanState => {
|
||||
'1' => 'normal',
|
||||
'2' => 'abnormal',
|
||||
},
|
||||
hwEntityBoardClass => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'mpu',
|
||||
'3' => 'lpu',
|
||||
'4' => 'sfu',
|
||||
'5' => 'icu',
|
||||
'6' => 'ecu',
|
||||
'7' => 'fan',
|
||||
'8' => 'power',
|
||||
'9' => 'lcd',
|
||||
'10' => 'pmu',
|
||||
'11' => 'cmu',
|
||||
},
|
||||
hwVirtualCableTestPairCStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'abnormalOpen',
|
||||
'3' => 'abnormalShort',
|
||||
'4' => 'abnormalOpenShort',
|
||||
'5' => 'abnormalCrossTalk',
|
||||
'6' => 'unknown',
|
||||
'7' => 'notSupport',
|
||||
},
|
||||
hwEntityPwrReg => {
|
||||
'1' => 'yes',
|
||||
'2' => 'no',
|
||||
},
|
||||
hwEntityFaultLight => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'normal',
|
||||
'3' => 'underRepair',
|
||||
},
|
||||
hwEntityFanPresent => {
|
||||
'1' => 'present',
|
||||
'2' => 'absent',
|
||||
},
|
||||
hwEntityFanSpdAdjMode => {
|
||||
'1' => 'auto',
|
||||
'2' => 'manual',
|
||||
'3' => 'unknown',
|
||||
},
|
||||
hwVirtualCableTestPairBStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'abnormalOpen',
|
||||
'3' => 'abnormalShort',
|
||||
'4' => 'abnormalOpenShort',
|
||||
'5' => 'abnormalCrossTalk',
|
||||
'6' => 'unknown',
|
||||
'7' => 'notSupport',
|
||||
},
|
||||
hwEntitySystemReset => {
|
||||
'1' => 'normal',
|
||||
'2' => 'restart',
|
||||
},
|
||||
hwEntityOpticalAuthenticationStatus => {
|
||||
'0' => 'unknown',
|
||||
'1' => 'authenticated',
|
||||
'2' => 'unauthenticated',
|
||||
},
|
||||
hwEntityOpticalWaveBand => {
|
||||
'0' => 'unknown',
|
||||
'1' => 'clBand',
|
||||
'2' => 'cBand',
|
||||
'3' => 'lBand',
|
||||
'4' => 'c32Band',
|
||||
'5' => 'ramancBand',
|
||||
'6' => 'ramanlBand',
|
||||
'7' => 'cwdmBand',
|
||||
'8' => 'smcBand',
|
||||
'9' => 'c96bBand',
|
||||
'10' => 'c192bBand',
|
||||
},
|
||||
hwEntityOpticalMode => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'singleMode',
|
||||
'3' => 'multiMode5',
|
||||
'4' => 'multiMode6',
|
||||
'5' => 'noValue',
|
||||
},
|
||||
hwVirtualCableTestPairStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'abnormalOpen',
|
||||
'3' => 'abnormalShort',
|
||||
'4' => 'abnormalOpenShort',
|
||||
'5' => 'abnormalCrossTalk',
|
||||
'6' => 'unknown',
|
||||
'7' => 'notSupport',
|
||||
},
|
||||
hwBatteryState => {
|
||||
'1' => 'charge',
|
||||
'2' => 'discharge',
|
||||
'3' => 'full',
|
||||
'4' => 'abnormal',
|
||||
},
|
||||
hwEntityServiceType => {
|
||||
'1' => 'sslvpn',
|
||||
'2' => 'firewall',
|
||||
'3' => 'loadBalance',
|
||||
'4' => 'ipsec',
|
||||
'5' => 'netstream',
|
||||
'6' => 'wlan',
|
||||
},
|
||||
hwEntityOpticalType => {
|
||||
'0' => 'unknown',
|
||||
'1' => 'sc',
|
||||
'2' => 'gbic',
|
||||
'3' => 'sfp',
|
||||
'4' => 'esfp',
|
||||
'5' => 'rj45',
|
||||
'6' => 'xfp',
|
||||
'7' => 'xenpak',
|
||||
'8' => 'transponder',
|
||||
'9' => 'cfp',
|
||||
'10' => 'smb',
|
||||
'11' => 'sfpplus',
|
||||
'12' => 'cxp',
|
||||
'13' => 'qsfp',
|
||||
'14' => 'qsfpplus',
|
||||
'15' => 'cfp2',
|
||||
'16' => 'dwdmsfp',
|
||||
},
|
||||
hwVirtualCableTestPairDStatus => {
|
||||
'1' => 'normal',
|
||||
'2' => 'abnormalOpen',
|
||||
'3' => 'abnormalShort',
|
||||
'4' => 'abnormalOpenShort',
|
||||
'5' => 'abnormalCrossTalk',
|
||||
'6' => 'unknown',
|
||||
'7' => 'notSupport',
|
||||
},
|
||||
hwEntityHeartbeatOnOff => {
|
||||
'1' => 'on',
|
||||
'2' => 'off',
|
||||
},
|
||||
hwEntityOpticalTunableType => {
|
||||
'1' => 'notSupported',
|
||||
'2' => 'notTunable',
|
||||
'3' => 'tunable',
|
||||
'4' => 'supportTunableType',
|
||||
},
|
||||
};
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
|
@ -1,22 +0,0 @@
|
|||
package Classes::AVOS;
|
||||
our @ISA = qw(Classes::Bluecoat);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::AVOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::AVOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::licenses::/) {
|
||||
$self->analyze_and_check_key_subsystem("Classes::AVOS::Component::KeySubsystem");
|
||||
} elsif ($self->mode =~ /device::connections/) {
|
||||
$self->analyze_and_check_connection_subsystem("Classes::AVOS::Component::ConnectionSubsystem");
|
||||
} elsif ($self->mode =~ /device::security/) {
|
||||
$self->analyze_and_check_security_subsystem("Classes::AVOS::Component::SecuritySubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package Classes::Alcatel;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->{productname} =~ /AOS.*OAW/i) {
|
||||
bless $self, 'Classes::Alcatel::OmniAccess';
|
||||
$self->debug('using Classes::Alcatel::OmniAccess');
|
||||
}
|
||||
if (ref($self) ne "Classes::Alcatel") {
|
||||
$self->init();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
package Classes::AlliedTelesyn;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
$self->no_such_mode();
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::AlliedTelesyn::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::AlliedTelesyn::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::AlliedTelesyn::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::hsrp/) {
|
||||
$self->analyze_and_check_hsrp_subsystem("Classes::HSRP::Component::HSRPSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
package Classes::Arista;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->mult_snmp_max_msg_size(10);
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Arista::Component::EnvironmentalSubsystem");
|
||||
$self->analyze_and_check_disk_subsystem("Classes::Arista::Component::DiskSubsystem");
|
||||
if (! $self->check_messages()) {
|
||||
$self->clear_messages(0);
|
||||
$self->add_ok("environmental hardware working fine");
|
||||
} else {
|
||||
$self->clear_messages(0);
|
||||
}
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
# CPU util on management plane
|
||||
# Utilization of CPUs on dataplane that are used for system functions
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_ha_subsystem("Classes::Arista::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::bgp/) {
|
||||
if ($self->implements_mib('ARISTA-BGP4V2-MIB')) {
|
||||
$self->analyze_and_check_interface_subsystem("Classes::Arista::ARISTABGP4V2MIB::Component::PeerSubsystem");
|
||||
} else {
|
||||
$self->establish_snmp_secondary_session();
|
||||
if ($self->implements_mib('ARISTA-BGP4V2-MIB')) {
|
||||
$self->analyze_and_check_interface_subsystem("Classes::Arista::ARISTABGP4V2MIB::Component::PeerSubsystem");
|
||||
} else {
|
||||
# na laeggst me aa am ooosch
|
||||
$self->establish_snmp_session();
|
||||
$self->debug("no ARISTA-BGP4V2-MIB, fallback");
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
package Classes::Arista::Component::DiskSubsystem;
|
||||
our @ISA = qw(Classes::HOSTRESOURCESMIB::Component::DiskSubsystem);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
$self->get_snmp_tables('HOST-RESOURCES-MIB', [
|
||||
['storages', 'hrStorageTable', 'Classes::HOSTRESOURCESMIB::Component::DiskSubsystem::Storage', sub { my $o = shift; return ($o->{hrStorageDescr} =~ /^(Log|Core)$/ or $o->{hrStorageType} eq 'hrStorageFixedDisk') } ],
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::BGP;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::Bintec;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
package Classes::Bintec::Bibo;
|
||||
our @ISA = qw(Classes::Bintec);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Bintec::Bibo::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Bintec::Bibo::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Bintec::Bibo::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
package Classes::Bluecat;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->{productname} =~ /Bluecat Address Manager/) {
|
||||
$self->rebless('Classes::Bluecat::AddressManager');
|
||||
} elsif ($self->{productname} =~ /Bluecat DNS\/DHCP Server/) {
|
||||
$self->rebless('Classes::Bluecat::DnsDhcpServer');
|
||||
}
|
||||
if (ref($self) ne "Classes::Bluecat") {
|
||||
$self->init();
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
package Classes::Bluecat::AddressManager;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
$self->analyze_and_check_jvm_subsystem("Classes::Bluecat::AddressManager::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_ha_subsystem("Classes::Bluecat::AddressManager::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::mngmt::/) {
|
||||
$self->analyze_and_check_mgmt_subsystem("Classes::Bluecat::AddressManager::Component::MgmtSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
sub pretty_sysdesc {
|
||||
my ($self, $sysDescr) = @_;
|
||||
my $sw_version = $self->get_snmp_object('BAM-SNMP-MIB', 'version');
|
||||
my $start_time = $self->get_snmp_object('BAM-SNMP-MIB', 'startTime');
|
||||
return sprintf "%s, sw version %s, start time %s",
|
||||
$sysDescr, $sw_version, scalar localtime $start_time;
|
||||
}
|
||||
|
|
@ -1,132 +0,0 @@
|
|||
package Classes::Bluecat::AddressManager::Component::HaSubsystem;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::Item);
|
||||
use strict;
|
||||
use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 };
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::ha::status/) {
|
||||
$self->get_snmp_tables('BAM-SNMP-MIB', [
|
||||
["replications", "replicationStatusTable", 'Classes::Bluecat::AddressManager::Component::HaSubsystem::Replication'],
|
||||
]);
|
||||
$self->get_snmp_objects('BAM-SNMP-MIB', (qw(
|
||||
queueSize replication
|
||||
replicationNodeStatus replicationAverageLatency
|
||||
replicationWarningThreshold replicationBreakThreshold
|
||||
replicationLatencyWarningThreshold replicationLatencyCriticalThreshold
|
||||
)));
|
||||
} elsif ($self->mode =~ /device::ha::role/) {
|
||||
if (! $self->opts->role()) {
|
||||
$self->opts->override_opt('role', 'primary');
|
||||
}
|
||||
$self->get_snmp_objects('BAM-SNMP-MIB', (qw(replicationNodeStatus)));
|
||||
}
|
||||
}
|
||||
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::ha::status/) {
|
||||
foreach (@{$self->{replications}}) {
|
||||
$_->{replicationLatencyCriticalThreshold} = $self->{replicationLatencyCriticalThreshold};
|
||||
$_->{replicationLatencyWarningThreshold} = $self->{replicationLatencyWarningThreshold};
|
||||
$_->check();
|
||||
}
|
||||
} elsif ($self->mode =~ /device::ha::role/) {
|
||||
$self->add_info(sprintf 'ha node status is %s',
|
||||
$self->{replicationNodeStatus},
|
||||
);
|
||||
if ($self->{replicationNodeStatus} eq 'unknown') {
|
||||
$self->add_message(
|
||||
defined $self->opts->mitigation() ? $self->opts->mitigation() : WARNING,
|
||||
'ha was not started');
|
||||
} else {
|
||||
if ($self->{replicationNodeStatus} ne $self->opts->role()) {
|
||||
$self->add_message(
|
||||
defined $self->opts->mitigation() ? $self->opts->mitigation() : WARNING,
|
||||
$self->{info});
|
||||
$self->add_message(
|
||||
defined $self->opts->mitigation() ? $self->opts->mitigation() : WARNING,
|
||||
sprintf "expected role %s", $self->opts->role())
|
||||
} else {
|
||||
$self->add_ok();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
package Classes::Bluecat::AddressManager::Component::HaSubsystem::Replication;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::TableItem);
|
||||
use strict;
|
||||
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
$self->add_info(sprintf '%s node %s has status %s, latency is %.2f',
|
||||
lc $self->{replicationRole}, $self->{hostname},
|
||||
lc $self->{replicationHealth}, $self->{currentLatency});
|
||||
$self->set_thresholds(metric => 'latency_'.lc $self->{replicationRole},
|
||||
warning => $self->{replicationLatencyWarningThreshold},
|
||||
critical => $self->{replicationLatencyCriticalThreshold},
|
||||
);
|
||||
$self->add_message($self->check_thresholds(
|
||||
metric => 'latency_'.lc $self->{replicationRole},
|
||||
value => $self->{currentLatency}));
|
||||
$self->add_perfdata(
|
||||
label => 'latency_'.lc $self->{replicationRole},
|
||||
value => $self->{currentLatency}
|
||||
);
|
||||
}
|
||||
|
||||
__END__
|
||||
sdeb-bam-p03.sys.schwarz
|
||||
root@sdeb-bam-p03:~# snmpwalk -v2c -c "communitypw" 10.201.135.240 .1.3.6.1.4.1.13315.100.210.1.8.2
|
||||
BAM-SNMP-MIB::replicationNodeStatus.0 = INTEGER: primary(1)
|
||||
-> hier soll nur das Ergebnis angezeigt werden
|
||||
|
||||
root@sdeb-bam-p03:~# snmpwalk -v2c -c "communitypw" 10.201.135.240 .1.3.6.1.4.1.13315.100.210.1.1.1
|
||||
BAM-SNMP-MIB::version.0 = STRING: 9.0.0
|
||||
-> hier soll nur das Ergebnis angezeigt werden
|
||||
|
||||
#root@sdeb-bam-p03:~# snmpwalk -v2c -c "communitypw" 10.201.135.240 .1.3.6.1.4.1.13315.100.210.1.1.2
|
||||
#BAM-SNMP-MIB::startTime.0 = STRING: 2020-5-16,2:4:43.216
|
||||
# uptime -> hier soll nur das Ergebnis angezeigt werden
|
||||
|
||||
root@sdeb-bam-p03:~# snmpwalk -v2c -c "communitypw" 10.201.135.240 .1.3.6.1.4.1.13315.100.210.1.8.8.1.4.10.201.135.240
|
||||
BAM-SNMP-MIB::replicationHealth.10.201.135.240 = INTEGER: Replicating(2)
|
||||
-> bei Ausgabe 0 und 1 soll Nagios alarm schlagen, 2 bedeutet alles iO
|
||||
|
||||
root@sdeb-bam-p03:~# snmpwalk -v2c -c "communitypw" 10.201.135.240 .1.3.6.1.4.1.13315.100.210.1.10.1.0
|
||||
BAM-SNMP-MIB::lastSuccessfulBackupTime.0 = STRING: 2020-11-11,3:10:35.0
|
||||
-> hier soll nur das Ergebnis angezeigt werden
|
||||
|
||||
|
||||
KCZ_DDI
|
||||
root@b0ac987f7n:~# snmpwalk -v2c -c "communitypw" 127.0.0.1 .1.3.6.1.4.1.13315.3.1.1.2.1.1
|
||||
BCN-DHCPV4-MIB::bcnDhcpv4SerOperState.0 = INTEGER: running(1)
|
||||
1Running ist alles iO, bei 2,3,4,5 soll Nagios alarm schlagen
|
||||
|
||||
root@b0ac987f7n:~# snmpwalk -v2c -c "communitypw" 127.0.0.1 .1.3.6.1.4.1.13315.3.1.2.2.1.1
|
||||
BCN-DNS-MIB::bcnDnsSerOperState.0 = INTEGER: running(1)
|
||||
1Running ist alles iO, bei 2,3,4,5 soll Nagios alarm schlagen
|
||||
|
||||
Hallo Gerhard,
|
||||
für Bluecat devices brauchen wir einen ha-status in check_nwc_health.
|
||||
Die MIBs hängen schon am Ticket dran.
|
||||
|
||||
Wichtige informationen wären:
|
||||
- BAM-SNMP-MIB::replicationNodeStatus.0
|
||||
- BAM-SNMP-MIB::startTime.0
|
||||
- BAM-SNMP-MIB::replicationHealth.10.201.135.240
|
||||
- BAM-SNMP-MIB::lastSuccessfulBackupTime.0
|
||||
|
||||
/omd/sites/mon/local/lib/monitoring-plugins/mon/mon_check_snmp -H 10.201.135.240 -P 2c -o .1.3.6.1.4.1.13315.100.210.1.10.1.0 backup
|
||||
|
||||
/omd/sites/mon/local/lib/monitoring-plugins/mon/mon_check_snmp -H 10.201.135.240 -P 2c -o .1.3.6.1.4.1.13315.100.210.1.8.8.1.4.10.201.135.240 -C "***" -w 2:2 -c 2:2 replication 240 replicationHealth
|
||||
|
||||
/omd/sites/mon/local/lib/monitoring-plugins/mon/mon_check_snmp -H 10.201.135.240 -P 2c -o .1.3.6.1.4.1.13315.100.210.1.8.2.0 -C "***" -w 1:1 -c 1:1 replicatiuon node replicationNodeStatus
|
||||
/omd/sites/mon/local/lib/monitoring-plugins/mon/mon_check_snmp -H 10.201.135.240 -P 2c -o .1.3.6.1.4.1.13315.100.210.1.1.2.0 -C "***" -s OK
|
||||
start time
|
||||
|
||||
/omd/sites/mon/local/lib/monitoring-plugins/mon/mon_check_snmp -H 10.201.135.240 -P 2c -o .1.3.6.1.4.1.13315.100.210.1.1.1.0 -C "***" -s OK
|
||||
version
|
||||
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package Classes::Bluecat::DnsDhcpServer;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_ha_subsystem("Classes::Bluecat::DnsDhcpServer::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::process::/) {
|
||||
$self->analyze_and_check_process_subsystem("Classes::Bluecat::DnsDhcpServer::Component::ProcessSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
sub pretty_sysdesc {
|
||||
my ($self, $sysDescr) = @_;
|
||||
my $sw_version = $self->get_snmp_object('BCN-SYSTEM-MIB', 'bcnSysIdOSRelease');
|
||||
return sprintf "%s, sw version %s", $sysDescr, $sw_version;
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
package Classes::CheckPoint::Firewall1;
|
||||
our @ISA = qw(Classes::CheckPoint);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::CheckPoint::Firewall1::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::CheckPoint::Firewall1::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::CheckPoint::Firewall1::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_ha_subsystem("Classes::CheckPoint::Firewall1::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::fw::/) {
|
||||
$self->analyze_and_check_fw_subsystem("Classes::CheckPoint::Firewall1::Component::FwSubsystem");
|
||||
} elsif ($self->mode =~ /device::svn::/) {
|
||||
$self->analyze_and_check_svn_subsystem("Classes::CheckPoint::Firewall1::Component::SvnSubsystem");
|
||||
} elsif ($self->mode =~ /device::mngmt::/) {
|
||||
# not sure if this works fa25239716cb74c672f8dd390430dc4056caffa7
|
||||
$self->analyze_and_check_mngmt_subsystem("Classes::CheckPoint::Firewall1::Component::MngmtSubsystem");
|
||||
} elsif ($self->mode =~ /device::vpn::status/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::CheckPoint::Firewall1::Component::VpnSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
package Classes::CheckPoint::Gaia;
|
||||
our @ISA = qw(Classes::CheckPoint::Firewall1);
|
||||
use strict;
|
||||
|
||||
sub xinit {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::CheckPoint::Firewall1::Component::EnvironmentalSubsystem");
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
package Classes::CheckPoint::VSX;
|
||||
our @ISA = qw(Classes::CheckPoint);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::CheckPoint::Firewall1::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::CheckPoint::Firewall1::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::CheckPoint::Firewall1::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_ha_subsystem("Classes::CheckPoint::Firewall1::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::fw::/) {
|
||||
$self->analyze_and_check_fw_subsystem("Classes::CheckPoint::VSX::Component::FwSubsystem");
|
||||
} elsif ($self->mode =~ /device::svn::/) {
|
||||
$self->analyze_and_check_svn_subsystem("Classes::CheckPoint::Firewall1::Component::SvnSubsystem");
|
||||
} elsif ($self->mode =~ /device::mngmt::/) {
|
||||
# not sure if this works fa25239716cb74c672f8dd390430dc4056caffa7
|
||||
$self->analyze_and_check_mngmt_subsystem("Classes::CheckPoint::Firewall1::Component::MngmtSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
package Classes::Cisco::ASA;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::CISCOENTITYALARMMIB::Component::AlarmSubsystem");
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::CISCOENTITYSENSORMIB::Component::SensorSubsystem");
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::ENTITYSENSORMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Cisco::IOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Cisco::IOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::hsrp/) {
|
||||
$self->analyze_and_check_hsrp_subsystem("Classes::HSRP::Component::HSRPSubsystem");
|
||||
} elsif ($self->mode =~ /device::users/ || $self->mode =~ /device::connections/) {
|
||||
# das war frueher "users". seit 6c70c2627e53cce991181369456c03f630f90f71
|
||||
# ist count-connections kein alias von count-users mehr, sondern ein
|
||||
# eigenstaendiger mode. fuehrte dazu, dass count-connections hier unten
|
||||
# in no_such_mode reinlief. daher dieses users||connections.
|
||||
# weil es sich bei asa tatsaechlich eher um connections als users handelt,
|
||||
# waere es sauber, das users rauszuwerfen, allerdings wuerde das dann
|
||||
# bei denen krachen, die count-users verwenden.
|
||||
$self->analyze_and_check_connection_subsystem("Classes::Cisco::IOS::Component::ConnectionSubsystem");
|
||||
} elsif ($self->mode =~ /device::config/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::ConfigSubsystem");
|
||||
} elsif ($self->mode =~ /device::interfaces::nat::sessions::count/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::NatSubsystem");
|
||||
} elsif ($self->mode =~ /device::interfaces::nat::rejects/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::NatSubsystem");
|
||||
} elsif ($self->mode =~ /device::vpn::status/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::CISCOIPSECFLOWMONITOR::Component::VpnSubsystem");
|
||||
} elsif ($self->mode =~ /device::vpn::sessions/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::CISCOREMOTEACCESSMONITORMIB::Component::VpnSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::role/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::HaSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
package Classes::Cisco::AsyncOS;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::AsyncOS::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Cisco::AsyncOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Cisco::AsyncOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::licenses::/) {
|
||||
$self->analyze_and_check_key_subsystem("Classes::Cisco::AsyncOS::Component::KeySubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package Classes::Cisco::CCM;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::phone::cm/) {
|
||||
$self->analyze_and_check_cm_subsystem("Classes::Cisco::CCM::Component::CmSubsystem");
|
||||
} elsif ($self->mode =~ /device::phone/) {
|
||||
$self->analyze_and_check_phone_subsystem("Classes::Cisco::CCM::Component::PhoneSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
package Classes::Cisco::IOS;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::chassis::health/) {
|
||||
if ($self->implements_mib('CISCO-STACK-MIB')) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::CISCOSTACKMIB::Component::StackSubsystem");
|
||||
} elsif ($self->implements_mib('CISCO-STACKWISE-MIB')) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::CISCOSTACKWISEMIB::Component::StackSubsystem");
|
||||
}
|
||||
if (! $self->implements_mib('CISCO-STACKWISE-MIB') &&
|
||||
! $self->implements_mib('CISCO-STACK-MIB')) {
|
||||
if (defined $self->opts->mitigation()) {
|
||||
$self->add_message($self->opts->mitigation(), 'this is not a stacked device');
|
||||
} else {
|
||||
$self->add_unknown('this is not a stacked device');
|
||||
}
|
||||
}
|
||||
} elsif ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::IOS::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Cisco::IOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Cisco::IOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::hsrp/) {
|
||||
$self->analyze_and_check_hsrp_subsystem("Classes::HSRP::Component::HSRPSubsystem");
|
||||
} elsif ($self->mode =~ /device::users/) {
|
||||
$self->analyze_and_check_connection_subsystem("Classes::Cisco::IOS::Component::ConnectionSubsystem");
|
||||
} elsif ($self->mode =~ /device::config/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::ConfigSubsystem");
|
||||
} elsif ($self->mode =~ /device::interfaces::nat::sessions::count/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::NatSubsystem");
|
||||
} elsif ($self->mode =~ /device::interfaces::nat::rejects/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::NatSubsystem");
|
||||
#} elsif ($self->mode =~ /device::bgp::prefix::count/) {
|
||||
} elsif ($self->mode =~ /device::bgp/) {
|
||||
$self->analyze_and_check_bgp_subsystem("Classes::BGP::Component::PeerSubsystem");
|
||||
} elsif ($self->mode =~ /device::wlan/ && $self->implements_mib('AIRESPACE-WIRELESS-MIB')) {
|
||||
$self->analyze_and_check_wlan_subsystem("Classes::Cisco::WLC::Component::WlanSubsystem");
|
||||
} elsif ($self->mode =~ /device::vpn::status/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::CISCOIPSECFLOWMONITOR::Component::VpnSubsystem");
|
||||
} elsif ($self->mode =~ /device::vpn::sessions/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::CISCOREMOTEACCESSMONITORMIB::Component::VpnSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
package Classes::Cisco::NXOS;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
#$self->mult_snmp_max_msg_size(10);
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::NXOS::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::cisco::fex::watch/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Cisco::NXOS::Component::FexSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Cisco::IOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Cisco::NXOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::config/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Cisco::IOS::Component::ConfigSubsystem");
|
||||
} elsif ($self->mode =~ /device::hsrp/) {
|
||||
$self->analyze_and_check_hsrp_subsystem("Classes::HSRP::Component::HSRPSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
sub pretty_sysdesc {
|
||||
my ($self, $sysDescr) = @_;
|
||||
if ($sysDescr =~ /(Cisco NX-OS.*? n\d+),.*(Version .*), RELEASE SOFTWARE/) {
|
||||
return $1.' '.$2;
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
package Classes::Cisco::PrimeNCS;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
#$self->analyze_and_check_environmental_subsystem("Classes::Cisco::CISCOENTITYFRUCONTROLMIB::Component::EnvironmentalSubsystem");
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package Classes::Cisco::UCOS;
|
||||
our @ISA = qw(Classes::Cisco);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::phone::cm/) {
|
||||
$self->analyze_and_check_cm_subsystem("Classes::Cisco::CCM::Component::CmSubsystem");
|
||||
} elsif ($self->mode =~ /device::phone/) {
|
||||
$self->analyze_and_check_phone_subsystem("Classes::Cisco::CCM::Component::PhoneSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
package Classes::Clavister;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
use constant trees => (
|
||||
'1.3.6.1.4.1.5089', # CLAVISTER-MIB
|
||||
);
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->{productname} =~ /Clavister/i) {
|
||||
bless $self, 'Classes::Clavister::Firewall1';
|
||||
$self->debug('using Classes::Clavister::Firewall1');
|
||||
}
|
||||
if (ref($self) ne "Classes::Clavister") {
|
||||
$self->init();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
package Classes::Clavister::Firewall1;
|
||||
our @ISA = qw(Classes::Clavister);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Clavister::Firewall1::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Clavister::Firewall1::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Clavister::Firewall1::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
package Classes::DrayTek::Vigor;
|
||||
our @ISA = qw(Classes::DrayTek);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::DrayTek::Vigor::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::DrayTek::Vigor::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::DrayTek::Vigor::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::ENTITYSENSORMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
package Classes::Eltex;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->{productname} =~ /(MES2324B)|(MES2324F)|(MES31)|(MES53)/i) {
|
||||
bless $self, 'Classes::Eltex::Aggregation';
|
||||
$self->debug('using Classes::Eltex::Aggregation');
|
||||
} elsif ($self->{productname} =~ /(MES21)|(MES23)/i) {
|
||||
bless $self, 'Classes::Eltex::Access';
|
||||
$self->debug('using Classes::Eltex::Access');
|
||||
}
|
||||
if (ref($self) ne "Classes::Eltex") {
|
||||
$self->init();
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
package Classes::F5::F5BIGIP;
|
||||
our @ISA = qw(Classes::F5);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
# gets 11.* and 9.*
|
||||
$self->{sysProductVersion} = $self->get_snmp_object('F5-BIGIP-SYSTEM-MIB', 'sysProductVersion');
|
||||
$self->{sysPlatformInfoMarketingName} = $self->get_snmp_object('F5-BIGIP-SYSTEM-MIB', 'sysPlatformInfoMarketingName');
|
||||
if (! defined $self->{sysProductVersion} ||
|
||||
$self->{sysProductVersion} !~ /^((9)|(10)|(11)|(12)|(13)|(14)|(15)|(16))/) {
|
||||
$self->{sysProductVersion} = "4";
|
||||
}
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
if (! $self->get_snmp_object('F5-BIGIP-SYSTEM-MIB', 'sysChassisFanNumber') &&
|
||||
! $self->get_snmp_object('F5-BIGIP-SYSTEM-MIB', 'sysChassisPowerSupplyNumber')) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
} else {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::F5::F5BIGIP::Component::EnvironmentalSubsystem");
|
||||
}
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::F5::F5BIGIP::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::F5::F5BIGIP::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::F5::F5BIGIP::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::lb/) {
|
||||
if ($self->opts->role && $self->opts->role eq "gtm") {
|
||||
$self->analyze_and_check_gtm_subsystem("Classes::F5::F5BIGIP::Component::GTMSubsystem");
|
||||
} else {
|
||||
$self->analyze_and_check_ltm_subsystem();
|
||||
}
|
||||
} elsif ($self->mode =~ /device::wideip/) {
|
||||
$self->analyze_and_check_gtm_subsystem("Classes::F5::F5BIGIP::Component::GTMSubsystem");
|
||||
} elsif ($self->mode =~ /device::users::count/) {
|
||||
$self->analyze_and_check_connection_subsystem("Classes::F5::F5BIGIP::Component::ConnectionSubsystem");
|
||||
} elsif ($self->mode =~ /device::connections::count/) {
|
||||
$self->analyze_and_check_connection_subsystem("Classes::F5::F5BIGIP::Component::ConnectionSubsystem");
|
||||
} elsif ($self->mode =~ /device::config/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::F5::F5BIGIP::Component::ConfigSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_ha_subsystem("Classes::F5::F5BIGIP::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::vip/) {
|
||||
$self->analyze_and_check_vip_subsystem("Classes::F5::F5BIGIP::Component::VipSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
sub analyze_ltm_subsystem {
|
||||
my ($self) = @_;
|
||||
$self->{components}->{ltm_subsystem} =
|
||||
Classes::F5::F5BIGIP::Component::LTMSubsystem->new('sysProductVersion' => $self->{sysProductVersion}, sysPlatformInfoMarketingName => $self->{sysPlatformInfoMarketingName});
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::FCEOS;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::FCMGMT;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
package Classes::FabOS;
|
||||
our @ISA = qw(Classes::Brocade);
|
||||
use strict;
|
||||
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::FabOS::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::FabOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::FabOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::interfaces/) {
|
||||
$self->analyze_and_check_interface_subsystem("Classes::FabOS::Component::InterfaceSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package Classes::Fortigate;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Fortigate::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Fortigate::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Fortigate::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Fortigate::Component::HaSubsystem");
|
||||
} elsif ($self->mode =~ /device::vpn::sessions/) {
|
||||
$self->analyze_and_check_config_subsystem("Classes::Fortigate::Component::VpnSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
package Classes::Foundry;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Foundry::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Foundry::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Foundry::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::lb/) {
|
||||
$self->analyze_and_check_slb_subsystem("Classes::Foundry::Component::SLBSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
# HP Huawei 3Com
|
||||
package Classes::HH3C;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HH3C::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HH3C::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HH3C::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
package Classes::HOSTRESOURCESMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::LMSENSORSMIB::Component::EnvironmentalSubsystem");
|
||||
if (! $self->check_messages()) {
|
||||
$self->reduce_messages("hardware working fine");
|
||||
}
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
package Classes::HP::Aruba;
|
||||
our @ISA = qw(Classes::HP);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HP::Aruba::Component::EnvironmentalSubsystem");
|
||||
if ($self->implements_mib("iiENTITY-SENSOR-MIB")) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::ENTITYSENSORMIB::Component::EnvironmentalSubsystem");
|
||||
}
|
||||
$self->analyze_and_check_disk_subsystem("Classes::HOSTRESOURCESMIB::Component::DiskSubsystem");
|
||||
$self->reduce_messages_short('environmental hardware working fine');
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
if ($self->implements_mib("ARUBAWIRED-VSF-MIB")) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HP::Aruba::Component::CpuSubsystem");
|
||||
} else {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HOSTRESOURCESMIB::Component::CpuSubsystem");
|
||||
}
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
if ($self->implements_mib("ARUBAWIRED-VSF-MIB")) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::HP::Aruba::Component::CpuSubsystem");
|
||||
} else {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::HOSTRESOURCESMIB::Component::MemSubsystem");
|
||||
}
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
package Classes::HP::Procurve::Component::EnvironmentalSubsystem;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::Item);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->implements_mib('HP-ICF-CHASSIS')) {
|
||||
$self->analyze_and_check_sensor_subsystem('Classes::HP::Procurve::Component::SensorSubsystem');
|
||||
} else {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::ENTITYSENSORMIB::Component::EnvironmentalSubsystem");
|
||||
}
|
||||
if (! $self->check_messages()) {
|
||||
$self->add_ok("environmental hardware working fine");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::HSRP;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
package Classes::Huawei;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
my $sysobj = $self->get_snmp_object('MIB-2-MIB', 'sysObjectID', 0);
|
||||
if ($sysobj =~ /^\.*1\.3\.6\.1\.4\.1\.2011\.2\.239/) {
|
||||
bless $self, 'Classes::Huawei::CloudEngine';
|
||||
$self->debug('using Classes::Huawei::CloudEngine');
|
||||
}
|
||||
if (ref($self) ne "Classes::Huawei") {
|
||||
$self->init();
|
||||
} else {
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Huawei::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Huawei::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Huawei::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::bgp/) {
|
||||
if ($self->implements_mib('HUAWEI-BGP-VPN-MIB', 'hwBgpPeerAddrFamilyTable')) {
|
||||
$self->analyze_and_check_interface_subsystem("Classes::Huawei::Component::PeerSubsystem");
|
||||
} else {
|
||||
$self->establish_snmp_secondary_session();
|
||||
if ($self->implements_mib('HUAWEI-BGP-VPN-MIB', 'hwBgpPeerAddrFamilyTable')) {
|
||||
$self->analyze_and_check_interface_subsystem("Classes::Huawei::Component::PeerSubsystem");
|
||||
} else {
|
||||
$self->establish_snmp_session();
|
||||
$self->debug("no HUAWEI-BGP-VPN-MIB and/or no hwBgpPeerAddrFamilyTable, fallback");
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
package Classes::Huawei::Component::EnvironmentalSubsystem;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::Item);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
$self->get_snmp_tables('ENTITY-MIB', [
|
||||
['modules', 'entPhysicalTable',
|
||||
'Classes::Huawei::Component::EnvironmentalSubsystem::Module',
|
||||
sub { my ($o) = @_; $o->{entPhysicalClass} eq 'module' },
|
||||
['entPhysicalClass', 'entPhysicalDescr', 'entPhysicalName']],
|
||||
['fans', 'entPhysicalTable',
|
||||
'Classes::Huawei::Component::EnvironmentalSubsystem::Fan',
|
||||
sub { my ($o) = @_; $o->{entPhysicalClass} eq 'fan' },
|
||||
['entPhysicalClass', 'entPhysicalDescr', 'entPhysicalName']],
|
||||
['powersupplies', 'entPhysicalTable',
|
||||
'Classes::Huawei::Component::EnvironmentalSubsystem::Powersupply',
|
||||
sub { my ($o) = @_; $o->{entPhysicalClass} eq 'powerSupply' },
|
||||
['entPhysicalClass', 'entPhysicalDescr', 'entPhysicalName']],
|
||||
]);
|
||||
$self->get_snmp_tables('HUAWEI-ENTITY-EXTENT-MIB', [
|
||||
['fanstates', 'hwFanStatusTable', 'Monitoring::GLPlugin::SNMP::TableItem'],
|
||||
]);
|
||||
foreach (qw(modules fans powersupplies)) {
|
||||
$self->get_snmp_tables('HUAWEI-ENTITY-EXTENT-MIB', [
|
||||
['entitystates', 'hwEntityStateTable',
|
||||
'Monitoring::GLPlugin::SNMP::TableItem'],
|
||||
]);
|
||||
$self->merge_tables($_, "entitystates");
|
||||
}
|
||||
if (@{$self->{fanstates}} && ! @{$self->{fans}}) {
|
||||
# gibts auch, d.h. retten, was zu retten ist
|
||||
foreach (@{$self->{fanstates}}) {
|
||||
bless $_, "Classes::Huawei::Component::EnvironmentalSubsystem::Fan";
|
||||
$_->{entPhysicalName} = $_->{flat_indices};
|
||||
$_->finish();
|
||||
}
|
||||
} else {
|
||||
$self->merge_tables_with_code("fans", "fanstates", sub {
|
||||
my ($fan, $fanstate) = @_;
|
||||
return ($fan->{entPhysicalName} eq sprintf("FAN %d/%d",
|
||||
$fanstate->{hwEntityFanSlot}, $fanstate->{hwEntityFanSn})) ? 1 : 0;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
package Classes::Huawei::Component::EnvironmentalSubsystem::Fan;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::TableItem);
|
||||
use strict;
|
||||
|
||||
sub finish {
|
||||
my ($self) = @_;
|
||||
# kommt auch vor, dass die nicht existieren. Im Zweifelsfall "up"
|
||||
$self->{hwEntityAdminStatus} ||= "up";
|
||||
$self->{hwEntityOperStatus} ||= "up";
|
||||
}
|
||||
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
$self->add_info(sprintf 'fan %s is %s, state is %s, admin status is %s, oper status is %s',
|
||||
$self->{entPhysicalName}, $self->{hwEntityFanPresent},
|
||||
$self->{hwEntityFanState},
|
||||
$self->{hwEntityAdminStatus}, $self->{hwEntityOperStatus});
|
||||
if ($self->{hwEntityFanPresent} eq 'present') {
|
||||
if ($self->{hwEntityFanState} ne 'normal') {
|
||||
$self->add_warning();
|
||||
}
|
||||
$self->add_perfdata(
|
||||
label => 'rpm_'.$self->{entPhysicalName},
|
||||
value => $self->{hwEntityFanSpeed},
|
||||
uom => '%',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
package Classes::Huawei::Component::EnvironmentalSubsystem::Powersupply;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::TableItem);
|
||||
use strict;
|
||||
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
$self->add_info(sprintf 'powersupply %s has admin status is %s, oper status is %s',
|
||||
$self->{entPhysicalName},
|
||||
$self->{hwEntityAdminStatus}, $self->{hwEntityOperStatus});
|
||||
if ($self->{hwEntityOperStatus} eq 'down' ||
|
||||
$self->{hwEntityOperStatus} eq 'offline') {
|
||||
$self->add_warning();
|
||||
}
|
||||
}
|
||||
|
||||
package Classes::Huawei::Component::EnvironmentalSubsystem::Module;
|
||||
our @ISA = qw(Monitoring::GLPlugin::SNMP::TableItem);
|
||||
use strict;
|
||||
|
||||
sub finish {
|
||||
my ($self) = @_;
|
||||
$self->{name} = $self->{entPhysicalName};
|
||||
}
|
||||
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
$self->add_info(sprintf 'module %s admin status is %s, oper status is %s',
|
||||
$self->{name}, $self->{hwEntityAdminStatus}, $self->{hwEntityOperStatus});
|
||||
$self->add_info(sprintf 'module %s temperature is %.2f',
|
||||
$self->{name}, $self->{hwEntityTemperature});
|
||||
$self->set_thresholds(
|
||||
metric => 'temp_'.$self->{name},
|
||||
warning => $self->{hwEntityTemperatureLowThreshold}.':'.$self->{hwEntityTemperatureThreshold},
|
||||
critical => $self->{hwEntityTemperatureLowThreshold}.':'.$self->{hwEntityTemperatureThreshold},
|
||||
);
|
||||
$self->add_message(
|
||||
$self->check_thresholds(
|
||||
metric => 'temp_'.$self->{name},
|
||||
value => $self->{hwEntityTemperature}
|
||||
));
|
||||
$self->add_perfdata(
|
||||
label => 'temp_'.$self->{name},
|
||||
value => $self->{hwEntityTemperature},
|
||||
);
|
||||
$self->add_info(sprintf 'module %s fault light is %s',
|
||||
$self->{name}, $self->{hwEntityFaultLight});
|
||||
}
|
||||
|
||||
|
||||
__END__
|
||||
entPhysicalAlias:
|
||||
entPhysicalAssetID:
|
||||
entPhysicalClass: module
|
||||
entPhysicalContainedIn: 16842752
|
||||
entPhysicalDescr: Assembling Components-CE5800-CE5850-48T4S2Q-EI-CE5850-48T4S2Q-
|
||||
EI Switch(48-Port GE RJ45,4-Port 10GE SFP+,2-Port 40GE QSFP+,Without Fan and Pow
|
||||
er Module)
|
||||
entPhysicalFirmwareRev: 266
|
||||
entPhysicalHardwareRev: DE51SRU1B VER D
|
||||
entPhysicalIsFRU: 1
|
||||
entPhysicalMfgName: Huawei
|
||||
entPhysicalModelName:
|
||||
entPhysicalName: CE5850-48T4S2Q-EI 1
|
||||
entPhysicalParentRelPos: 1
|
||||
entPhysicalSerialNum: 210235527210E2000218
|
||||
entPhysicalSoftwareRev: Version 8.80 V100R003C00SPC600
|
||||
entPhysicalVendorType: .1.3.6.1.4.1.2011.20021210.12.688138
|
||||
hwEntityAdminStatus: unlocked
|
||||
hwEntityEnvironmentalUsage: 14
|
||||
hwEntityEnvironmentalUsageThreshold: 95
|
||||
hwEntityFaultLight: normal
|
||||
hwEntityMemSizeMega: 1837
|
||||
hwEntityMemUsage: 43
|
||||
hwEntityMemUsageThreshold: 95
|
||||
hwEntityOperStatus: enabled
|
||||
hwEntityPortType: notSupported
|
||||
hwEntitySplitAttribute:
|
||||
hwEntityStandbyStatus: providingService
|
||||
hwEntityTemperature: 33
|
||||
hwEntityTemperatureLowThreshold: 0
|
||||
hwEntityTemperatureThreshold: 62
|
||||
hwEntityUpTime: 34295804
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::IPFORWARDMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::IPMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package Classes::Juniper;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
use constant trees => (
|
||||
'1.3.6.1.4.1.4874.',
|
||||
'1.3.6.1.4.1.3224.',
|
||||
);
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->{productname} =~ /NetScreen/i) {
|
||||
bless $self, 'Classes::Juniper::NetScreen';
|
||||
$self->debug('using Classes::Juniper::NetScreen');
|
||||
} elsif ($self->{productname} =~ /JunOS/i) {
|
||||
bless $self, 'Classes::Juniper::JunOS';
|
||||
$self->debug('using Classes::Juniper::JunOS');
|
||||
} elsif ($self->{productname} =~ /Juniper.*MAG\-\d+/i) {
|
||||
# Juniper Networks,Inc,MAG-4610,7.2R10
|
||||
bless $self, 'Classes::Juniper::IVE';
|
||||
$self->debug('using Classes::Juniper::IVE');
|
||||
}
|
||||
if (ref($self) ne "Classes::Juniper") {
|
||||
$self->init();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package Classes::Juniper::IVE;
|
||||
our @ISA = qw(Classes::Juniper);
|
||||
use strict;
|
||||
|
||||
use constant trees => (
|
||||
'1.3.6.1.2.1', # mib-2
|
||||
'1.3.6.1.2.1.105',
|
||||
);
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Juniper::IVE::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Juniper::IVE::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Juniper::IVE::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::users/) {
|
||||
$self->analyze_and_check_user_subsystem("Classes::Juniper::IVE::Component::UserSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package Classes::Juniper::NetScreen;
|
||||
our @ISA = qw(Classes::Juniper);
|
||||
use strict;
|
||||
|
||||
use constant trees => (
|
||||
'1.3.6.1.2.1', # mib-2
|
||||
'1.3.6.1.2.1.105',
|
||||
);
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Juniper::NetScreen::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Juniper::NetScreen::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Juniper::NetScreen::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::ha::status/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Juniper::NetScreen::Component::VsdSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::LMSENSORSMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
package Classes::Lancom;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
$self->bulk_is_baeh();
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Lancom::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Lancom::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Lancom::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
package Classes::Lantronix;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
|
@ -1,17 +0,0 @@
|
|||
package Classes::Nortel::S5;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Nortel::S5::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Nortel::S5::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Nortel::S5::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
package Classes::OneOS;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::OneOS::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::OneOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::OneOS::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package Classes::PulseSecure::Gateway;
|
||||
our @ISA = qw(Classes::Juniper);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
# irgendwo ausgegraben, nicht offiziell dokumentiert
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'PULSESECURE-PSG-MIB'}->{'maxLicensedUsers'} = '1.3.6.1.4.1.12532.55';
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::PulseSecure::Gateway::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::PulseSecure::Gateway::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::PulseSecure::Gateway::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::users/) {
|
||||
$self->analyze_and_check_user_subsystem("Classes::PulseSecure::Gateway::Component::UserSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::RAPIDCITYMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
package Classes::Riverbed;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->implements_mib('STEELHEAD-MIB')) {
|
||||
bless $self, 'Classes::Riverbed::Steelhead';
|
||||
$self->debug('using Classes::Riverbed::Steelhead');
|
||||
} elsif ($self->implements_mib('STEELHEAD-EX-MIB')) {
|
||||
bless $self, 'Classes::Riverbed::SteelheadEX';
|
||||
$self->debug('using Classes::Riverbed::SteelheadEX');
|
||||
}
|
||||
if (ref($self) ne "Classes::Riverbed") {
|
||||
$self->init();
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
package Classes::Riverbed::Steelhead;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Riverbed::Steelhead::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Server::Linux::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::disk::usage/) {
|
||||
$self->analyze_and_check_disk_subsystem("Classes::UCDMIB::Component::DiskSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Server::Linux::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::process::status/) {
|
||||
$self->analyze_and_check_process_subsystem("Classes::UCDMIB::Component::ProcessSubsystem");
|
||||
} elsif ($self->mode =~ /device::uptime/) {
|
||||
$self->analyze_and_check_uptime_subsystem("Classes::HOSTRESOURCESMIB::Component::UptimeSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
package Classes::Riverbed::SteelheadEX;
|
||||
our @ISA = qw(Classes::Riverbed::Steelhead);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Riverbed::SteelheadEX::Component::EnvironmentalSubsystem");
|
||||
} else {
|
||||
$self->SUPER::init();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package Classes::SGOS;
|
||||
our @ISA = qw(Classes::Bluecoat);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::SGOS::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::SGOS::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::SGOS::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::security/) {
|
||||
$self->analyze_and_check_security_subsystem("Classes::SGOS::Component::SecuritySubsystem");
|
||||
} elsif ($self->mode =~ /device::(users|connections)::(count|check)/) {
|
||||
$self->analyze_and_check_connection_subsystem("Classes::SGOS::Component::ConnectionSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
package Classes::SecureOS;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
# not sure if this works fa25239716cb74c672f8dd390430dc4056caffa7
|
||||
if ($self->implements_mib('FCMGMT-MIB')) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::FCMGMT::Component::EnvironmentalSubsystem");
|
||||
}
|
||||
if ($self->implements_mib('HOST-RESOURCES-MIB')) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::HOSTRESOURCESMIB::Component::EnvironmentalSubsystem");
|
||||
}
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::UCDMIB::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::UCDMIB::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
package Classes::Server::Linux;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Server::Linux::Component::EnvironmentalSubsystem")
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Server::Linux::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::disk::usage/) {
|
||||
$self->analyze_and_check_disk_subsystem("Classes::UCDMIB::Component::DiskSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Server::Linux::Component::MemSubsystem");
|
||||
} elsif ($self->mode =~ /device::process::status/) {
|
||||
$self->analyze_and_check_process_subsystem("Classes::UCDMIB::Component::ProcessSubsystem");
|
||||
} elsif ($self->mode =~ /device::uptime/ && $self->implements_mib("HOST-RESOURCES-MIB")) {
|
||||
$self->analyze_and_check_uptime_subsystem("Classes::HOSTRESOURCESMIB::Component::UptimeSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package Classes::UCDMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::UCDMIB::Component::DiskSubsystem");
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::LMSENSORSMIB::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::UCDMIB::Component::CpuSubsystem");
|
||||
$self->analyze_and_check_load_subsystem("Classes::UCDMIB::Component::LoadSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::UCDMIB::Component::MemSubsystem");
|
||||
$self->analyze_and_check_swap_subsystem("Classes::UCDMIB::Component::SwapSubsystem");
|
||||
} elsif ($self->mode =~ /device::process::status/) {
|
||||
$self->analyze_and_check_process_subsystem("Classes::UCDMIB::Component::ProcessSubsystem");
|
||||
} elsif ($self->mode =~ /device::uptime/ && $self->implements_mib("HOST-RESOURCES-MIB")) {
|
||||
$self->analyze_and_check_uptime_subsystem("Classes::HOSTRESOURCESMIB::Component::UptimeSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package Classes::UPNP;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
package Classes::UPNP::AVM;
|
||||
our @ISA = qw(Classes::UPNP);
|
||||
use strict;
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->{productname} =~ /(7390|7490|7580|7590|6490|7412)/) {
|
||||
$self->rebless('Classes::UPNP::AVM::FritzBox7390');
|
||||
} else {
|
||||
$self->no_such_model();
|
||||
}
|
||||
if (ref($self) ne "Classes::UPNP::AVM") {
|
||||
$self->init();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
package Classes::VRRPMIB;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
|
@ -1,18 +0,0 @@
|
|||
package Classes::Vormetric;
|
||||
our @ISA = qw(Classes::Device);
|
||||
use strict;
|
||||
|
||||
|
||||
sub init {
|
||||
my ($self) = @_;
|
||||
if ($self->mode =~ /device::hardware::health/) {
|
||||
$self->analyze_and_check_environmental_subsystem("Classes::Vormetric::Component::EnvironmentalSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::load/) {
|
||||
$self->analyze_and_check_cpu_subsystem("Classes::Vormetric::Component::CpuSubsystem");
|
||||
} elsif ($self->mode =~ /device::hardware::memory/) {
|
||||
$self->analyze_and_check_mem_subsystem("Classes::Vormetric::Component::MemSubsystem");
|
||||
} else {
|
||||
$self->no_such_mode();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,548 +0,0 @@
|
|||
libexec_SCRIPTS=check_nwc_health
|
||||
GL_MODULES=\
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/Commandline/Extraopts.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/Commandline/Getopt.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/Commandline.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/Item.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/TableItem.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/MIB2MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/SNMPFRAMEWORKMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ADSLLINEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ADONISDNSMIBMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/AIRESPACESWITCHINGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/AIRESPACEWIRELESSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ALARMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ALCATELIND1BASEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARISTABGP4V2MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARISTAENTITYSENSORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBATCMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBAWIREDCHASSISMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBAWIREDFANTRAYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBAWIREDFANMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBAWIREDPOWERSUPPLYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBAWIREDVSFMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ARUBAWIREDTEMPSENSORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ASYNCOSMAILMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ATTACKMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BAMSNMPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BCNDHCPV4MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BCNDNSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BCNSYSTEMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BGP4MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BIANCABRICKMIBRESMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BLUECOATAVMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/BLUECOATSGPROXYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CHECKPOINTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOBGP4MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOCCMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOCONFIGMANMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOEIGRPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOENHANCEDMEMPOOLMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOENTITYALARMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOENTITYFRUCONTROLMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOENTITYSENSORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOENVMONMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOETHERNETFABRICEXTENDERMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOFEATURECONTROLMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOFIREWALLMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOHSRPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOIETFNATMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOIPSECFLOWMONITORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOL2L3INTERFACECONFIGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOLICENSEMGMTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOLWAPPAPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOLWAPPHAMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOMEMORYPOOLMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOPORTCHANNELMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOPORTSECURITYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOPROCESSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOREMOTEACCESSMONITORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCORTTMONMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCORTTMONTCMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSBHWENVIROMENTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSBRNDMNGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSBSYSMNGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSBTUNINGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSMARTLICMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSTACKMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSTACKWISEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOSYSTEMEXTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CISCOVTPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/CLAVISTERMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/DCBGPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/DEVICEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/DISKMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ELTEXMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ENTITYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ENTITYSENSORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ENTITYSTATEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ETHERLIKEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/F5BIGIPAPMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/F5BIGIPGLOBALMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/F5BIGIPLOCALMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/F5BIGIPSYSTEMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FCEOSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FCMGMTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FIBRECHANNELFEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FORTINETCOREMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FORTINETFORTIGATEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FOUNDRYSNAGENTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/FOUNDRYSNSWL4SWITCHGROUPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/GENUAMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/HH3CENTITYEXTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/HUAWEIBGPVPNMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/HUAWEIENTITYEXTENTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/HOSTRESOURCESMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/HPICFCHASSIS.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/IANAIFTYPEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/IANARTPROTOMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/IEEE8023LAGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/IFMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/INETADDRESSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/IPFORWARDMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/IPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/JUNIPERALARMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/JUNIPERMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/JUNIPERIVEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/JUNIPERRPSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/JUNIPERSRX5000SPUMONITORINGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/JUNOSBGP4V2MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/LARAMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/LCOSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/LMSENSORSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/LOADBALSYSTEMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/MINIIFMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/NETGEARMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/NETSCREENCHASSISMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/NETSCREENNSRPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/NETSCREENPRODUCTSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/NETSCREENRESOURCEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/NETSWITCHMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OLDCISCOCPUMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OLDCISCOINTERFACESMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OLDNETSWITCHMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OLDSTATISTICSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ONEACCESSSYSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OPENBSDCARPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OPENBSDMEMMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OPENBSDPFMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OPENBSDSENSORSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/ORGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OSPFMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/OSPFV3MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/PANCOMMONMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/PANPRODUCTSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/PHIONMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/PROXYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/PULSESECUREPSGMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/RAPIDCITYMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/RESOURCEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/RMONMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/S5CHASSISMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/SENSORMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/SNMPV2TCV1MIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/STATISTICSMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/STEELHEADMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/STEELHEADEXMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/STORAGEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/SWMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/SYNOPTICSROOTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/SYSTEMRESOURCESMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/UCDDISKIOMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/UCDSNMPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/USAGEMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/VORMETRICMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/VRRPMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/WLSXSYSTEMEXTMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/MibsAndOids/WLSXWLANMIB.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/CSF.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/Item.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/SNMP/TableItem.pm \
|
||||
../GLPlugin/lib/Monitoring/GLPlugin/UPNP.pm
|
||||
EXTRA_MODULES=\
|
||||
Classes/UPNP/AVM/FritzBox7390/Components/InterfaceSubsystem.pm \
|
||||
Classes/UPNP/AVM/FritzBox7390/Components/SmartHomeSubsystem.pm \
|
||||
Classes/UPNP/AVM/FritzBox7390.pm \
|
||||
Classes/UPNP/AVM.pm \
|
||||
Classes/UPNP.pm \
|
||||
Classes/Server/LinuxLocal.pm \
|
||||
Classes/Server/WindowsLocal.pm \
|
||||
Classes/Server/SolarisLocal.pm \
|
||||
Classes/Server/Linux.pm \
|
||||
Classes/Server/Linux/Component/CpuSubsystem.pm \
|
||||
Classes/Server/Linux/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Server/Linux/Component/MemSubsystem.pm \
|
||||
Classes/Bintec/Bibo/Components/EnvironmentalSubsystem.pm \
|
||||
Classes/Bintec/Bibo/Components/MemSubsystem.pm \
|
||||
Classes/Bintec/Bibo/Components/CpuSubsystem.pm \
|
||||
Classes/Bintec/Bibo.pm \
|
||||
Classes/Bintec.pm \
|
||||
Classes/Bluecat/AddressManager/Component/MgmtSubsystem.pm \
|
||||
Classes/Bluecat/AddressManager/Component/MemSubsystem.pm \
|
||||
Classes/Bluecat/AddressManager/Component/HaSubsystem.pm \
|
||||
Classes/Bluecat/AddressManager.pm \
|
||||
Classes/Bluecat/DnsDhcpServer/Component/HaSubsystem.pm \
|
||||
Classes/Bluecat/DnsDhcpServer/Component/ProcessSubsystem.pm \
|
||||
Classes/Bluecat/DnsDhcpServer.pm \
|
||||
Classes/Bluecat.pm \
|
||||
Classes/Cisco/CISCOLICENSEMGMTMIB/Component/KeySubsystem.pm \
|
||||
Classes/Cisco/CISCOSMARTLICMIB/Component/KeySubsystem.pm \
|
||||
Classes/Cisco/CISCOBGP4MIB/Components/PeerSubsystem.pm \
|
||||
Classes/Cisco/CISCOEIGRPMIB/Components/PeerSubsystem.pm \
|
||||
Classes/Cisco/CISCOPORTSECURITYMIB/Component/InterfaceSubsystem.pm \
|
||||
Classes/Cisco/OLDCISCOINTERFACESMIB/Component/InterfaceSubsystem.pm \
|
||||
Classes/Cisco/CISCOIPSECFLOWMONITOR/Component/VpnSubsystem.pm \
|
||||
Classes/Cisco/CISCOENHANCEDMEMPOOLMIB/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/CISCOPROCESSMIB/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/CISCOMEMORYPOOLMIB/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/CISCOENTITYFRUCONTROLMIB/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Cisco/CISCOENTITYFRUCONTROLMIB/Component/FanSubsystem.pm \
|
||||
Classes/Cisco/CISCOENTITYFRUCONTROLMIB/Component/ModuleSubsystem.pm \
|
||||
Classes/Cisco/CISCOENTITYFRUCONTROLMIB/Component/PowersupplySubsystem.pm \
|
||||
Classes/Cisco/CISCOENTITYSENSORMIB/Component/SensorSubsystem.pm \
|
||||
Classes/Cisco/CISCOENTITYALARMMIB/Component/AlarmSubsystem.pm \
|
||||
Classes/Cisco/CISCOENVMONMIB/Component/TemperatureSubsystem.pm \
|
||||
Classes/Cisco/CISCOENVMONMIB/Component/PowersupplySubsystem.pm \
|
||||
Classes/Cisco/CISCOENVMONMIB/Component/VoltageSubsystem.pm \
|
||||
Classes/Cisco/CISCOENVMONMIB/Component/FanSubsystem.pm \
|
||||
Classes/Cisco/CISCOREMOTEACCESSMONITORMIB/Component/VpnSubsystem.pm \
|
||||
Classes/Cisco/CISCORTTMONMIB/Component/RttSubsystem.pm \
|
||||
Classes/Cisco/CISCOSTACKMIB/Component/StackSubsystem.pm \
|
||||
Classes/Cisco/CISCOSTACKWISEMIB/Component/StackSubsystem.pm \
|
||||
Classes/Cisco/ASA.pm \
|
||||
Classes/Cisco/IOS/Component/HaSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/ConfigSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/CpuSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/ConnectionSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/NatSubsystem.pm \
|
||||
Classes/Cisco/IOS/Component/BgpSubsystem.pm \
|
||||
Classes/Cisco/IOS.pm \
|
||||
Classes/Cisco/NXOS/Component/CpuSubsystem.pm \
|
||||
Classes/Cisco/NXOS/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/NXOS/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Cisco/NXOS/Component/FexSubsystem.pm \
|
||||
Classes/Cisco/NXOS.pm \
|
||||
Classes/Cisco/WLC/Component/HaSubsystem.pm \
|
||||
Classes/Cisco/WLC/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/WLC/Component/CpuSubsystem.pm \
|
||||
Classes/Cisco/WLC/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Cisco/WLC/Component/WlanSubsystem.pm \
|
||||
Classes/Cisco/WLC.pm \
|
||||
Classes/Cisco/PrimeNCS.pm \
|
||||
Classes/Cisco/UCOS.pm \
|
||||
Classes/Cisco/CCM/Component/PhoneSubsystem.pm \
|
||||
Classes/Cisco/CCM/Component/CmSubsystem.pm \
|
||||
Classes/Cisco/CCM.pm \
|
||||
Classes/Cisco/AsyncOS/Component/KeySubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/CpuSubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/TemperatureSubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/PowersupplySubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/FanSubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/RaidSubsystem.pm \
|
||||
Classes/Cisco/AsyncOS/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Cisco/AsyncOS.pm \
|
||||
Classes/Cisco/SB/Component/MemSubsystem.pm \
|
||||
Classes/Cisco/SB/Component/CpuSubsystem.pm \
|
||||
Classes/Cisco/SB/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Cisco/SB.pm \
|
||||
Classes/Cisco.pm \
|
||||
Classes/OneOS/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/OneOS/Component/CpuSubsystem.pm \
|
||||
Classes/OneOS/Component/MemSubsystem.pm \
|
||||
Classes/OneOS.pm \
|
||||
Classes/Nortel/S5/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Nortel/S5/Component/CpuSubsystem.pm \
|
||||
Classes/Nortel/S5/Component/MemSubsystem.pm \
|
||||
Classes/Nortel/S5.pm \
|
||||
Classes/Nortel.pm \
|
||||
Classes/Juniper/JunOS/Component/BgpSubsystem.pm \
|
||||
Classes/Juniper/JunOS.pm \
|
||||
Classes/Juniper/NetScreen/Component/CpuSubsystem.pm \
|
||||
Classes/Juniper/NetScreen/Component/MemSubsystem.pm \
|
||||
Classes/Juniper/NetScreen/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Juniper/NetScreen/Component/VsdSubsystem.pm \
|
||||
Classes/Juniper/NetScreen.pm \
|
||||
Classes/Juniper/IVE/Component/MemSubsystem.pm \
|
||||
Classes/Juniper/IVE/Component/CpuSubsystem.pm \
|
||||
Classes/Juniper/IVE/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Juniper/IVE/Component/DiskSubsystem.pm \
|
||||
Classes/Juniper/IVE/Component/UserSubsystem.pm \
|
||||
Classes/Juniper/IVE.pm \
|
||||
Classes/Juniper/SRX/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Juniper/SRX/Component/CpuSubsystem.pm \
|
||||
Classes/Juniper/SRX/Component/MemSubsystem.pm \
|
||||
Classes/Juniper/SRX.pm \
|
||||
Classes/Juniper.pm \
|
||||
Classes/AlliedTelesyn.pm \
|
||||
Classes/Fortigate/Component/HaSubsystem.pm \
|
||||
Classes/Fortigate/Component/DiskSubsystem.pm \
|
||||
Classes/Fortigate/Component/MemSubsystem.pm \
|
||||
Classes/Fortigate/Component/CpuSubsystem.pm \
|
||||
Classes/Fortigate/Component/VpnSubsystem.pm \
|
||||
Classes/Fortigate/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Fortigate/Component/SensorSubsystem.pm \
|
||||
Classes/Fortigate.pm \
|
||||
Classes/FabOS/Component/MemSubsystem.pm \
|
||||
Classes/FabOS/Component/CpuSubsystem.pm \
|
||||
Classes/FabOS/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/FabOS/Component/SensorSubsystem.pm \
|
||||
Classes/FabOS/Component/InterfaceSubsystem.pm \
|
||||
Classes/FabOS.pm \
|
||||
Classes/HH3C/Component/EntitySubsystem.pm \
|
||||
Classes/HH3C/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/HH3C/Component/MemSubsystem.pm \
|
||||
Classes/HH3C/Component/CpuSubsystem.pm \
|
||||
Classes/HH3C.pm \
|
||||
Classes/Huawei/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Huawei/Component/CpuSubsystem.pm \
|
||||
Classes/Huawei/Component/MemSubsystem.pm \
|
||||
Classes/Huawei/Component/PeerSubsystem.pm \
|
||||
Classes/Huawei/CloudEngine.pm \
|
||||
Classes/Huawei.pm \
|
||||
Classes/HP/Procurve/Component/MemSubsystem.pm \
|
||||
Classes/HP/Procurve/Component/CpuSubsystem.pm \
|
||||
Classes/HP/Procurve/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/HP/Procurve/Component/SensorSubsystem.pm \
|
||||
Classes/HP/Procurve.pm \
|
||||
Classes/HP/Aruba/Component/MemSubsystem.pm \
|
||||
Classes/HP/Aruba/Component/CpuSubsystem.pm \
|
||||
Classes/HP/Aruba/Component/TemperatureSubsystem.pm \
|
||||
Classes/HP/Aruba/Component/FanSubsystem.pm \
|
||||
Classes/HP/Aruba/Component/PowersupplySubsystem.pm \
|
||||
Classes/HP/Aruba/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/HP/Aruba.pm \
|
||||
Classes/HP.pm \
|
||||
Classes/MEOS.pm \
|
||||
Classes/Brocade.pm \
|
||||
Classes/SecureOS.pm \
|
||||
Classes/HSRP/Component/HSRPSubsystem.pm \
|
||||
Classes/HSRP.pm \
|
||||
Classes/IFMIB/Component/LinkAggregation.pm \
|
||||
Classes/IFMIB/Component/InterfaceSubsystem.pm \
|
||||
Classes/IFMIB/Component/StackSubsystem.pm \
|
||||
Classes/IFMIB.pm \
|
||||
Classes/IPFORWARDMIB/Component/RoutingSubsystem.pm \
|
||||
Classes/IPFORWARDMIB.pm \
|
||||
Classes/IPMIB/Component/RoutingSubsystem.pm \
|
||||
Classes/IPMIB.pm \
|
||||
Classes/VRRPMIB/Component/VRRPSubsystem.pm \
|
||||
Classes/VRRPMIB.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/ClockSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/DeviceSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/DiskSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/CpuSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/MemSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB/Component/UptimeSubsystem.pm \
|
||||
Classes/HOSTRESOURCESMIB.pm \
|
||||
Classes/LMSENSORSMIB/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/LMSENSORSMIB/Component/FanSubsystem.pm \
|
||||
Classes/LMSENSORSMIB/Component/TemperatureSubsystem.pm \
|
||||
Classes/LMSENSORSMIB.pm \
|
||||
Classes/ENTITYSENSORMIB.pm \
|
||||
Classes/ENTITYSENSORMIB/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/OSPF/Component/NeighborSubsystem.pm \
|
||||
Classes/OSPF.pm \
|
||||
Classes/BGP/Component/PeerSubsystem.pm \
|
||||
Classes/BGP.pm \
|
||||
Classes/FCMGMT/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/FCMGMT/Component/SensorSubsystem.pm \
|
||||
Classes/FCMGMT.pm \
|
||||
Classes/FCEOS/Components/EnvironmentalSubsystem.pm \
|
||||
Classes/FCEOS/Components/FruSubsystem.pm \
|
||||
Classes/FCEOS.pm \
|
||||
Classes/UCDMIB/Components/MemSubsystem.pm \
|
||||
Classes/UCDMIB/Components/SwapSubsystem.pm \
|
||||
Classes/UCDMIB/Components/CpuSubsystem.pm \
|
||||
Classes/UCDMIB/Components/LoadSubsystem.pm \
|
||||
Classes/UCDMIB/Components/DiskSubsystem.pm \
|
||||
Classes/UCDMIB/Components/ProcessSubsystem.pm \
|
||||
Classes/UCDMIB.pm \
|
||||
Classes/F5/F5BIGIP/Component/ConfigSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/ConnectionSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/CpuSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/DiskSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/FanSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/GTM.pm \
|
||||
Classes/F5/F5BIGIP/Component/HaSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/VipSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/LTM.pm \
|
||||
Classes/F5/F5BIGIP/Component/MemSubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/PowersupplySubsystem.pm \
|
||||
Classes/F5/F5BIGIP/Component/TemperatureSubsystem.pm \
|
||||
Classes/F5/F5BIGIP.pm \
|
||||
Classes/F5.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/TemperatureSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/FanSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/VoltageSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/PowersupplySubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/DiskSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/MngmtSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/SvnSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/FwSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/HaSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/CpuSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/MemSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1/Component/VpnSubsystem.pm \
|
||||
Classes/CheckPoint/Firewall1.pm \
|
||||
Classes/CheckPoint/VSX/Component/FwSubsystem.pm \
|
||||
Classes/CheckPoint/VSX.pm \
|
||||
Classes/CheckPoint/Gaia.pm \
|
||||
Classes/CheckPoint.pm \
|
||||
Classes/Clavister/Firewall1/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Clavister/Firewall1/Component/CpuSubsystem.pm \
|
||||
Classes/Clavister/Firewall1/Component/MemSubsystem.pm \
|
||||
Classes/Clavister/Firewall1.pm \
|
||||
Classes/Clavister.pm \
|
||||
Classes/SGOS/Component/MemSubsystem.pm \
|
||||
Classes/SGOS/Component/CpuSubsystem.pm \
|
||||
Classes/SGOS/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/SGOS/Component/SensorSubsystem.pm \
|
||||
Classes/SGOS/Component/DiskSubsystem.pm \
|
||||
Classes/SGOS/Component/SecuritySubsystem.pm \
|
||||
Classes/SGOS/Component/ConnectionSubsystem.pm \
|
||||
Classes/SGOS.pm \
|
||||
Classes/AVOS/Component/KeySubsystem.pm \
|
||||
Classes/AVOS/Component/SecuritySubsystem.pm \
|
||||
Classes/AVOS/Component/ConnectionSubsystem.pm \
|
||||
Classes/AVOS/Component/MemSubsystem.pm \
|
||||
Classes/AVOS/Component/CpuSubsystem.pm \
|
||||
Classes/AVOS.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/HaSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/MemSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/CpuSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/PowersupplySubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/FanSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/StorageSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess/Component/WlanSubsystem.pm \
|
||||
Classes/Alcatel/OmniAccess.pm \
|
||||
Classes/Alcatel.pm \
|
||||
Classes/ALARMMIB/Component/AlarmSubsystem.pm \
|
||||
Classes/Foundry/Component/SLBSubsystem.pm \
|
||||
Classes/Foundry/Component/MemSubsystem.pm \
|
||||
Classes/Foundry/Component/CpuSubsystem.pm \
|
||||
Classes/Foundry/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Foundry/Component/PowersupplySubsystem.pm \
|
||||
Classes/Foundry/Component/FanSubsystem.pm \
|
||||
Classes/Foundry/Component/TemperatureSubsystem.pm \
|
||||
Classes/Foundry/Component/ModuleSubsystem.pm \
|
||||
Classes/Foundry.pm \
|
||||
Classes/RAPIDCITYMIB/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/RAPIDCITYMIB/Component/PowersupplySubsystem.pm \
|
||||
Classes/RAPIDCITYMIB/Component/FanSubsystem.pm \
|
||||
Classes/RAPIDCITYMIB/Component/TemperatureSubsystem.pm \
|
||||
Classes/RAPIDCITYMIB.pm \
|
||||
Classes/PaloAlto/Component/SessionSubsystem.pm \
|
||||
Classes/PaloAlto/Component/MemSubsystem.pm \
|
||||
Classes/PaloAlto/Component/CpuSubsystem.pm \
|
||||
Classes/PaloAlto/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/PaloAlto/Component/HaSubsystem.pm \
|
||||
Classes/PaloAlto.pm \
|
||||
Classes/Bluecoat.pm \
|
||||
Classes/Cumulus.pm \
|
||||
Classes/Eltex/Access/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Eltex/Access.pm \
|
||||
Classes/Eltex/Aggregation/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Eltex/Aggregation.pm \
|
||||
Classes/Eltex/MES/Component/CpuSubsystem.pm \
|
||||
Classes/Eltex/MES/Component/HaSubsystem.pm \
|
||||
Classes/Eltex.pm \
|
||||
Classes/Netgear.pm \
|
||||
Classes/Lantronix.pm \
|
||||
Classes/Lantronix/SLS.pm \
|
||||
Classes/Arista/ARISTABGP4V2MIB/Components/PeerSubsystem.pm \
|
||||
Classes/Arista/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Arista/Component/DiskSubsystem.pm \
|
||||
Classes/Arista.pm \
|
||||
Classes/Riverbed/SteelheadEX/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Riverbed/Steelhead/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Riverbed/Steelhead.pm \
|
||||
Classes/Riverbed.pm \
|
||||
Classes/Vormetric/Component/CpuSubsystem.pm \
|
||||
Classes/Vormetric/Component/DiskSubsystem.pm \
|
||||
Classes/Vormetric/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Vormetric/Component/MemSubsystem.pm \
|
||||
Classes/Vormetric.pm \
|
||||
Classes/Lancom/Component/CpuSubsystem.pm \
|
||||
Classes/Lancom/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Lancom/Component/MemSubsystem.pm \
|
||||
Classes/Lancom.pm \
|
||||
Classes/DrayTek/Vigor/Component/CpuSubsystem.pm \
|
||||
Classes/DrayTek/Vigor/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/DrayTek/Vigor/Component/MemSubsystem.pm \
|
||||
Classes/DrayTek/Vigor.pm \
|
||||
Classes/DrayTek.pm \
|
||||
Classes/Barracuda/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Barracuda/Component/HaSubsystem.pm \
|
||||
Classes/Barracuda/Component/FwSubsystem.pm \
|
||||
Classes/Barracuda.pm \
|
||||
Classes/Versa/Component/CpuSubsystem.pm \
|
||||
Classes/Versa/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/Versa/Component/MemSubsystem.pm \
|
||||
Classes/Versa/Component/PeerSubsystem.pm \
|
||||
Classes/Versa.pm \
|
||||
Classes/PulseSecure/Gateway/Component/UserSubsystem.pm \
|
||||
Classes/PulseSecure/Gateway/Component/EnvironmentalSubsystem.pm \
|
||||
Classes/PulseSecure/Gateway/Component/CpuSubsystem.pm \
|
||||
Classes/PulseSecure/Gateway/Component/DiskSubsystem.pm \
|
||||
Classes/PulseSecure/Gateway/Component/MemSubsystem.pm \
|
||||
Classes/PulseSecure/Gateway.pm \
|
||||
Classes/Device.pm
|
||||
|
||||
SED=/bin/sed
|
||||
GREP=/bin/grep
|
||||
CAT=/bin/cat
|
||||
ECHO=/bin/echo
|
||||
if DISABLE_STANDALONE
|
||||
STANDALONE = no
|
||||
else
|
||||
STANDALONE = yes
|
||||
endif
|
||||
|
||||
SUFFIXES = .pl .pm .sh
|
||||
|
||||
VPATH=$(top_srcdir) $(top_srcdir)/plugins-scripts $(top_srcdir)/plugins-scripts/t
|
||||
|
||||
EXTRA_DIST=$(libexec_SCRIPTS).pl $(EXTRA_MODULES) $(GL_MODULES)
|
||||
|
||||
CLEANFILES=$(libexec_SCRIPTS)
|
||||
|
||||
AM_INSTALL_PROGRAM_FLAGS=@INSTALL_OPTS@
|
||||
|
||||
.pm :
|
||||
$(AWK) -f ./subst $< > $@
|
||||
chmod +x $@
|
||||
|
||||
.pl :
|
||||
$(AWK) -f ./subst $< > $@
|
||||
chmod +x $@
|
||||
|
||||
.sh :
|
||||
$(AWK) -f ./subst $< > $@
|
||||
chmod +x $@
|
||||
|
||||
$(libexec_SCRIPTS) : $(EXTRA_DIST)
|
||||
$(ECHO) "#! #PERL# -w" | $(AWK) -f ./subst > $@
|
||||
$(ECHO) "# nagios: +epn" >> $@
|
||||
$(ECHO) >> $@
|
||||
if [ "${STANDALONE}" == "yes" ]; then \
|
||||
$(ECHO) i am standalone; \
|
||||
for m in ${GL_MODULES}; do \
|
||||
$(SED) -e 's/^1;//g' < $$m | $(SED) -e '/^__END__/,$$d' | $(SED) -e '/^__PACKAGE__/,$$d' | $(AWK) -f ./subst >> $@; \
|
||||
done \
|
||||
fi
|
||||
for m in ${EXTRA_MODULES}; do \
|
||||
$(SED) -e 's/^1;//g' < $$m | $(SED) -e '/^__END__/,$$d' | $(AWK) -f ./subst >> $@; \
|
||||
done
|
||||
$(ECHO) "package main;" >> $@
|
||||
$(CAT) $(libexec_SCRIPTS).pl | $(AWK) -f ./subst >> $@
|
||||
chmod +x $@
|
|
@ -1,634 +0,0 @@
|
|||
# /usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
no warnings qw(once);
|
||||
|
||||
if ( ! grep /BEGIN/, keys %Monitoring::GLPlugin::) {
|
||||
eval {
|
||||
require Monitoring::GLPlugin;
|
||||
require Monitoring::GLPlugin::SNMP;
|
||||
require Monitoring::GLPlugin::UPNP;
|
||||
};
|
||||
if ($@) {
|
||||
printf "UNKNOWN - module Monitoring::GLPlugin was not found. Either build a standalone version of this plugin or set PERL5LIB\n";
|
||||
printf "%s\n", $@;
|
||||
exit 3;
|
||||
}
|
||||
}
|
||||
|
||||
my $plugin = Classes::Device->new(
|
||||
shortname => '',
|
||||
usage => 'Usage: %s [ -v|--verbose ] [ -t <timeout> ] '.
|
||||
'--mode <what-to-do> '.
|
||||
'--hostname <network-component> --community <snmp-community>'.
|
||||
' ...]',
|
||||
version => '$Revision: #PACKAGE_VERSION# $',
|
||||
blurb => 'This plugin checks various parameters of network components ',
|
||||
url => 'http://labs.consol.de/nagios/check_nwc_health',
|
||||
timeout => 60,
|
||||
plugin => $Monitoring::GLPlugin::pluginname,
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hardware::health',
|
||||
spec => 'hardware-health',
|
||||
alias => undef,
|
||||
help => 'Check the status of environmental equipment (fans, temperatures, power)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hardware::load',
|
||||
spec => 'cpu-load',
|
||||
alias => ['cpu-usage'],
|
||||
help => 'Check the CPU load of the device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hardware::memory',
|
||||
spec => 'memory-usage',
|
||||
alias => undef,
|
||||
help => 'Check the memory usage of the device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::disk::usage',
|
||||
spec => 'disk-usage',
|
||||
alias => undef,
|
||||
help => 'Check the disk usage of the device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::usage',
|
||||
spec => 'interface-usage',
|
||||
alias => undef,
|
||||
help => 'Check the utilization of interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::errors',
|
||||
spec => 'interface-errors',
|
||||
alias => undef,
|
||||
help => 'Check the error-rate of interfaces (without discards)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::discards',
|
||||
spec => 'interface-discards',
|
||||
alias => undef,
|
||||
help => 'Check the discard-rate of interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::operstatus',
|
||||
spec => 'interface-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of interfaces (oper/admin)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::duplex',
|
||||
spec => 'interface-duplex',
|
||||
alias => undef,
|
||||
help => 'Check if interfaces operate in duplex mode',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::complete',
|
||||
spec => 'interface-health',
|
||||
alias => undef,
|
||||
help => 'Check everything interface',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::nat::sessions::count',
|
||||
spec => 'interface-nat-count-sessions',
|
||||
alias => undef,
|
||||
help => 'Count the number of nat sessions',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::nat::rejects',
|
||||
spec => 'interface-nat-rejects',
|
||||
alias => undef,
|
||||
help => 'Count the number of nat sessions rejected due to lack of resources',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::list',
|
||||
spec => 'list-interfaces',
|
||||
alias => undef,
|
||||
help => 'Show the interfaces of the device and update the name cache',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::listdetail',
|
||||
spec => 'list-interfaces-detail',
|
||||
alias => undef,
|
||||
help => 'Show the interfaces of the device and some details',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::availability',
|
||||
spec => 'interface-availability',
|
||||
alias => undef,
|
||||
help => 'Show the availability (oper != up) of interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::aggregation::availability',
|
||||
spec => 'link-aggregation-availability',
|
||||
alias => undef,
|
||||
help => 'Check the percentage of up interfaces in a link aggregation',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::ifstack::status',
|
||||
spec => 'interface-stack-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of interface sublayers (mostly layer 2)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::ifstack::availability',
|
||||
spec => 'interface-stack-availability',
|
||||
alias => undef,
|
||||
help => 'Check the percentage of available sublayer interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::etherstats',
|
||||
spec => 'interface-etherstats',
|
||||
alias => undef,
|
||||
help => 'Check the ethernet statistics of interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::uptime',
|
||||
spec => 'interface-uptime',
|
||||
alias => undef,
|
||||
help => 'Check state changes of interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::interfaces::portsecurity',
|
||||
spec => 'interface-security',
|
||||
alias => undef,
|
||||
help => 'Check interfaces for security violations',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::routes::list',
|
||||
spec => 'list-routes',
|
||||
alias => undef,
|
||||
help => 'Show the configured routes',
|
||||
help => 'Check the percentage of up interfaces in a link aggregation',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::routes::exists',
|
||||
spec => 'route-exists',
|
||||
alias => undef,
|
||||
help => 'Check if a route exists. (--name is the dest, --name2 check also the next hop)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::routes::count',
|
||||
spec => 'count-routes',
|
||||
alias => undef,
|
||||
help => 'Count the routes. (--name is the dest, --name2 is the hop)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vpn::status',
|
||||
spec => 'vpn-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of vpns (up/down)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vpn::sessions',
|
||||
spec => 'vpn-sessions',
|
||||
alias => undef,
|
||||
help => 'Check the number of vpn sessions (users, errors)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fcinterfaces::usage',
|
||||
spec => 'fc-interface-usage',
|
||||
alias => undef,
|
||||
help => 'Check the utilization of fibrechannel interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fcinterfaces::errors',
|
||||
spec => 'fc-interface-errors',
|
||||
alias => undef,
|
||||
help => 'Check the error-rate of fibrechannel interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fcinterfaces::discards',
|
||||
spec => 'fc-interface-discards',
|
||||
alias => undef,
|
||||
help => 'Check the discard-rate of interfaces',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fcinterfaces::operstatus',
|
||||
spec => 'fc-interface-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of interfaces (oper/admin)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fcinterfaces::complete',
|
||||
spec => 'fc-interface-health',
|
||||
alias => undef,
|
||||
help => 'Check everything interface',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fcinterfaces::list',
|
||||
spec => 'fc-list-interfaces',
|
||||
alias => undef,
|
||||
help => 'Show the fcal interfaces of the device and update the name cache',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::shinken::interface',
|
||||
spec => 'create-shinken-service',
|
||||
alias => undef,
|
||||
help => 'Create a Shinken service definition',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hsrp::state',
|
||||
spec => 'hsrp-state',
|
||||
alias => undef,
|
||||
help => 'Check the state in a HSRP group',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hsrp::failover',
|
||||
spec => 'hsrp-failover',
|
||||
alias => undef,
|
||||
help => 'Check if a HSRP group\'s nodes have changed their roles',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hsrp::list',
|
||||
spec => 'list-hsrp-groups',
|
||||
alias => undef,
|
||||
help => 'Show the HSRP groups configured on this device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vrrp::state',
|
||||
spec => 'vrrp-state',
|
||||
alias => undef,
|
||||
help => 'Check the state in a VRRP group',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vrrp::failover',
|
||||
spec => 'vrrp-failover',
|
||||
alias => undef,
|
||||
help => 'Check if a VRRP group\'s nodes have changed their roles',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vrrp::list',
|
||||
spec => 'list-vrrp-groups',
|
||||
alias => undef,
|
||||
help => 'Show the VRRP groups configured on this device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::bgp::peer::status',
|
||||
spec => 'bgp-peer-status',
|
||||
alias => undef,
|
||||
help => 'Check status of BGP peers',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::bgp::peer::count',
|
||||
spec => 'count-bgp-peers',
|
||||
alias => undef,
|
||||
help => 'Count the number of BGP peers',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::bgp::peer::watch',
|
||||
spec => 'watch-bgp-peers',
|
||||
alias => undef,
|
||||
help => 'Watch BGP peers appear and disappear',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::bgp::peer::list',
|
||||
spec => 'list-bgp-peers',
|
||||
alias => undef,
|
||||
help => 'Show BGP peers known to this device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::bgp::prefix::count',
|
||||
spec => 'count-bgp-prefixes',
|
||||
alias => undef,
|
||||
help => 'Count the number of BGP prefixes (for specific peer with --name)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::ospf::neighbor::status',
|
||||
spec => 'ospf-neighbor-status',
|
||||
alias => undef,
|
||||
help => 'Check status of OSPF neighbors',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::ospf::neighbor::watch',
|
||||
spec => 'watch-ospf-neighbors',
|
||||
alias => undef,
|
||||
help => 'Watch OSPF neighbors appear and disappear',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::ospf::neighbor::list',
|
||||
spec => 'list-ospf-neighbors',
|
||||
alias => undef,
|
||||
help => 'Show OSPF neighbors',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::eigrp::peer::count',
|
||||
spec => 'count-eigrp-peers',
|
||||
alias => undef,
|
||||
help => 'Count the number of EIGRP peers',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::eigrp::peer::status',
|
||||
spec => 'eigrp-peer-status',
|
||||
alias => undef,
|
||||
help => 'Check status (existance) of EIGRP peers',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::eigrp::peer::watch',
|
||||
spec => 'watch-eigrp-peers',
|
||||
alias => undef,
|
||||
help => 'Watch EIGRP peers appear and disappear',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::eigrp::peer::list',
|
||||
spec => 'list-eigrp-peers',
|
||||
alias => undef,
|
||||
help => 'Show EIGRP peers',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::ha::status',
|
||||
spec => 'ha-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of a clustered setup',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::ha::role',
|
||||
spec => 'ha-role',
|
||||
alias => undef,
|
||||
help => 'Check the role in a ha group',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::svn::status',
|
||||
spec => 'svn-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of the svn subsystem',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::mngmt::status',
|
||||
spec => 'mngmt-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of the management subsystem',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::process::status',
|
||||
spec => 'process-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of the running processes'
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fw::policy::installed',
|
||||
spec => 'fw-policy',
|
||||
alias => undef,
|
||||
help => 'Check the installed firewall policy',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::fw::policy::connections',
|
||||
spec => 'fw-connections',
|
||||
alias => undef,
|
||||
help => 'Check the number of firewall policy connections',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::lb::session::usage',
|
||||
spec => 'session-usage',
|
||||
alias => undef,
|
||||
help => 'Check the session limits of a load balancer',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::security',
|
||||
spec => 'security-status',
|
||||
alias => undef,
|
||||
help => 'Check if there are security-relevant incidents',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::lb::pool::completeness',
|
||||
spec => 'pool-completeness',
|
||||
alias => undef,
|
||||
help => 'Check the members of a load balancer pool',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::lb::pool::connections',
|
||||
spec => 'pool-connections',
|
||||
alias => undef,
|
||||
help => 'Check the number of connections of a load balancer pool',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::lb::pool::complections',
|
||||
spec => 'pool-complections',
|
||||
alias => undef,
|
||||
help => 'Check the members and connections of a load balancer pool',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::wideip::status',
|
||||
spec => 'wideip-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of F5 Wide IPs',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::lb::pool::list',
|
||||
spec => 'list-pools',
|
||||
alias => undef,
|
||||
help => 'List load balancer pools',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vip::list',
|
||||
spec => 'list-vips',
|
||||
alias => undef,
|
||||
help => 'List load balancer vips',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vip::watch',
|
||||
spec => 'watch-vips',
|
||||
alias => undef,
|
||||
help => 'Watch load balancer vips',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vip::watch',
|
||||
spec => 'watch-vips',
|
||||
alias => undef,
|
||||
help => 'Watch load balancer vips',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::vip::connect',
|
||||
spec => 'connect-vips',
|
||||
alias => ['connected-vips'],
|
||||
help => 'Check connectivity with load balancer vips',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::licenses::validate',
|
||||
spec => 'check-licenses',
|
||||
alias => undef,
|
||||
help => 'Check the installed licences/keys',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::users::count',
|
||||
spec => 'count-users',
|
||||
help => 'Count the (connected) users/sessions',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::config::status',
|
||||
spec => 'check-config',
|
||||
alias => undef,
|
||||
help => 'Check the status of configs (cisco, unsaved config changes)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::connections::check',
|
||||
spec => 'check-connections',
|
||||
alias => undef,
|
||||
help => 'Check the quality of connections',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::connections::count',
|
||||
spec => 'count-connections',
|
||||
alias => ['count-connections-client', 'count-connections-server', 'count-sessions'],
|
||||
help => 'Check the number of connections/sessions (-client, -server is possible)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::cisco::fex::watch',
|
||||
spec => 'watch-fexes',
|
||||
alias => undef,
|
||||
help => 'Check if FEXes appear and disappear (use --lookup)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::rtt::check',
|
||||
spec => 'check-rtt',
|
||||
alias => undef,
|
||||
help => 'Check rtt monitors (Cisco SLA)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::hardware::chassis::health',
|
||||
spec => 'chassis-hardware-health',
|
||||
alias => undef,
|
||||
help => 'Check the status of stacked switches and chassis, count modules and ports',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::wlan::aps::status',
|
||||
spec => 'accesspoint-status',
|
||||
alias => undef,
|
||||
help => 'Check the status of access points',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::wlan::aps::count',
|
||||
spec => 'count-accesspoints',
|
||||
alias => undef,
|
||||
help => 'Check if the number of access points is within a certain range',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::wlan::aps::watch',
|
||||
spec => 'watch-accesspoints',
|
||||
alias => undef,
|
||||
help => 'Check if access points appear and disappear (use --lookup)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::wlan::aps::clients',
|
||||
spec => 'count-accesspoint-clients',
|
||||
alias => undef,
|
||||
help => 'Check if the number of access point clients is within a certain range',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::wlan::aps::list',
|
||||
spec => 'list-accesspoints',
|
||||
alias => undef,
|
||||
help => 'List access points managed by this device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::phone::cmstatus',
|
||||
spec => 'phone-cm-status',
|
||||
alias => undef,
|
||||
help => 'Check if the callmanager is up',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::phone::status',
|
||||
spec => 'phone-status',
|
||||
alias => undef,
|
||||
help => 'Check the number of registered/unregistered/rejected phones',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::smarthome::device::list',
|
||||
spec => 'list-smart-home-devices',
|
||||
alias => undef,
|
||||
help => 'List Fritz!DECT 200 plugs managed by this device',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::smarthome::device::status',
|
||||
spec => 'smart-home-device-status',
|
||||
alias => undef,
|
||||
help => 'Check if a Fritz!DECT 200 plug is on (or Comet DECT)',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::smarthome::device::energy',
|
||||
spec => 'smart-home-device-energy',
|
||||
alias => undef,
|
||||
help => 'Show the current power consumption of a Fritz!DECT 200 plug',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::smarthome::device::consumption',
|
||||
spec => 'smart-home-device-consumption',
|
||||
alias => undef,
|
||||
help => 'Show the cumulated power consumption of a Fritz!DECT 200 plug',
|
||||
);
|
||||
$plugin->add_mode(
|
||||
internal => 'device::smarthome::device::temperature',
|
||||
spec => 'smart-home-device-temperature',
|
||||
alias => undef,
|
||||
help => 'Show the temperature measured by a Fritz! compatible device',
|
||||
);
|
||||
$plugin->add_default_modes();
|
||||
$plugin->add_snmp_modes();
|
||||
$plugin->add_snmp_args();
|
||||
$plugin->add_default_args();
|
||||
$plugin->mod_arg("name",
|
||||
help => "--name
|
||||
The name of an interface (ifDescr) or pool or ...",
|
||||
);
|
||||
$plugin->add_arg(
|
||||
spec => 'alias=s',
|
||||
help => "--alias
|
||||
The alias name of a 64bit-interface (ifAlias)",
|
||||
required => 0,
|
||||
);
|
||||
$plugin->add_arg(
|
||||
spec => 'ifspeedin=i',
|
||||
help => "--ifspeedin
|
||||
Override the ifspeed oid of an interface (only inbound)",
|
||||
required => 0,
|
||||
);
|
||||
$plugin->add_arg(
|
||||
spec => 'ifspeedout=i',
|
||||
help => "--ifspeedout
|
||||
Override the ifspeed oid of an interface (only outbound)",
|
||||
required => 0,
|
||||
);
|
||||
$plugin->add_arg(
|
||||
spec => 'ifspeed=i',
|
||||
help => "--ifspeed
|
||||
Override the ifspeed oid of an interface",
|
||||
required => 0,
|
||||
);
|
||||
$plugin->add_arg(
|
||||
spec => 'role=s',
|
||||
help => "--role
|
||||
The role of this device in a hsrp group (active/standby/listen)",
|
||||
required => 0,
|
||||
);
|
||||
$plugin->add_arg(
|
||||
spec => 'nosensors',
|
||||
help => "--nosensors
|
||||
Skip tables with voltage/current sensors (Nexus)",
|
||||
required => 0,
|
||||
hidden => 1,
|
||||
);
|
||||
|
||||
$plugin->getopts();
|
||||
$plugin->classify();
|
||||
$plugin->validate_args();
|
||||
|
||||
if (! $plugin->check_messages()) {
|
||||
$plugin->init();
|
||||
if (! $plugin->check_messages()) {
|
||||
$plugin->add_ok($plugin->get_summary())
|
||||
if $plugin->get_summary();
|
||||
$plugin->add_ok($plugin->get_extendedinfo(" "))
|
||||
if $plugin->get_extendedinfo();
|
||||
}
|
||||
} elsif ($plugin->opts->snmpwalk && $plugin->opts->offline) {
|
||||
;
|
||||
} else {
|
||||
;
|
||||
}
|
||||
my ($code, $message) = $plugin->opts->multiline ?
|
||||
$plugin->check_messages(join => "\n", join_all => ', ') :
|
||||
$plugin->check_messages(join => ', ', join_all => ', ');
|
||||
$message .= sprintf "\n%s\n", $plugin->get_info("\n")
|
||||
if $plugin->opts->verbose >= 1;
|
||||
|
||||
$plugin->nagios_exit($code, $message);
|
|
@ -1,3 +1,114 @@
|
|||
* 2024-01-05 11.2.4
|
||||
add mode ha-status for Palo Alto
|
||||
* 2023-12-16 11.2.3
|
||||
add perfdata for the mode interface-nat-rejects
|
||||
* 2023-12-16 11.2.2.1
|
||||
fix Makefile.am and git add the cisco and arista pm files which i had forgotten
|
||||
* 2023-11-30 11.2.2
|
||||
add mode interface-errdisabled (Cisco and Arista only)
|
||||
* 2023-11-15 11.2.1.2
|
||||
require, not use Net::Ping for F5 checks
|
||||
* 2023-10-27 11.2.1.1
|
||||
drecksmacoctetbinaerschlonz
|
||||
* 2023-10-27 11.2.1
|
||||
add mode list-arp-cache
|
||||
* 2023-10-06 11.2.0.4
|
||||
PR #324, detect Ivanti devices (formerly identifying themselves as Pulse Secure). Thx c-kr
|
||||
* 2023-09-29 11.2.0.3
|
||||
show vlans only on demand, --report short+vlan
|
||||
* 2023-09-15 11.2.0.2
|
||||
more runtime reduction for huawei, cpu and mem
|
||||
* 2023-09-15 11.2.0.1
|
||||
suppress output of empty vlans
|
||||
* 2023-09-15 11.2
|
||||
cache huawei entities to avoid hitting the device's snmp rate limit
|
||||
cache vlan configs
|
||||
* 2023-09-14 11.1
|
||||
show vlans with interface-status
|
||||
* 2023-07-27 11.0.1.1
|
||||
C9800 fix
|
||||
PR #318 from lgmu, typo in --lookup vs. --lookback
|
||||
* 2023-07-27 11.0.1
|
||||
support new C9800 wlan controller
|
||||
* 2023-07-25 11.0
|
||||
new structure suitble for epn
|
||||
* 2023-07-25 10.13.1
|
||||
reduce amount of data in cisco fru
|
||||
* 2023-07-10 10.13.0.1
|
||||
bugfix in traffic thresholds, do not use warning/critical def. thresholds
|
||||
* 2023-07-10 10.13
|
||||
implement traffic thresholds for interface-usage, correctly calc the less-than perfdata thresholds.
|
||||
* 2023-06-12 10.12.1.8
|
||||
reduce runtime for HOST-RESOURCES-MIB disk and device tables
|
||||
* 2023-06-12 10.12.1.7
|
||||
don't walk cefcFRUPowerSupplyGroupTable, it's unused anyway
|
||||
* 2023-05-28 10.12.1.6
|
||||
PR 310/311 for Fortigte HW
|
||||
* 2023-05-12 10.12.1.5
|
||||
bugfix in bluecat productname detection
|
||||
update glplugin (another epn fix, ::pluginname, ::plugin)
|
||||
* 2023-05-11 10.12.1.4
|
||||
update glplugin (another epn fix)
|
||||
* 2023-05-04 10.12.1.3
|
||||
bugfix in Huawei Wlan Controller (just a perl warning, not serious)
|
||||
these recent perl warnings appeared after i heavily used the
|
||||
embedded perl feature of mod-gearman. it is much more strict than
|
||||
running the plugin as a standalone process)
|
||||
* 2023-05-02 10.12.1.2
|
||||
bugfix in Pulse Secure (just a perl warning, not serious)
|
||||
* 2023-04-21 10.12.1.1
|
||||
bugfix in Huawei bgp modes (just a perl warning, not serious)
|
||||
* 2023-04-20 10.12.1
|
||||
add a cluster-check for cisco sdwan
|
||||
* 2023-04-20 10.12
|
||||
reduced runtime and amount of transferred data for bgp-related checks
|
||||
* 2023-04-03 10.11.0.2
|
||||
reduce runtime in Huwaei accesspoint modes
|
||||
* 2023-03-29 10.11.0.1
|
||||
bugfix in Huawei hardware-health. Discard temperatures of 2147483647 deg.
|
||||
* 2023-03-28 10.11
|
||||
improve Huawei hardware-health
|
||||
* 2023-03-20 10.10
|
||||
add filters to sdwan-check (name=dstip,name2=localcolor)
|
||||
* 2023-03-10 10.9.1.3
|
||||
bugfix in Cisco Envmon notfunctioning
|
||||
* 2023-03-08 10.9.1.2
|
||||
bugfix again, exists plus defined
|
||||
* 2023-03-08 10.9.1.1
|
||||
bugfix in CISCO-ENVMON-MIB temperature (catch "notPresent")
|
||||
* 2023-02-23 10.9.1
|
||||
bugfix in Checkpoint Management-Status
|
||||
* 2023-02-23 10.9
|
||||
bugfix in Versa Peersubsystem
|
||||
prepare some cisco sdwan stuff
|
||||
* 2023-02-20 10.8.0.3
|
||||
tweak huawei Entity-Table snmp parameters
|
||||
* 2023-02-03 10.8.0.2
|
||||
force interface-vlan-count-macs to cache vlans
|
||||
* 2023-02-03 10.8.0.1
|
||||
fix an undef in interface-vlan-count-macs
|
||||
* 2023-02-03 10.8
|
||||
add mode interface-vlan-count-macs
|
||||
* 2023-01-19 10.7.1
|
||||
tune snmp maxreps for bgp
|
||||
* 2023-01-19 10.7
|
||||
rewrite detection of Juniper
|
||||
* 2023-01-11 10.6.1
|
||||
pull request 304 improves ios hardware checks (thanks dhoffend)
|
||||
* 2023-01-10 10.6
|
||||
add support for Viptela
|
||||
* 2022-12-16 10.5.1
|
||||
bugfix in Cisco WLC, skip unused mobile stations
|
||||
* 2022-10-09 10.5
|
||||
add a temporary check for Cisco Viptela SDWAN (not for public use yet, sorry)
|
||||
* 2022-10-08 10.4
|
||||
add Huawei wlan controller (not finished yet)
|
||||
* 2022-10-08 10.3.0.3
|
||||
improve arista power supply/cord status checks
|
||||
* 2022-09-27 10.3.0.2
|
||||
fix an uninitialized value in Arista HW check
|
||||
* 2022-09-20 10.3.0.1
|
||||
fix issue #231, thanks log1-c
|
||||
* 2022-07-29 10.3
|
||||
add mode check-rtt (cisco-rttmon-mib slas)
|
||||
* 2022-07-21 10.2.1
|
|
@ -22,14 +22,14 @@ eval {
|
|||
$Data::Dumper::Sparseseen = 1;
|
||||
};
|
||||
our $AUTOLOAD;
|
||||
*VERSION = \'5.1.1';
|
||||
*VERSION = \'5.18';
|
||||
|
||||
use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 };
|
||||
|
||||
{
|
||||
our $mode = undef;
|
||||
our $plugin = undef;
|
||||
our $pluginname = basename($ENV{'NAGIOS_PLUGIN'} || $0);
|
||||
our $pluginname = undef;
|
||||
our $blacklist = undef;
|
||||
our $info = [];
|
||||
our $extendedinfo = [];
|
||||
|
@ -48,6 +48,8 @@ sub new {
|
|||
if ! grep /BEGIN/, keys %Monitoring::GLPlugin::Item::;
|
||||
require Monitoring::GLPlugin::TableItem
|
||||
if ! grep /BEGIN/, keys %Monitoring::GLPlugin::TableItem::;
|
||||
$params{plugin} ||= basename($ENV{'NAGIOS_PLUGIN'} || $0);
|
||||
$Monitoring::GLPlugin::pluginname = $params{plugin};
|
||||
$Monitoring::GLPlugin::plugin = Monitoring::GLPlugin::Commandline->new(%params);
|
||||
return $self;
|
||||
}
|
||||
|
@ -1062,6 +1064,25 @@ sub get_level {
|
|||
return $code;
|
||||
}
|
||||
|
||||
sub worst_level {
|
||||
my ($self, @levels) = @_;
|
||||
my $level = 0;
|
||||
foreach (@levels) {
|
||||
if ($_ == 2) {
|
||||
$level = 2;
|
||||
} elsif ($_ == 1) {
|
||||
if ($level == 0 || $level == 3) {
|
||||
$level = 1;
|
||||
}
|
||||
} elsif ($_ == 3) {
|
||||
if ($level == 0) {
|
||||
$level = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $level;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# blacklisting
|
||||
#
|
||||
|
@ -1089,6 +1110,7 @@ sub is_blacklisted {
|
|||
}
|
||||
# FAN:459,203/TEMP:102229/ENVSUBSYSTEM
|
||||
# FAN_459,FAN_203,TEMP_102229,ENVSUBSYSTEM
|
||||
# ALERT:(The Storage Center is not able to access Tiebreaker)/TEMP:102229
|
||||
if ($self->opts->blacklist =~ /_/) {
|
||||
foreach my $bl_item (split(/,/, $self->opts->blacklist)) {
|
||||
if ($bl_item eq $self->internal_name()) {
|
||||
|
@ -1105,6 +1127,14 @@ sub is_blacklisted {
|
|||
$self->{blacklisted} = 1;
|
||||
}
|
||||
}
|
||||
} elsif ($bl_items =~ /^(\w+):\((.*)\)$/ and $self->can("internal_content")) {
|
||||
my $bl_type = $1;
|
||||
my $bl_pattern = qr/$2/;
|
||||
if ($self->internal_name() =~ /^${bl_type}_/) {
|
||||
if ($self->internal_content() =~ /$bl_pattern/) {
|
||||
$self->{blacklisted} = 1;
|
||||
}
|
||||
}
|
||||
} elsif ($bl_items =~ /^(\w+)$/) {
|
||||
if ($bl_items eq $self->internal_name()) {
|
||||
$self->{blacklisted} = 1;
|
||||
|
@ -1727,7 +1757,7 @@ sub AUTOLOAD {
|
|||
$self->{components}->{$subsystem}->check();
|
||||
$self->{components}->{$subsystem}->dump()
|
||||
if $self->opts->verbose >= 2;
|
||||
} elsif ($AUTOLOAD =~ /^.*::(status_code|check_messages|nagios_exit|html_string|perfdata_string|selected_perfdata|check_thresholds|get_thresholds|opts|pandora_string|strequal)$/) {
|
||||
} elsif ($AUTOLOAD =~ /^.*::(status_code|check_messages|nagios_exit|html_string|perfdata_string|selected_perfdata|check_thresholds|get_thresholds|mod_threshold|opts|pandora_string|strequal)$/) {
|
||||
return $Monitoring::GLPlugin::plugin->$1(@params);
|
||||
} elsif ($AUTOLOAD =~ /^.*::(reduce_messages|reduce_messages_short|clear_messages|suppress_messages|add_html|add_perfdata|override_opt|create_opt|set_thresholds|force_thresholds|add_pandora)$/) {
|
||||
$Monitoring::GLPlugin::plugin->$1(@params);
|
|
@ -36,9 +36,9 @@ sub new {
|
|||
$self->{$_} = $params{$_};
|
||||
}
|
||||
bless $self, $class;
|
||||
$self->{plugin} ||= $Monitoring::GLPlugin::pluginname;
|
||||
$self->{name} = $self->{plugin};
|
||||
$Monitoring::GLPlugin::plugin = $self;
|
||||
|
||||
$self
|
||||
}
|
||||
|
||||
sub AUTOLOAD {
|
||||
|
@ -599,6 +599,34 @@ sub check_thresholds {
|
|||
return $level;
|
||||
}
|
||||
|
||||
sub mod_threshold {
|
||||
# this method can be used to modify/multiply thresholds or upper and lower
|
||||
# limit of a threshold range. For example, we have thresholds for an
|
||||
# interface usage together with the maximum bandwidth and want to
|
||||
# create thresholds for bitrates.
|
||||
my ($self, $threshold, $func) = @_;
|
||||
if (! $threshold) {
|
||||
return "";
|
||||
} elsif ($threshold =~ /^([-+]?[0-9]*\.?[0-9]+)$/) {
|
||||
# 10
|
||||
return &{$func}($1);
|
||||
} elsif ($threshold =~ /^([-+]?[0-9]*\.?[0-9]+):$/) {
|
||||
# 10:
|
||||
return &{$func}($1).":";
|
||||
} elsif ($threshold =~ /^~:([-+]?[0-9]*\.?[0-9]+)$/) {
|
||||
# ~:10
|
||||
return "~:".&{$func}($1);
|
||||
} elsif ($threshold =~ /^([-+]?[0-9]*\.?[0-9]+):([-+]?[0-9]*\.?[0-9]+)$/) {
|
||||
# 10:20
|
||||
return &{$func}($1).":".&{$func}($2);
|
||||
} elsif ($threshold =~ /^@([-+]?[0-9]*\.?[0-9]+):([-+]?[0-9]*\.?[0-9]+)$/) {
|
||||
# @10:20
|
||||
return "@".&{$func}($1).":".&{$func}($2);
|
||||
} else {
|
||||
return $threshold."scheise";
|
||||
}
|
||||
}
|
||||
|
||||
sub strequal {
|
||||
my($self, $str1, $str2) = @_;
|
||||
return 1 if ! defined $str1 && ! defined $str2;
|
|
@ -4,7 +4,7 @@ use File::Basename;
|
|||
use Getopt::Long qw(:config no_ignore_case bundling);
|
||||
|
||||
# Standard defaults
|
||||
my %DEFAULT = (
|
||||
our %DEFAULT = (
|
||||
timeout => 15,
|
||||
verbose => 0,
|
||||
license =>
|
||||
|
@ -13,7 +13,7 @@ It may be used, redistributed and/or modified under the terms of the GNU
|
|||
General Public Licence (see http://www.fsf.org/licensing/licenses/gpl.txt).",
|
||||
);
|
||||
# Standard arguments
|
||||
my @ARGS = ({
|
||||
our @ARGS = ({
|
||||
spec => 'usage|?',
|
||||
help => "-?, --usage\n Print usage information",
|
||||
}, {
|
||||
|
@ -36,7 +36,7 @@ my @ARGS = ({
|
|||
},
|
||||
);
|
||||
# Standard arguments we traditionally display last in the help output
|
||||
my %DEFER_ARGS = map { $_ => 1 } qw(timeout verbose);
|
||||
our %DEFER_ARGS = map { $_ => 1 } qw(timeout verbose);
|
||||
|
||||
sub _init {
|
||||
my ($self, %params) = @_;
|
||||
|
@ -45,7 +45,7 @@ sub _init {
|
|||
usage => 1,
|
||||
version => 0,
|
||||
url => 0,
|
||||
plugin => { default => $Monitoring::GLPlugin::pluginname },
|
||||
plugin => undef,
|
||||
blurb => 0,
|
||||
extra => 0,
|
||||
'extra-opts' => 0,
|
||||
|
@ -64,9 +64,8 @@ sub _init {
|
|||
if ref ($self->{_attr}->{$_}) eq 'HASH' &&
|
||||
exists $self->{_attr}->{$_}->{default};
|
||||
}
|
||||
chomp $self->{_attr}->{$_} if exists $self->{_attr}->{$_};
|
||||
}
|
||||
# Chomp _attr values
|
||||
chomp foreach values %{$self->{_attr}};
|
||||
|
||||
# Setup initial args list
|
||||
$self->{_args} = [ grep { exists $_->{spec} } @ARGS ];
|
|
@ -393,7 +393,7 @@ sub init {
|
|||
push(@credentials, "-l authPriv");
|
||||
} elsif (grep(/-A/, @credentials)) {
|
||||
push(@credentials, "-l authNoPriv");
|
||||
} else {
|
||||
} elsif (! grep(/-c/, @credentials)) {
|
||||
push(@credentials, "-l noAuthNoPriv");
|
||||
}
|
||||
my $credentials = join(" ", @credentials);
|
||||
|
@ -892,6 +892,27 @@ sub init {
|
|||
}
|
||||
}
|
||||
}
|
||||
} elsif ($sym =~ /Table/ and exists $Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{$mib}->{$sym =~ s/Table/Entry/gr}) {
|
||||
# fuer die Pappenheimer von QNAP, die nennen ihren Krempel
|
||||
# kakaTable und kakaTableEntry
|
||||
# oder noch schlauer: systemIfTable und ifEntry
|
||||
if (my @table = $self->get_snmp_table_objects($mib, $sym)) {
|
||||
my $oid = $Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{$mib}->{$sym};
|
||||
$confirmed->{$oid} = sprintf '%s::%s', $mib, $sym;
|
||||
$self->add_rawdata($oid, '--------------------');
|
||||
foreach my $line (@table) {
|
||||
if ($line->{flat_indices}) {
|
||||
foreach my $column (grep !/(flat_indices)|(indices)/, keys %{$line}) {
|
||||
my $oid = $Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{$mib}->{$column};
|
||||
if (exists $unknowns->{$oid.'.'.$line->{flat_indices}}) {
|
||||
$confirmed->{$oid.'.'.$line->{flat_indices}} =
|
||||
sprintf '%s::%s.%s = %s', $mib, $column, $line->{flat_indices}, $line->{$column};
|
||||
delete $unknowns->{$oid.'.'.$line->{flat_indices}};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -998,6 +1019,11 @@ sub check_snmp_and_model {
|
|||
delete $response->{$oid};
|
||||
}
|
||||
}
|
||||
# Achtung!! Der schnippelt von einem Hex-STRING, der mit 20 aufhoert,
|
||||
# das letzte Byte weg. Das muss beruecksichtigt werden, wenn man
|
||||
# spaeter MAC-Adressen o.ae. zueueckrechnet.
|
||||
# } elsif ($self->{hwWlanRadioMac} && unpack("H12", $self->{hwWlanRadioMac}." ") =~ /(\w{2})(\w{2})(\w{2})(\w{2})(\w{2})(\w{2})/) {
|
||||
# siehe Classes::Huawei::Component::WlanSubsystem::Radio
|
||||
map { $response->{$_} =~ s/^\s+//; $response->{$_} =~ s/\s+$//; }
|
||||
keys %$response;
|
||||
$self->set_rawdata($response);
|
||||
|
@ -1181,7 +1207,8 @@ sub establish_snmp_session {
|
|||
*STDERR = *ERR;
|
||||
my ($session, $error) = Net::SNMP->session(%params);
|
||||
*STDERR = *SAVEERR;
|
||||
if ($stderrvar && $error && $error =~ /Time synchronization failed/) {
|
||||
if (($stderrvar && $error && $error =~ /Time synchronization failed/) ||
|
||||
($error && $error =~ /Received usmStatsUnknownEngineIDs.0 Report-PDU with value \d+ during synchronization/)) {
|
||||
# This is what you get when you have
|
||||
# - an APC ups with a buggy firmware.
|
||||
# - no chance to update it.
|
||||
|
@ -1287,7 +1314,7 @@ sub establish_snmp_secondary_session {
|
|||
sub reset_snmp_max_msg_size {
|
||||
my ($self) = @_;
|
||||
$self->debug(sprintf "reset snmp_max_msg_size to %s",
|
||||
$Monitoring::GLPlugin::SNMP::max_msg_size);
|
||||
$Monitoring::GLPlugin::SNMP::max_msg_size) if $Monitoring::GLPlugin::SNMP::session;
|
||||
$Monitoring::GLPlugin::SNMP::session->max_msg_size($Monitoring::GLPlugin::SNMP::max_msg_size) if $Monitoring::GLPlugin::SNMP::session;
|
||||
}
|
||||
|
||||
|
@ -1303,7 +1330,7 @@ sub bulk_baeh_reset {
|
|||
my ($self, $maxrepetitions) = @_;
|
||||
$self->reset_snmp_max_msg_size();
|
||||
$Monitoring::GLPlugin::SNMP::maxrepetitions =
|
||||
int($Monitoring::GLPlugin::SNMP::session->max_msg_size() * 0.017);
|
||||
int($Monitoring::GLPlugin::SNMP::session->max_msg_size() * 0.017) if $Monitoring::GLPlugin::SNMP::session;
|
||||
}
|
||||
|
||||
sub bulk_is_baeh {
|
||||
|
@ -1337,7 +1364,11 @@ sub no_such_mode {
|
|||
$self->init();
|
||||
} else {
|
||||
eval {
|
||||
bless $self, "Classes::Generic";
|
||||
if (exists $self->{generic_class}) {
|
||||
bless $self, $self->{generic_class};
|
||||
} else {
|
||||
bless $self, "Classes::Generic";
|
||||
}
|
||||
$self->init();
|
||||
};
|
||||
if ($@) {
|
||||
|
@ -1646,7 +1677,15 @@ sub update_entry_cache {
|
|||
$self->opts->hostname, $self->opts->mode, $mib, $table);
|
||||
$self->{$cache} = {};
|
||||
foreach my $entry ($self->get_snmp_table_objects($mib, $table, undef, $key_attrs)) {
|
||||
my $key = join('#', map { $entry->{$_} } @{$key_attrs});
|
||||
# HUAWEI-L2MAM-MIB/hwMacVlanStatisticsTable hat hwMacVlanStatisticsVlanId, welches aber nicht
|
||||
# existiert. Id ist nichts anderes als der Index. sub finish() wuerde das Attribut
|
||||
# anlegen, aber das ist hier noch nicht gelaufen. $entry->{$_} ist daher undef
|
||||
# bei key_attrs==hwMacVlanStatisticsVlanId. Aber was noch geht:
|
||||
# Leerstring, dann heißt es ""-//-index => index statt blubb-//-index => index
|
||||
# Weil hwMacVlanStatisticsVlanId kein Text ist, sondern der Index, wird das Holen
|
||||
# aus dem Cache funktionieren, weil wenn --name numerisch ist, wird mit dem Index
|
||||
# aus ""-//-index verglichen und die leere Description ist Wurst.
|
||||
my $key = join('#', map { exists $entry->{$_} ? $entry->{$_} : "" } @{$key_attrs});
|
||||
my $hash = $key . '-//-' . join('.', @{$entry->{indices}});
|
||||
$self->{$cache}->{$hash} = $entry->{indices};
|
||||
}
|
||||
|
@ -1745,6 +1784,47 @@ sub get_snmp_tables {
|
|||
}
|
||||
}
|
||||
|
||||
sub get_snmp_tables_cached {
|
||||
my ($self, $mib, $infos, $retention) = @_;
|
||||
$retention ||= 3600;
|
||||
my $from_file = {};
|
||||
foreach my $info (@{$infos}) {
|
||||
my $table = $info->[1];
|
||||
my $statefile = $self->create_entry_cache_file($mib, $table, "tablecache");
|
||||
my @fileinfo = stat($statefile);
|
||||
if (@fileinfo and time - $fileinfo[9] < $retention) {
|
||||
# exist und recent
|
||||
my $cache = sprintf "%s_%s_%s_cache", $mib, $table, "tablecache";
|
||||
$self->load_cache($mib, $table, ["tablecache"]);
|
||||
if (exists $self->{$cache} and defined $self->{$cache} and
|
||||
((ref($self->{$cache}) eq "HASH" and keys %{$self->{$cache}}) or
|
||||
(ref($self->{$cache}) eq "ARRAY" and @{$self->{$cache}}))) {
|
||||
$Monitoring::GLPlugin::SNMP::tablecache->{$mib}->{$table} = $self->{$cache};
|
||||
$from_file->{$cache} = 1 if exists $self->{$cache};
|
||||
$self->debug(sprintf "get_snmp_tables_cached loaded file for %s %s", $mib, $table);
|
||||
} else {
|
||||
$self->debug(sprintf "get_snmp_tables_cached loaded empty file for %s %s", $mib, $table);
|
||||
}
|
||||
delete $self->{$cache} if exists $self->{$cache};
|
||||
} else {
|
||||
$self->debug(sprintf "get_snmp_tables_cached has no (or outdated) file for %s %s", $mib, $table);
|
||||
}
|
||||
}
|
||||
$self->get_snmp_tables($mib, $infos);
|
||||
foreach my $info (@{$infos}) {
|
||||
my $table = $info->[1];
|
||||
if (exists $Monitoring::GLPlugin::SNMP::tablecache->{$mib} and
|
||||
exists $Monitoring::GLPlugin::SNMP::tablecache->{$mib}->{$table}) {
|
||||
my $cache = sprintf "%s_%s_%s_cache", $mib, $table, "tablecache";
|
||||
next if exists $from_file->{$cache};
|
||||
$self->{$cache} =
|
||||
$Monitoring::GLPlugin::SNMP::tablecache->{$mib}->{$table};
|
||||
$self->save_cache($mib, $table, ["tablecache"]);
|
||||
delete $self->{$cache};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub merge_tables {
|
||||
my ($self, $into, @from) = @_;
|
||||
my $into_indices = {};
|
||||
|
@ -2495,6 +2575,14 @@ sub get_table {
|
|||
$params{'-maxrepetitions'});
|
||||
$fallback = 1;
|
||||
}
|
||||
} elsif ($Monitoring::GLPlugin::SNMP::session->error() =~ /Received tooBig/i) {
|
||||
# some agents can not handle big loads
|
||||
if ($params{'-maxrepetitions'}) {
|
||||
$params{'-maxrepetitions'} = int($params{'-maxrepetitions'} / 4) + 1;
|
||||
$self->debug(sprintf "toobig reduce maxrepetitions to %d",
|
||||
$params{'-maxrepetitions'});
|
||||
$fallback = 1;
|
||||
}
|
||||
}
|
||||
if ($fallback) {
|
||||
$self->debug("get_table error: try fallback");
|
||||
|
@ -3040,6 +3128,86 @@ sub get_cache_indices {
|
|||
return map { join('.', ref($_) eq "ARRAY" ? @{$_} : $_) } @indices;
|
||||
}
|
||||
|
||||
sub get_cache_indices_by_value {
|
||||
# we have a table like
|
||||
# [TABLEITEM_40 in dot1dBasePortTable]
|
||||
# dot1dBasePort: 40 (-> index in dot1qPortVlanTable)
|
||||
# dot1dBasePortCircuit: .0.0
|
||||
# dot1dBasePortIfIndex: 46 -> ifIndex in ifTable
|
||||
# $self->update_entry_cache(0, 'BRIDGE-MIB', 'dot1dBasePortTable', ['dot1dBasePort', "dot1dBasePortIfIndex"]);
|
||||
# creates entries like
|
||||
# '40#46-//-40' => [
|
||||
# '40'
|
||||
# ],
|
||||
# get_cache_indices only works with --name
|
||||
# '40#46-//-40' will be split into descr=40#46 and index=40
|
||||
# descr would then be compared to --name and the value (which is [indices])
|
||||
# be added to the return list. (the index 40 can also be a flat_indices)
|
||||
# we can't use dot1dBasePortIfIndex as the key_attr, as it is not unique
|
||||
# i ho an dot1dBasePortIfIndex und mou aussafina, wos fir index das aaf
|
||||
# dem hizoing.
|
||||
# zammbaut ho i dem zaech mied ['dot1dBasePort', "dot1dBasePortIfIndex"]
|
||||
# also woas i das descr vo dene zammgsetzt is und da wecha wos is.
|
||||
# na moue sched get_cache_indices_by_value('BRIDGE-MIB', 'dot1dBasePortTable', ['dot1dBasePort', "dot1dBasePortIfIndex"], "dot1dBasePortIfIndex", $pifidx)
|
||||
# aafruafa.
|
||||
# Liefert flache zruck.
|
||||
my ($self, $mib, $table, $key_attr, $cmp_attr, $cmp_value) = @_;
|
||||
if (ref($key_attr) ne "ARRAY") {
|
||||
$key_attr = [$key_attr];
|
||||
}
|
||||
if (ref($cmp_value) ne "ARRAY") {
|
||||
$cmp_value = [$cmp_value];
|
||||
}
|
||||
my $cache = sprintf "%s_%s_%s_cache",
|
||||
$mib, $table, join('#', @{$key_attr});
|
||||
my @indices = ();
|
||||
foreach my $key (keys %{$self->{$cache}}) {
|
||||
my ($descr, $index) = split('-//-', $key, 2);
|
||||
# descr was join('#', map { exists $entry->{$_} ? $entry->{$_} : "" } @{$key_attrs});
|
||||
my @values = split(/#/, $descr);
|
||||
my %cmp = map { $key_attr->[$_] => $values[$_] } 0 .. $#values;
|
||||
for my $cmp_val (@{$cmp_value}) {
|
||||
if ($cmp{$cmp_attr} && $cmp{$cmp_attr} eq $cmp_val) {
|
||||
push(@indices, $index);
|
||||
}
|
||||
}
|
||||
}
|
||||
return @indices;
|
||||
}
|
||||
|
||||
sub get_cache_values_by_indices {
|
||||
my ($self, $mib, $table, $key_attr, $indices) = @_;
|
||||
# -> indices is an array of flat_indices
|
||||
# records are
|
||||
# val1#val#2#flat_index-//-flat_index => [indices]
|
||||
# val1#val2 represent join(#, @key_attr)
|
||||
if (ref($key_attr) ne "ARRAY") {
|
||||
$key_attr = [$key_attr];
|
||||
}
|
||||
if (ref($indices) ne "ARRAY") {
|
||||
$indices = [$indices];
|
||||
}
|
||||
my $cache = sprintf "%s_%s_%s_cache",
|
||||
$mib, $table, join('#', @{$key_attr});
|
||||
my @results = ();
|
||||
foreach my $key (keys %{$self->{$cache}}) {
|
||||
my ($descr, $index) = split('-//-', $key, 2);
|
||||
my @values = split('#', $descr);
|
||||
foreach my $flat_indices (@{$indices}) {
|
||||
if ($flat_indices eq $index) {
|
||||
my $element = {
|
||||
flat_indices => $flat_indices,
|
||||
};
|
||||
foreach my $descr_idx (0 .. $#values) {
|
||||
$element->{$key_attr->[$descr_idx]} = $values[$descr_idx];
|
||||
}
|
||||
push(@results, $element);
|
||||
}
|
||||
}
|
||||
}
|
||||
return @results;
|
||||
}
|
||||
|
||||
sub get_entities {
|
||||
my ($self, $class, $filter) = @_;
|
||||
foreach ($self->get_sub_table('ENTITY-MIB', [
|
|
@ -0,0 +1,47 @@
|
|||
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARISTAIFMIB;
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARISTA-IF-MIB'} = {
|
||||
url => '',
|
||||
name => 'ARISTA-IF-MIB',
|
||||
};
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARISTA-IF-MIB'} =
|
||||
'1.3.6.1.4.1.30065.3.15';
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARISTA-IF-MIB'} = {
|
||||
'aristaIfMIB' => '1.3.6.1.4.1.30065.3.15',
|
||||
'aristaIf' => '1.3.6.1.4.1.30065.3.15.1',
|
||||
'aristaIfTable' => '1.3.6.1.4.1.30065.3.15.1.1',
|
||||
'aristaIfEntry' => '1.3.6.1.4.1.30065.3.15.1.1.1',
|
||||
'aristaIfCounterLastUpdated' => '1.3.6.1.4.1.30065.3.15.1.1.1.1',
|
||||
#'aristaIfCounterLastUpdatedDefinition' => 'SNMPv2-SMI::TimeTicks',
|
||||
'aristaIfRateInterval' => '1.3.6.1.4.1.30065.3.15.1.1.1.2',
|
||||
#'aristaIfRateIntervalDefinition' => 'SNMPv2-SMI::TimeTicks',
|
||||
'aristaIfInPktRate' => '1.3.6.1.4.1.30065.3.15.1.1.1.3',
|
||||
#'aristaIfInPktRateDefinition' => 'SNMPv2-SMI::Gauge32',
|
||||
'aristaIfOutPktRate' => '1.3.6.1.4.1.30065.3.15.1.1.1.4',
|
||||
#'aristaIfOutPktRateDefinition' => 'SNMPv2-SMI::Gauge32',
|
||||
'aristaIfInOctetRate' => '1.3.6.1.4.1.30065.3.15.1.1.1.5',
|
||||
#'aristaIfInOctetRateDefinition' => 'HCNUM-TC::CounterBasedGauge64',
|
||||
'aristaIfOutOctetRate' => '1.3.6.1.4.1.30065.3.15.1.1.1.6',
|
||||
#'aristaIfOutOctetRateDefinition' => 'HCNUM-TC::CounterBasedGauge64',
|
||||
'aristaIfRatesLastUpdated' => '1.3.6.1.4.1.30065.3.15.1.1.1.7',
|
||||
#'aristaIfRatesLastUpdatedDefinition' => 'SNMPv2-SMI::TimeTicks',
|
||||
'aristaIfOperStatusChanges' => '1.3.6.1.4.1.30065.3.15.1.1.1.8',
|
||||
#'aristaIfOperStatusChangesDefinition' => 'SNMPv2-SMI::Counter32',
|
||||
'aristaIfInAclDrops' => '1.3.6.1.4.1.30065.3.15.1.1.1.9',
|
||||
#'aristaIfInAclDropsDefinition' => 'SNMPv2-SMI::Counter32',
|
||||
'aristaIfErrDisabledReason' => '1.3.6.1.4.1.30065.3.15.1.1.1.10',
|
||||
'aristaIfDot1xEapolPortDrops' => '1.3.6.1.4.1.30065.3.15.1.1.1.11',
|
||||
#'aristaIfDot1xEapolPortDropsDefinition' => 'SNMPv2-SMI::Counter32',
|
||||
'aristaIfDot1xEapolHostDrops' => '1.3.6.1.4.1.30065.3.15.1.1.1.12',
|
||||
#'aristaIfDot1xEapolHostDropsDefinition' => 'SNMPv2-SMI::Counter32',
|
||||
'aristaIfDot1xMbaHostDrops' => '1.3.6.1.4.1.30065.3.15.1.1.1.13',
|
||||
#'aristaIfDot1xMbaHostDropsDefinition' => 'SNMPv2-SMI::Counter32',
|
||||
'aristaIfConformance' => '1.3.6.1.4.1.30065.3.15.2',
|
||||
'aristaIfGroups' => '1.3.6.1.4.1.30065.3.15.2.1',
|
||||
'aristaIfCompliances' => '1.3.6.1.4.1.30065.3.15.2.2',
|
||||
};
|
||||
|
||||
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARISTA-IF-MIB'} = {
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue