-- 
--   +--------------------------------------------------------+
--   | Copyright 1986-2008 by InterSystems Corporation,       |
--   | Cambridge, Massachusetts, U.S.A.                       |
--   | All rights reserved.                                   |
--   +--------------------------------------------------------+
-- 
-- Intersystems Ensemble MIB
--
-- 1.3.6.1.4.1.16563 = iso.org.dod.internet.private.enterprises.intersystems
-- 
-- .2 = iscEnsemble | Ensemble product ID
--
-- .2.1 = ensObjects | Ensemble SNMP Data Objects
-- 
-- .2.1.1 = ensSysTab | Table of Cache instances running Ensemble on this system
-- .2.1.1.1 = ensSysRow | Conceptual row for Ensemble system table | INDEX = ensSysIndex
-- .2.1.1.1.1 = ensSysIndex | Index for this Ensemble Cache instance | STRING |
-- .2.1.1.1.2 = ensSysName | Name of this Ensemble Cache instance | STRING |
-- .2.1.1.1.3 = ensSysDir | Installation directory for this Ensemble Cache instance | STRING
-- .2.1.1.1.4 = ensSysVersion | Version string for this Ensemble Cache instance | STRING |
--
-- .2.1.2 = ensProdTab | Table of Ensemble Productions on this system
-- .2.1.2.1 = ensProdRow | Conceptual row for Ensemble Production table | INDEX = ensSysIndex, ensProdIndex
-- .2.1.2.1.1 = ensProdIndex | An index to the table of Productions for this system | INTEGER
-- .2.1.2.1.2 = ensProdName | The name of the Ensemble Production | STRING
-- .2.1.2.1.3 = ensProdNamespace | The Cache Namespace for this Production | STRING
-- .2.1.2.1.4 = ensProdStatus | The current status of the Production | STRING
-- .2.1.2.1.5 = ensProdStart | The date-time this Production was last started | STRING
-- .2.1.2.1.6 = ensProdStop | The date-time this Production was last stopped | STRING
--
-- .2.1.3 = ensEvtLogTab | Table of entries for Enesemble Event Logs
-- .2.1.3.1 = ensEvtLogRow | Conceptual row for Ensemble Production table | INDEX = ensSysIndex, ensEvtLogNSIndex, ensEvtLogIndex
-- .2.1.3.1.1 = ensEvtLogNSIndex | An integer index to the Namespace for this Event Log | INTEGER
-- .2.1.3.1.2 = ensEvtLogIndex | An integer index to the entry in this Event Log | INTEGER
-- .2.1.3.1.3 = ensEvtLogNamespace | The Cache Namespace for this Event Log | STRING
-- .2.1.3.1.4 = ensEvtLogID | The unique identifier for the message that comprises this event log entry | INTEGER
-- .2.1.3.1.5 = ensEvtLogTime | The date and time when this entry was logged | STRING
-- .2.1.3.1.6 = ensEvtLogType | Indicates the type of entry: Alert, Assert, Error, Info, Status, Trace, or Warning | STRING
-- .2.1.3.1.7 = ensEvtLogJob | The system job that hosted the event | STRING
-- .2.1.3.1.8 = ensEvtLogSession | The unique identifier for the session associated with this message | STRING
-- .2.1.3.1.9 = ensEvtLogSource | The configuration item (service, process, or operation) that sent the message | STRING
-- .2.1.3.1.10 = ensEvtLogMethod | The host class method that was in progress when the event was logged | STRING
-- .2.1.3.1.11 = ensEvtLogText | The text string associated with the event log entry | STRING
--
-- .2.2 = ensTraps | Ensemble SNMP Notification Objects (traps)
--
-- .2.2.1 = ensEvent | an entry posted in the Ensemble Event Log

ISC-ENSEMBLE DEFINITIONS ::= BEGIN

IMPORTS

   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Counter32, Gauge32, Integer32
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    enterprises
	FROM RFC1155-SMI;


iscEnsemble MODULE-IDENTITY
     LAST-UPDATED "200801251000Z"
     ORGANIZATION "InterSystems Corp"
     CONTACT-INFO "1 Memorial Drive
                   Cambridge MA 02142
                   Subject: ISC-ENSEMBLE.mib"
     DESCRIPTION "The MIB module for the Ensemble product"

     REVISION "200801251000Z"
     DESCRIPTION "Initial version for Ensemble 2008.1"

     ::= { intersystems 2 }


intersystems OBJECT IDENTIFIER ::= { enterprises 16563 }


ensObjects OBJECT IDENTIFIER ::= { iscEnsemble 1 }



--
--  Ensemble data is organized into the following groups
--
--	ensSys = a table of Cache instances running Ensemble
--	ensProd = a table of Ensemble Productions
--	ensEvtLog = a table of entries in the Ensemble Event Log
--

--
-- Table of Cache instances running Ensemble on a system
--

ensSysTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF EnsSysRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache database instances running Ensemble on a system."
      ::= { ensObjects 1 }


ensSysRow    OBJECT-TYPE
      SYNTAX      EnsSysRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for the table of Cache instances running Ensemble"
      INDEX  { ensSysIndex }
      ::= { ensSysTab 1 }


