-- -- HORIZON-LIBRARY-MONITOR-MIB Release 1.2.1 draft 1 -- -- R1.2.1 d1 : Added oids for URL (agent and library table) -- : Changed the name of MIB, and prefixes of nodes. -- R1.2d2 : Added new Sense Code provided by the L700 -- R1.2d1 : Added serial number definition into drive table entry -- Added serial number definition into library table entry -- Added the type text definition for drive and volume -- into drive table entry -- Added the sense text definition -- Added DLT8000 enumerate in the drive type definition -- R1.1d3 : First delivery of the MIB -- Added the two last enumerate values for agent status -- R1.1d2 : Removed the twlmCapUserAccessibility node -- Changed the name of the MIB -- R1.1d1 : Changed the Enterprise OID -- Suppressed the destination trap table -- Made some typographic changes -- Changed the name of the MIB itself -- Added some values for drive and volume type -- 0.3.1 : Moved the CsaTrpEmfDestLevel from the trpEmfDestTable -- to csaTrpLogReportLevel::= csaTrap(7) -- 0.3 : added an unclassified message trap in the trap branch -- 0.2 : Changed Mnemonic of the trap table, to EMF Destination one -- Removed 'initfailed' from the Agent status enumerate -- Repeated the enumerate values of the Sense info in the Drive -- & Cap entry -- Removed extra commas -- Enumerate list no more begin with a capital letter -- Moved csaTrap branch from csaAgent(3) to caesar(2) -- Moved hardware branch from caesar(2) to caesar(3) -- Added CsaAgtBootDate in the CsaAgent branch -- 0.1.2 : Changed enumerate values, and descriptions -- CsaCapUserAccessibility -- 0.1.1 : Changed enumerate values, and descriptions of some objects -- 0.1 : Initial release -- ---------------------------------------------------------------------- HORIZON-LIBRARY-MONITOR-MIB DEFINITIONS ::= BEGIN IMPORTS TRAP-TYPE FROM RFC-1215 enterprises, OBJECT-TYPE, IpAddress FROM RFC1155-SMI DisplayString FROM RFC1213-MIB; storagetek OBJECT IDENTIFIER ::= { enterprises 1211 } products OBJECT IDENTIFIER ::= { storagetek 1 } horizonLibraryMonitor OBJECT IDENTIFIER ::= { products 5 } hlmAgent OBJECT IDENTIFIER ::= { horizonLibraryMonitor 1 } hlmTrap OBJECT IDENTIFIER ::= { horizonLibraryMonitor 2 } hlmHardware OBJECT IDENTIFIER ::= { horizonLibraryMonitor 3 } -- -- Horizon Library Monitor types definition -- HlmSenseCode ::= INTEGER { unknown(1), nrNotReportable (2), nrInProcess(3), nrManIntervReq(4), nrMaintenance(5), nrCapOpen(6), hwGeneral(7), hwTapeDrive(8), hwCap(9), hwMicroCode(10), irParamLength(11), irInvalidCommand(12), irInvalidElt(13), irInvalidCDB(14), irInvalidLun(15), irInvalidField(16), irIncompatibleMedia(17), irSavingParamNotSupported(18), irMediumNotPresent(19), irDestEltFull(20), irSrcEltEmpty(21), uaPowerOn(22), uaNotReady(23), uaIoEltAccess(24), uaModeParamChanged(25), uaMicroCodeChanged(26), acSCSIParity(27), acInitiator(28), acCommandOverlap(29), nrCleaningCartridgeInstalled(30), irInvalidReleaseOfPersistentReservation(31), irMediumMagazineRemoved(32), irInsufficientReservationResources(33), uaPowerOnOccured(34), uaReservationPreempted(35), uaReservationReleased(36), uaRegistrationPreempted(37), uaSCSIBusReset(38), uaBusDeviceResetMessageOccured(39) } -- --------------------------------------------- -- -- hlmAgent sub tree -- -- --------------------------------------------- hlmAgtRelease OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The release of the agent. Format is %d.%d" ::= { hlmAgent 1 } hlmAgtStatus OBJECT-TYPE SYNTAX INTEGER { initializing (1) , running (2), expiring (3), expired (4) } ACCESS read-only STATUS mandatory DESCRIPTION "When starting and initializing internal variables, the agent is >initializing< and may not answer correctly to request. Status of the agent should be queried at the beginning of every session and respond >running<. When license expires in less than 3 days, the status is >expiring<. When license is no more valid, the status of the agent switch to >expired<." ::= { hlmAgent 2 } hlmAgtBootDate OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The date & time when the agent started. Format is YYYY-MM-DDThh:mm" ::= { hlmAgent 3 } hlmAgtUrl OBJECT-TYPE SYNTAX DisplayString ACCESS read-write STATUS mandatory DESCRIPTION "Url to be provided at the agent level-Can be used for library web based management purpose" ::= { hlmAgent 4 } -- --------------------------------------------- -- -- hlmTrap sub tree -- -- --------------------------------------------- hlmTrpMinPollingRate OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Minimum polling rate in second. The value is read from a file when the agent starts" ::= { hlmTrap 1 } hlmTrpCurPollingRate OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "Current polling rate in seconde. The value could not be set under hlmTrpMinPollingRate" ::= { hlmTrap 2 } hlmTrpMsg OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "A trap displayString varbind" ::= { hlmTrap 3 } hlmTrpOid OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "A trap OID varbind" ::= { hlmTrap 4 } hlmTrpLogReportLevel OBJECT-TYPE SYNTAX INTEGER { silent (1), error (2), warning (3), info (4), unclassified(5) } ACCESS read-write STATUS mandatory DESCRIPTION "Log message reporting level preferred by the Enterprise Management Framework destinations. 'silent' means no message is sent to the framework. 'error' means only error messages are sent. 'warning' means errors+warnings are sent. 'info' means errors+warnings+information messages are sent. 'unclassified' means every messages stored into the library are sent to the framework" ::= { hlmTrap 5 } -- Message trap family -- -- In what follows, the traps should contain the message -- to be displayed into the event console of the framework -- There is one trap defined per possible severity level of the -- messages hlmTrpErr TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpMsg } DESCRIPTION "A error trap message" ::= 1 hlmTrpWar TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpMsg } DESCRIPTION "A warning trap message" ::= 2 hlmTrpInfo TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpMsg } DESCRIPTION "An info trap message" ::= 3 hlmTrpUncl TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpMsg } DESCRIPTION "An unclassified trap message" ::= 4 -- Trap Oid status family -- -- In what follows, the traps should contain the oid -- of the status of the object whose status has changed. -- There are as many traps (normal to critical) defined as -- possible status values managed by the agent. hlmTrpNorStatus TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpOid } DESCRIPTION "A normal status notification trap" ::= 5 hlmTrpUnkStatus TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpOid } DESCRIPTION "A unknown status notification trap" ::= 6 hlmTrpWarStatus TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpOid } DESCRIPTION "A warning status notification trap" ::= 7 hlmTrpMinStatus TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpOid } DESCRIPTION "A minor status notification trap" ::= 8 hlmTrpMajStatus TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpOid } DESCRIPTION "A major status notification trap" ::= 9 hlmTrpCriStatus TRAP-TYPE ENTERPRISE horizonLibraryMonitor VARIABLES { hlmTrpOid } DESCRIPTION "A critical status notification trap" ::= 10 -- --------------------------------------------- -- -- hlm hardware sub tree -- -- --------------------------------------------- -- -- -- hlm libray sub tree -- -- hlmLibrary OBJECT IDENTIFIER ::= { hlmHardware 1 } hlmLibCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Count of the libraries in the library table" ::= { hlmLibrary 1 } hlmLibTable OBJECT-TYPE SYNTAX SEQUENCE OF HlmLibEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This is a table of detected library detected on the SCSI bus" ::= { hlmLibrary 2 } hlmLibEntry OBJECT-TYPE SYNTAX HlmLibEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry in the library table" INDEX { hlmLibIndex } ::= { hlmLibTable 1 } HlmLibEntry ::= SEQUENCE { hlmLibIndex INTEGER, hlmLibType DisplayString, hlmLibVendor DisplayString, hlmLibStatus INTEGER (1..5), hlmLibSense HlmSenseCode, hlmLibMicLevel DisplayString, hlmLibSlotCount INTEGER, hlmLibCapCount INTEGER, hlmLibDriveCount INTEGER, hlmLibSerialNumber DisplayString, hlmLibSenseText DisplayString, hlmLibUrl DisplayString } hlmLibIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Integer index of the library" ::= { hlmLibEntry 1 } hlmLibType OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The model of the library, e.g 9730, 9710" ::= { hlmLibEntry 2 } hlmLibVendor OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The vendor of the library, e.g STK" ::= { hlmLibEntry 3 } hlmLibStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), ok (2), error (3), busy (4), reservConflict (5) } ACCESS read-only STATUS mandatory DESCRIPTION "The status of the library. See hlmLibSense for details when this status equals error" ::= { hlmLibEntry 4 } hlmLibSense OBJECT-TYPE SYNTAX HlmSenseCode ACCESS read-only STATUS mandatory DESCRIPTION "The sense info when status is error" ::= { hlmLibEntry 5 } hlmLibMicLevel OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The micro code level of the library" ::= { hlmLibEntry 6 } hlmLibSlotCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Count of slot of the library" ::= { hlmLibEntry 7 } hlmLibCapCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Count of CAP of the library" ::= { hlmLibEntry 8 } hlmLibDriveCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Count of drives present into the library" ::= { hlmLibEntry 9 } hlmLibSerialNumber OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The modelserial number of the library" ::= { hlmLibEntry 10 } hlmLibSenseText OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "A short label describing the sense code returned by the library -- see hlmLibSense" ::= { hlmLibEntry 11 } hlmLibUrl OBJECT-TYPE SYNTAX DisplayString ACCESS read-write STATUS mandatory DESCRIPTION "Url provided at the library level - Can be used for web based library management purpose" ::= { hlmLibEntry 12 } -- -- -- hlm Drives sub tree -- -- hlmDrive OBJECT IDENTIFIER ::= { hlmHardware 2 } hlmDrvCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Total count of the drives detected. They may not all belong to the same library" ::= { hlmDrive 1 } hlmDrvTable OBJECT-TYPE SYNTAX SEQUENCE OF HlmDrvEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This is the table of drives." ::= { hlmDrive 2 } hlmDrvEntry OBJECT-TYPE SYNTAX HlmDrvEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry in the drive table" INDEX { hlmDrvLibIndex, hlmDrvIndex } ::= { hlmDrvTable 1 } HlmDrvEntry ::= SEQUENCE { hlmDrvLibIndex INTEGER, hlmDrvIndex INTEGER, hlmDrvType INTEGER (1..15), hlmDrvStatus INTEGER (1..3), hlmDrvSense HlmSenseCode, hlmDrvContent INTEGER (1..3), hlmDrvVolType INTEGER , hlmDrvVolLabel DisplayString, hlmDrvTypeText DisplayString, hlmDrvVolTypeText DisplayString, hlmDrvSerialNumber DisplayString, hlmDrvSenseText DisplayString } hlmDrvLibIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Index of the library it belongs to" ::= { hlmDrvEntry 1 } hlmDrvIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Index of the drive" ::= { hlmDrvEntry 2 } hlmDrvType OBJECT-TYPE SYNTAX INTEGER { undetermined (1), dlt2000 (2), dlt2000XT (3), dlt4000 (4), dlt7000 (5), dlt12000 (6), dlt20000(7), drive9840 (8), twinPeaks4890 (9) , silverton4490or4791 (10), redWoodSD3 (11), timberLine9490 (12), timberLine9491 (13), drve4781or4480 (14), dlt8000 (15) } ACCESS read-only STATUS mandatory DESCRIPTION "The model of the drive. Other values might be returned to describe new model of drives. These values and their corresponding drive model will be read from a file at the agent start" ::= { hlmDrvEntry 3 } hlmDrvStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), ok (2), error (3) } ACCESS read-only STATUS mandatory DESCRIPTION "The status of the drive. See hlmDrvSense for details when rhis status equals error" ::= { hlmDrvEntry 4 } hlmDrvSense OBJECT-TYPE SYNTAX HlmSenseCode ACCESS read-only STATUS mandatory DESCRIPTION "The sense info of the drive. See hlmLibSense for possible values" ::= { hlmDrvEntry 5 } hlmDrvContent OBJECT-TYPE SYNTAX INTEGER { unknown(1), empty (2), full (3) } ACCESS read-only STATUS mandatory DESCRIPTION "Report if the drive contains a cartridge" ::= { hlmDrvEntry 6 } hlmDrvVolType OBJECT-TYPE SYNTAX INTEGER { undetermined (1), dltCompactIIIOrdltCleaning (2), dltCompactIV (3), dltCompactIIIXT (4), normalOrCleaning3480 (5), extendedLengthCartridge3490E (6), shortLengthRedWoodDD3A (7), standardLengthRedWoodDD3B (8), longLengthRedWoodDD3C (9), cleaningRedWoodDD3D (10), standard9840 (11), cleaning9840 (12), extendedEnhanced3490 (13) } ACCESS read-only STATUS mandatory DESCRIPTION "The type of the catridge present into the drive. Other value may be returned to describe new model of volume." ::= { hlmDrvEntry 7 } hlmDrvVolLabel OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The label of the cartridge present into the drive, '------' if the drive is empty" ::= { hlmDrvEntry 8 } hlmDrvTypeText OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "Textual type of the drive" ::= { hlmDrvEntry 9 } hlmDrvVolTypeText OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "Textual type of the volume present into the drive" ::= { hlmDrvEntry 10 } hlmDrvSerialNumber OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The serial number of the drive" ::= { hlmDrvEntry 11 } hlmDrvSenseText OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "A short description of the sense code" ::= { hlmDrvEntry 12 } -- -- -- hlm CAP sub tree -- -- hlmCap OBJECT IDENTIFIER ::= { hlmHardware 3 } hlmCapCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Total count of CAP" ::= { hlmCap 1 } hlmCapTable OBJECT-TYPE SYNTAX SEQUENCE OF HlmCapEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This is the table of CAPs." ::= { hlmCap 2 } hlmCapEntry OBJECT-TYPE SYNTAX HlmCapEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry in the CAP table" INDEX { hlmCapLibIndex, hlmCapIndex } ::= { hlmCapTable 1 } HlmCapEntry ::= SEQUENCE { hlmCapLibIndex INTEGER, hlmCapIndex INTEGER, hlmCapHandAccessibility INTEGER (1..3), hlmCapStatus INTEGER (1..3), hlmCapSense HlmSenseCode, hlmCapCellCount INTEGER, hlmCapSenseText DisplayString } hlmCapLibIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Index of the library it belongs to" ::= { hlmCapEntry 1 } hlmCapIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Index of the CAP" ::= { hlmCapEntry 2 } hlmCapHandAccessibility OBJECT-TYPE SYNTAX INTEGER { unknown(1), open (2), close (3) } ACCESS read-only STATUS mandatory DESCRIPTION "Report whether the CAP is open or not" ::= { hlmCapEntry 3 } hlmCapStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), ok (2), error (3), warning (4) } ACCESS read-only STATUS mandatory DESCRIPTION "Report the operational state of the CAP." ::= { hlmCapEntry 4 } hlmCapSense OBJECT-TYPE SYNTAX HlmSenseCode ACCESS read-only STATUS mandatory DESCRIPTION "Sense info when the status equals error." ::= { hlmCapEntry 5 } hlmCapCellCount OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Count of cell of the cap" ::= { hlmCapEntry 6 } hlmCapSenseText OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "A short description of the sense code" ::= { hlmCapEntry 7 } END