CISCO-5800-HEALTH-MON-MIB -- ***************************************************************** -- CISCO-5800-HEALTH-MON-MIB.my: CISCO Health Monitor MIB file -- -- August 1997 Mark Szczesniak / Ashadevaki Hegde -- -- Copyright (c) 1997-1998 by cisco Systems, Inc. -- All rights reserved. -- -- ***************************************************************** -- $Endlog$ -- CISCO-5800-HEALTH-MON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Gauge32, Integer32, IpAddress FROM SNMPv2-SMI DisplayString, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ciscoExperiment FROM CISCO-SMI; cisco5800HealthMonMIB MODULE-IDENTITY LAST-UPDATED "9708260000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO " Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-snmp@cisco.com" DESCRIPTION "This MIB provides a means to monitor the status of a system's health." ::= { ciscoExperiment 28 } cisco5800HealthMonObjects OBJECT IDENTIFIER ::= { cisco5800HealthMonMIB 1 } -- -- This mib gives you the status of the health monitoring subsystem -- running on the system controller. Health monitoring allows the user -- to configure three types of utilization on the system -- controller. Namely modem, trunk, and io-mem. When io-mem monitoring -- type is configured on the system controller, health moniotoring sets -- up the expressions, RMON alarms, RMON events on the known -- shelves. RMON alarm is asked to monitor the result from the set -- expression and if it's value exceeds the configured threshold value -- an event trap is sent to the system-controller. This trap is converted -- into the healthmon MIB format and sent to the management -- station. For the other two monitoring types, health monitor sets up -- the utilization calculation on the system controller based on the info -- available on this mib. -- -- Trunk Utilization = (ciscoHealthMonNumActiveDS0 * 100)/ -- (ciscoHealthMonNumTotalDS0) -- Modem Utilization = (ciscoHealthMonNumModemsInUse * 100)/ -- (ciscoHealthMonNumTotalModems) -- -- -- 1. ciscoHealthMonStatusTable - This has the status of the configured -- monitoring types. -- -- 2. ciscoHealthMonCountTable - This table keeps track of following -- info from each router shelf: -- -- o # T1/E1 lines up -- o # T1/E1 lines with operational status down and admin status up -- o # of Active DS0's (cpmActiveDS0 from CISCO-POP-MGMT-MIB.my) -- o # of Total DS0's (#of t1 - 1* 24) + 23 + (#of e1 * 30) -- o # of Installed modems -- (cmSystemInstalledModem from CISCO-MODEM-MGMT-MIB.my) -- o # of Inuse Modems(cmSystemModemsInUse from CISCO-MODEM-MGMT-MIB.my -- o # of Bad modems (cmSystemModemsUnavailable from CISCO-MODEM-MGMT-MIB.my) -- o # of IOmem free (IO-mem ciscoMemoryPoolUsed from CISCO-MEMORY-POOL-MIB.my) -- o # of IOmem used (IO-mem ciscoMemoryPoolFree from CISCO-MEMORY-POOL-MIB.my) -- o % CPU avgBusy5 (avgBusy5 from cisco-10-mib.my) -- o % Utilization of ifOutOctets of egress ports -- A port is considered as an egress port if it's ifSpeed > 1544000 -- % Utilization of ifOutOctets = (diff_total_ifOutoctets*100)/ -- (time * total_speed) -- o % Utilization of ifInOctets of egress ports -- -- % Utilization of ifInOctets = (diff_total_ifInOctets*100)/ -- (time * total_speed) -- -- The above values are collected from a single shelf. They are added -- together to get the total number in the nitro complex. -- Example: -- #T1 & E1 lines UP = (T1 & E1 Lines up on shelf#1) + -- (T1 & E1 Lines up on shelf#2) + -- : -- : -- (T1 & E1 Lines up on shelf#n) -- -- NOTE: -- Monitored shelf - A shelf is discovered by the system controller using -- the Shelf Discovery Protocol ciscoHealthMonNumShelves OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of shelves monitored by the health monitor." ::= { cisco5800HealthMonObjects 3 } ciscoHealthMonNumT1E1LinesUp OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the total number of active T1/E1 lines across all the monitored shelves." ::= { cisco5800HealthMonObjects 4 } ciscoHealthMonNumT1E1LinesDown OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the total number of inactive T1/E1 lines across all the monitored shelves." ::= { cisco5800HealthMonObjects 5 } ciscoHealthMonNumActiveDS0 OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of DS0's in use across all the monitored shelves." ::= { cisco5800HealthMonObjects 6 } ciscoHealthMonNumTotalDS0 OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of DS0's from all the monitored shelves." ::= { cisco5800HealthMonObjects 7 } ciscoHealthMonNumTotalModems OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the total number of ciscoHealthMonTotalModems from all the monitored shelves." ::= { cisco5800HealthMonObjects 8 } ciscoHealthMonNumModemsInUse OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the total number of ciscoHealthMonModemsInUse from all the monitored shelves ." ::= { cisco5800HealthMonObjects 9 } ciscoHealthMonNumUnavailableModems OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the total number of ciscoHealthMonUnavailableModems from all the monitored shelves." ::= { cisco5800HealthMonObjects 10 } ciscoHealthMonStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF CiscoHealthMonStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of status maintained by the health monitor." ::= { cisco5800HealthMonObjects 1 } ciscoHealthMonStatusEntry OBJECT-TYPE SYNTAX CiscoHealthMonStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the status table, containing the information about the status of the health monitoring setup commands. Depending on the configured monitoring type these commands are setup on the shelf or on the system controller. Monitoring iomem is done on the shelf where as monitoring modem and trunk is done on system controller. ciscoHealthMonShelfId, ciscoHealthMonAddress doesn't exist for the modem and trunk monitoring types since they are done on the system controller. " INDEX { ciscoHealthMonStatusIndex, ciscoHealthMonStatusType } ::= { ciscoHealthMonStatusTable 1 } CiscoHealthMonStatusEntry ::= SEQUENCE { ciscoHealthMonStatusIndex Integer32, ciscoHealthMonStatusType Integer32 (1..3), ciscoHealthMonShelfId Integer32, ciscoHealthMonAddress IpAddress, ciscoHealthMonDescr DisplayString, ciscoHealthMonValue Gauge32, ciscoHealthMonThreshold Integer32 (1..100), ciscoHealthMonThresholdExceedCount Integer32 } ciscoHealthMonStatusIndex OBJECT-TYPE SYNTAX Integer32(0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index for indexing the ciscoHealthMonStatusTable. This index is for SNMP purposes only, and has no intrinsic meaning." ::= { ciscoHealthMonStatusEntry 1 } ciscoHealthMonStatusType OBJECT-TYPE SYNTAX Integer32 (1..3) MAX-ACCESS read-only STATUS current DESCRIPTION "Monitoring type modemUtil(1), trunkUtil(2), iomemUtil(3)" ::= { ciscoHealthMonStatusEntry 2 } ciscoHealthMonShelfId OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the shelf-id of the monitored shelf." ::= { ciscoHealthMonStatusEntry 3 } ciscoHealthMonAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This is the IP address of the monitored shelf." ::= { ciscoHealthMonStatusEntry 4 } ciscoHealthMonDescr OBJECT-TYPE SYNTAX DisplayString(SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "Textual description of the utilization type being monitored on a shelf. This description is a short textual label, suitable as a human-sensible identification for the rest of the information in the entry." ::= { ciscoHealthMonStatusEntry 5 } ciscoHealthMonValue OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current value for the monitoring type on a monitored shelf." ::= { ciscoHealthMonStatusEntry 6 } ciscoHealthMonThreshold OBJECT-TYPE SYNTAX Integer32 (1..100) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the monitoring threshold value configured through the command line. If the configured monitoring type is io-mem, rmon alarm on the shelf will use this value as the threshold for generating the event. Shelf will be asked to send this generated event trap to the system controller. Once the system controller receives this trap, trap will converted to the health monitor mib format and sent to the management station. If the configured monitoring types are trunk and/or modem, ciscoHealthMonValue is compared with this value and if ciscoHealthMonValue exceeds this value, a notification is sent to the configured management station. Also, a notification will be sent to the management station if the current monitoring value is less than the configured threshold and the previous monitored value is greater than the configured threshold value." ::= { ciscoHealthMonStatusEntry 7 } ciscoHealthMonThresholdExceedCount OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of times monitoring value exceeded the configured threshold value." ::= { ciscoHealthMonStatusEntry 8 } -- -- HealthMonCount Table -- ciscoHealthMonCountTable OBJECT-TYPE SYNTAX SEQUENCE OF CiscoHealthMonCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of mib entries maintained by the health monitor." ::= { cisco5800HealthMonObjects 2 } ciscoHealthMonCountEntry OBJECT-TYPE SYNTAX CiscoHealthMonCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the count table represents the polled data of ceratin mib variables for a router shelf. System controller will do the polling of the mib variables only if system controller can talk to that particular router shelf." INDEX { ciscoHealthMonCountIndex } ::= { ciscoHealthMonCountTable 1 } CiscoHealthMonCountEntry ::= SEQUENCE { ciscoHealthMonCountIndex Integer32, ciscoHealthMonT1E1LinesUp Gauge32, ciscoHealthMonT1E1LinesDown Gauge32, ciscoHealthMonActiveDS0 Gauge32, ciscoHealthMonTotalDS0 Gauge32, ciscoHealthMonTotalModems Gauge32, ciscoHealthMonModemsInUse Gauge32, ciscoHealthMonUnavailableModems Gauge32, ciscoHealthMonIOMemUsed Gauge32, ciscoHealthMonIOMemFree Gauge32, ciscoHealthMonCPUavgBusy5 Integer32 (1..100), ciscoHealthMonUtilEgressInOctet Counter32, ciscoHealthMonUtilEgressOutOctet Counter32, ciscoHealthMonShelfLastUpdate DisplayString } ciscoHealthMonCountIndex OBJECT-TYPE SYNTAX Integer32 (0..9999) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index for indexing the ciscoHealthMonCountTable. This unique index represents the shelf-id of the monitored shelf." ::= { ciscoHealthMonCountEntry 1 } ciscoHealthMonT1E1LinesUp OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of active T1 and E1 lines on a shelf. A line is considered as an active line if it is operationally up." ::= { ciscoHealthMonCountEntry 2 } ciscoHealthMonT1E1LinesDown OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of inactive T1 and E1 lines on a shelf. This is the special case where a line is counted as down if it is operationally down and administratively up." ::= { ciscoHealthMonCountEntry 3 } ciscoHealthMonActiveDS0 OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of DS0's that are currently in use." ::= { ciscoHealthMonCountEntry 4 } ciscoHealthMonTotalDS0 OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of DS0's on a shelf. This is based on the number of T1 and E1 lines present on the router shelf. Total DS0 = (# of T1 lines - 1 * 24) + 23 + (# of E1 lines*30)." ::= { ciscoHealthMonCountEntry 5 } ciscoHealthMonTotalModems OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of modems installed on a shelf. This is the polled value for cmSystemInstalledModem from the router shelf." ::= { ciscoHealthMonCountEntry 6 } ciscoHealthMonModemsInUse OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of modems on a shelf that are in the following states: connected, offHook, loopback, or downloadFirmware. This the polled value for cmSystemModemsInUse from the router shelf." ::= { ciscoHealthMonCountEntry 7 } ciscoHealthMonUnavailableModems OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of modems on a shelf that cannot accept the calls. They are in the following states: unknown, onHook, busiedOut, disabled, bad, or downloadFirmwareFailed. This is the polled value for cmSystemModemsUnavailable from the router shelf." ::= { ciscoHealthMonCountEntry 8 } ciscoHealthMonIOMemUsed OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes of IO memory that are currently in use by the applications on the shelf. This is the polled value for ciscoMemoryPoolUsed of io-mem type on the router shelf." ::= { ciscoHealthMonCountEntry 9 } ciscoHealthMonIOMemFree OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes of IO memory that are currently available to use on the shelf.This is the polled value for ciscoMemoryPoolFree of io-mem type on the router shelf." ::= { ciscoHealthMonCountEntry 10 } ciscoHealthMonCPUavgBusy5 OBJECT-TYPE SYNTAX Integer32 (1..100) MAX-ACCESS read-only STATUS current DESCRIPTION "5 minute exponentially-decayed moving average of the CPU busy percentage. This is the polled value for avgBusy5 from the router shelf." ::= { ciscoHealthMonCountEntry 11 } ciscoHealthMonUtilEgressInOctet OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the percentage utilization of total number of octets received on all the active egress interface, including framing characters. A port is considered as an egress port if it's ifSpeed > 1544000 % Utilization of ifInOctets = (diff_total_ifInoctets*100)/ (time in seconds * total_speed) ." ::= { ciscoHealthMonCountEntry 12 } ciscoHealthMonUtilEgressOutOctet OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the percentage utilization of the total number of octets transmitted out on all the active egress interface, including framing characters. A port is considered as an egress port if it's ifSpeed > 1544000 % Utilization of ifOutOctets = (diff_total_ifOutoctets*100)/ (time in seconds * total_speed) ." ::= { ciscoHealthMonCountEntry 13 } ciscoHealthMonShelfLastUpdate OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the last time at which the system-controller has polled the mib entries from a shelf. However, if system-controller can not talk to that shelf, this entry will have the same time as the last update and a string Lost Contact. All the mib entries corresponding to this shelf will remain as it is until system-controller can talk to this shelf again." ::= { ciscoHealthMonCountEntry 14 } ciscoHealthMonMIBNotificationEnables OBJECT IDENTIFIER ::= { cisco5800HealthMonMIB 2 } ciscoHealthMonEnableNotification OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates whether the system produces the ciscoHealthNotification. A false value will prevent notifications from being generated by this system." DEFVAL { false } ::= { ciscoHealthMonMIBNotificationEnables 1 } -- the following two OBJECT IDENTIFIERS are used to define SNMPv2 Notifications -- that are backward compatible with SNMPv1 Traps. ciscoHealthMonMIBNotificationPrefix OBJECT IDENTIFIER ::= { cisco5800HealthMonMIB 3 } ciscoHealthMonMIBNotifications OBJECT IDENTIFIER ::= { ciscoHealthMonMIBNotificationPrefix 0 } ciscoHealthMonNotification NOTIFICATION-TYPE OBJECTS { ciscoHealthMonStatusType, ciscoHealthMonShelfId, ciscoHealthMonAddress, ciscoHealthMonDescr, ciscoHealthMonValue, ciscoHealthMonThreshold } STATUS current DESCRIPTION "A ciscoHealthMonNotification is sent if the measured utilization has crossed the threshold value. It will be generated when the value rises above the threshold. ciscoHealthMonShelfId and ciscoHealthMonAddress are optional entries. This entry is valid only if the notification generated for the monitoring types set on the router shelf. This entry will not have anything if notification is generated for the monitoring types set on the system controller." ::= { ciscoHealthMonMIBNotifications 1 } -- conformance information cisco5800HealthMonMIBConformance OBJECT IDENTIFIER ::= { cisco5800HealthMonMIB 4 } cisco5800HealthMonMIBCompliances OBJECT IDENTIFIER ::= { cisco5800HealthMonMIBConformance 1 } cisco5800HealthMonMIBGroups OBJECT IDENTIFIER ::= { cisco5800HealthMonMIBConformance 2 } -- compliance statements cisco5800HealthMonMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the Cisco Health Monitor MIB" MODULE -- this module MANDATORY-GROUPS { cisco5800HealthMonMIBGroup } ::= { cisco5800HealthMonMIBCompliances 1 } -- units of conformance cisco5800HealthMonMIBGroup OBJECT-GROUP OBJECTS { ciscoHealthMonStatusType, ciscoHealthMonShelfId, ciscoHealthMonAddress, ciscoHealthMonDescr, ciscoHealthMonValue, ciscoHealthMonThreshold, ciscoHealthMonThresholdExceedCount, ciscoHealthMonT1E1LinesUp, ciscoHealthMonT1E1LinesDown, ciscoHealthMonActiveDS0, ciscoHealthMonTotalDS0, ciscoHealthMonTotalModems, ciscoHealthMonModemsInUse, ciscoHealthMonUnavailableModems, ciscoHealthMonIOMemUsed, ciscoHealthMonIOMemFree, ciscoHealthMonCPUavgBusy5, ciscoHealthMonUtilEgressInOctet, ciscoHealthMonUtilEgressOutOctet, ciscoHealthMonShelfLastUpdate, ciscoHealthMonNumShelves, ciscoHealthMonNumT1E1LinesUp, ciscoHealthMonNumT1E1LinesDown, ciscoHealthMonNumActiveDS0, ciscoHealthMonNumTotalDS0, ciscoHealthMonNumTotalModems, ciscoHealthMonNumModemsInUse, ciscoHealthMonNumUnavailableModems, ciscoHealthMonEnableNotification } STATUS current DESCRIPTION "A collection of objects providing health monitoring capability to a cisco chassis." ::= { cisco5800HealthMonMIBGroups 1 } END