EnsSysRow ::=
    SEQUENCE {
    	ensSysIndex		DisplayString,
	ensSysName 		DisplayString,
	ensSysDir 		DisplayString,
	ensSysVersion 		DisplayString
    }

ensSysIndex     OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (20))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique string index for this Ensemble Cache instance, created using the instance name."
    ::= { ensSysRow  1 }

ensSysName     OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (20))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Ensemble Cache instance"
    ::= { ensSysRow  2 }

ensSysDir      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The installation directory for this Ensemble Cache instance"
    ::= { ensSysRow  3 }

ensSysVersion  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The version string for this Ensemble Cache instance"
    ::= { ensSysRow  4 }

--
-- Table of Ensemble Productions on a system
--

ensProdTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF EnsProdRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Ensemble Productions on this system. Each Production 
           is associated with a Cache instance and namespace, and there may 
           be multiple Productions on a system (but for each Cache namespace,
           only one Production may be running)."
      ::= { ensObjects 2 }


ensProdRow    OBJECT-TYPE
      SYNTAX      EnsProdRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for the table of Ensemble Productions"
      INDEX  { ensSysIndex, ensProdIndex }
      ::= { ensProdTab 1 }


EnsProdRow ::=
    SEQUENCE {
    	ensProdIndex		Integer32,
    	ensProdName		DisplayString,
    	ensProdNamespace	DisplayString,
	ensProdStatus 		DisplayString,
	ensProdStart     	DisplayString,
	ensProdStop 		DisplayString
    }

ensProdIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for this Ensemble Production"
    ::= { ensProdRow  1 }

ensProdName     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Ensemble Production."
    ::= { ensProdRow  2 }

ensProdNamespace     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The Cache Namespace for this Production."
    ::= { ensProdRow  3 }

ensProdStatus     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current status of the Production. One of the following strings: 
        Running, Suspended, Troubled, Stopped, or NetworkStopped."
    ::= { ensProdRow  4 }

ensProdStart     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The date-time this Production was last started."
    ::= { ensProdRow  5 }

ensProdStop      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The date-time this Production was last stopped."
    ::= { ensProdRow  6 }

--
-- Table of Ensemble Event Log entries on a system
--

ensEvtLogTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF EnsEvtLogRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Ensemble Event Log entries on a system. The Event 
           Log is associated with a specific Cache instance and namespace.
           There may be multiple Event Logs on a system. "
      ::= { ensObjects 3 }


ensEvtLogRow    OBJECT-TYPE
      SYNTAX      EnsEvtLogRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Ensemble Production table"
      INDEX  { ensSysIndex, ensEvtLogNSIndex, ensEvtLogIndex }
      ::= { ensEvtLogTab 1 }


EnsEvtLogRow ::=
    SEQUENCE {
    	ensEvtLogNSIndex	Integer32,
    	ensEvtLogIndex		Integer32,
    	ensEvtLogNamespace	DisplayString,
    	ensEvtLogID		Integer32,
	ensEvtLogTime 		DisplayString,
	ensEvtLogType     	DisplayString,
	ensEvtLogJob 		DisplayString,
	ensEvtLogSession	DisplayString,
	ensEvtLogSource		DisplayString,
	ensEvtLogMethod		DisplayString,
	ensEvtLogText 		DisplayString
    }

ensEvtLogNSIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..2048)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"An integer index to the Namespace for this Event Log"
    ::= { ensEvtLogRow  1 }

ensEvtLogIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..2048)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for this Ensemble Event Log entry"
    ::= { ensEvtLogRow  2 }

ensEvtLogNamespace     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The Cache Namespace for this Event Log."
    ::= { ensEvtLogRow  3 }

ensEvtLogID     OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The unique identifier for the message that comprises this event log entry."
    ::= { ensEvtLogRow  4 }

ensEvtLogTime     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The date and time when this entry was logged."
    ::= { ensEvtLogRow  5 }

ensEvtLogType     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"Indicates the type of entry: Alert, Assert, Error, Info, Status, Trace, or Warning."
    ::= { ensEvtLogRow  6 }

ensEvtLogJob      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The system job that hosted the event."
    ::= { ensEvtLogRow  7 }

ensEvtLogSession      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The unique identifier for the session associated with this message."
    ::= { ensEvtLogRow  8 }

ensEvtLogSource      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The configuration item (service, process, or operation) that sent the message."
    ::= { ensEvtLogRow  9 }

ensEvtLogMethod      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The host class method that was in progress when the event was logged."
    ::= { ensEvtLogRow  10 }

ensEvtLogText      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The text string associated with the event log entry."
    ::= { ensEvtLogRow  11 }

----------------------------------------------------------------

-- .2.2 = ensTrap | Ensemble SNMP Notification Objects (traps)
--
-- .2.2.1 = ensEvent | an entry posted in the Ensemble Event Log

ensTraps OBJECT IDENTIFIER ::= { iscEnsemble 2 }

ensEvent NOTIFICATION-TYPE
    OBJECTS     { ensSysName, ensEvtLogNamespace, ensEvtLogID, ensEvtLogTime, ensEvtLogType, ensEvtLogText }
    STATUS      current
    DESCRIPTION
	"An entry posted in the Ensemble Event Log."
    ::= { ensTraps 1 }

----------------------------------------------------------------

END
