check_nwc_health: Update to 11.2.4

This commit is contained in:
Jan Wagner 2024-03-08 13:02:22 +00:00
parent 713d3fe45b
commit cd031f5322
614 changed files with 18556 additions and 5514 deletions

View file

@ -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__

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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') } ],
]);
}

View file

@ -1,4 +0,0 @@
package Classes::BGP;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -1,4 +0,0 @@
package Classes::Bintec;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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;
}

View file

@ -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

View file

@ -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;
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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;
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -1,4 +0,0 @@
package Classes::ENTITYSENSORMIB;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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});
}

View file

@ -1,4 +0,0 @@
package Classes::FCEOS;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -1,4 +0,0 @@
package Classes::FCMGMT;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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");
}
}

View file

@ -1,4 +0,0 @@
package Classes::HSRP;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}
}

View file

@ -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

View file

@ -1,4 +0,0 @@
package Classes::IPFORWARDMIB;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -1,4 +0,0 @@
package Classes::IPMIB;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -1,4 +0,0 @@
package Classes::LMSENSORSMIB;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -1,3 +0,0 @@
package Classes::Lantronix;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -1,4 +0,0 @@
package Classes::RAPIDCITYMIB;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -1,4 +0,0 @@
package Classes::UPNP;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -1,3 +0,0 @@
package Classes::VRRPMIB;
our @ISA = qw(Classes::Device);
use strict;

View file

@ -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();
}
}

View file

@ -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 $@

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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;

View file

@ -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 ];

View file

@ -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', [

View file

@ -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