-- *****************************************************************
-- Descriptions	of Managed Objects for NMS Application Health Status.
--
-- September 2001, Tirthankar Banerjee
--
-- Copyright (c) 2001 by cisco Systems,	Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-NMS-APPL-HEALTH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    DateAndTime
			       FROM SNMPv2-TC
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Counter32,
    Unsigned32
			       FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
			       FROM SNMPv2-CONF
    SnmpAdminString
			       FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
			       FROM CISCO-SMI
    CiscoAlarmSeverity
			       FROM CISCO-TC;


ciscoNmsApplHealthMIB MODULE-IDENTITY
    LAST-UPDATED	"200110240000Z"
    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-nmsapplhealth@cisco.com"
    DESCRIPTION
			"This MIB defines Cisco	NMS Application	(cna) Health
			 Status	Notifications and the related objects. These
			 notifications will be sent to the OSS/NMS to inform
			 them about the	NMS application	status (started,
			 stopped, failed, busy etc.) or	any abnormal exit of
			 applications."

    REVISION		"200110240000Z"
	DESCRIPTION
	    "Added cnaHealthStatusChangeTime (DateAndTime) object."
    REVISION		"200110150000Z"
	DESCRIPTION
	    "Initial version of	this MIB module."
    ::=	{ ciscoMgmt 237	}

ciscoNmsApplHealthNotifs      OBJECT IDENTIFIER	::= { ciscoNmsApplHealthMIB 0 }
ciscoNmsApplHealthMIBObjects  OBJECT IDENTIFIER	::= { ciscoNmsApplHealthMIB 1 }
ciscoNmsApplHealthMIBConforms OBJECT IDENTIFIER	::= { ciscoNmsApplHealthMIB 2 }
cnaHealthObj		          OBJECT IDENTIFIER	::= { ciscoNmsApplHealthMIBObjects 1}

--Cisco	NMS Application	Health Objects

cnaHealthNotifSeqNum OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS	read-only
    STATUS  current
    DESCRIPTION
	"The value of this object indicates the	sequence number	of
	 notifications in order	for the	NMS/OSS	to detect missing
	 notification(s)."
    ::=	{ cnaHealthObj 1 }

cnaHealthTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF CnaHealthTableEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table of information	about the health of one	or more
	 Cisco NMS application(s)."
      ::= { cnaHealthObj 2}

cnaHealthTableEntry OBJECT-TYPE
    SYNTAX	CnaHealthTableEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"Entries appear	in this	table for each possible	alarm state."
    INDEX	{ cnaHealthTableIndex }
      ::= { cnaHealthTable 1 }

CnaHealthTableEntry::=
    SEQUENCE {
       cnaHealthTableIndex			Unsigned32,
       cnaHealthStatusChangeTime	DateAndTime,
       cnaHealthName				SnmpAdminString,
       cnaHealthStatus				INTEGER,
       cnaHealthSevLevel			CiscoAlarmSeverity,
       cnaHealthComLineArgs			SnmpAdminString,
       cnaHealthStatusDesc			SnmpAdminString
    }

cnaHealthTableIndex OBJECT-TYPE
    SYNTAX     Unsigned32 (1..4294967295)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	"This acts as the index	to the cnaHealthTable."
    ::=	{ cnaHealthTableEntry 1	}

cnaHealthStatusChangeTime OBJECT-TYPE
    SYNTAX DateAndTime
    MAX-ACCESS	read-only
    STATUS  current
    DESCRIPTION
	"The time when a change	in the health status of	Cisco NMS
	 Application occurs."
    ::=	{ cnaHealthTableEntry 2	}


cnaHealthName	OBJECT-TYPE
    SYNTAX	SnmpAdminString(SIZE(1..32))
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The value of this object indicates the	name of	the NMS	application,
	 the notification is about."
    ::=	{ cnaHealthTableEntry 3	}

cnaHealthStatus	OBJECT-TYPE
    SYNTAX  INTEGER {
	 started  (1),
	 stopped  (2),
	 busy	  (3),
	 failed	  (4),
	 exited	  (5)
    }
    MAX-ACCESS	read-only
    STATUS  current
    DESCRIPTION
	"The value of this object indicates the	health/status of the NMS
	 application, the notification is reporting about. The possible
	 values	are:

	 started(1)  : started & initialized successfully
	 stopped(2)  : stopped successfully
	 busy(3)     : not able	to respond to any request from health
		       monitor until the status	changed	to started
	 failed(4)   : upon detecting error condition, logged and exited
	 exited(5)   : abnormally exited without logging"
    ::=	{ cnaHealthTableEntry 4	}

cnaHealthSevLevel      OBJECT-TYPE
    SYNTAX	       CiscoAlarmSeverity
    MAX-ACCESS	       read-only
    STATUS	       current
    DESCRIPTION
	"Indicates the severity	level of the cna health	status Notifications."
    DEFVAL { info }
   ::= { cnaHealthTableEntry 5 }

cnaHealthComLineArgs	OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE (0..255))
    MAX-ACCESS	read-only
    STATUS  current
    DESCRIPTION
	"The value of this object indicates the	command-line arguments of
	 the NMS application being reported about in the notifications."
    ::=	{ cnaHealthTableEntry 6	}

cnaHealthStatusDesc  OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE (0..255))
    MAX-ACCESS	read-only
    STATUS  current
    DESCRIPTION
	"The value of this object gives	a detailed description of the health/
	 status	of the application being reported in a notification. In	case
	 of failed(4) status, this field must indicate the error description.
	 For any other cnaStatus, this field may contain a description to
	 qualify the cnaStatus,	like 'Started &	initialized succesfully' or
	 an empty string."
    ::=	{ cnaHealthTableEntry 7	}

-- NOTIFICATION	--

cnaHealthNotif NOTIFICATION-TYPE
    OBJECTS   {
	 cnaHealthNotifSeqNum,
	 cnaHealthStatusChangeTime,
	 cnaHealthName,
	 cnaHealthStatus,
	 cnaHealthSevLevel,
	 cnaHealthComLineArgs,
	 cnaHealthStatusDesc
    }
    STATUS    current
    DESCRIPTION
	"This notification is sent out to notify normal	startup, shutdown,
	 intermediate health/status (ex: busy etc.), failed or exit status."
    ::=	{ ciscoNmsApplHealthNotifs  1 }

-- Conformance

cnaHealthMIBCompliances	    OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIBConforms 1}
cnaHealthMIBGroups	    OBJECT IDENTIFIER ::= { ciscoNmsApplHealthMIBConforms 2}


-- Compliance

cnaHealthMIBCompliance	   MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
	"The compliance	statement for entities which implement
	 the Cisco NMS Application Health Monitor MIB."
    MODULE  -- this module
	MANDATORY-GROUPS { cnaHealthMIBGroup, cnaHealthNotifGroup }
    ::=	{ cnaHealthMIBCompliances 1 }

-- Units of Conformance

cnaHealthMIBGroup	  OBJECT-GROUP
    OBJECTS {
	    cnaHealthNotifSeqNum,
	    cnaHealthTableIndex,
	    cnaHealthStatusChangeTime,
	    cnaHealthName,
	    cnaHealthStatus,
	    cnaHealthSevLevel,
	    cnaHealthComLineArgs,
	    cnaHealthStatusDesc
    }
    STATUS  current
    DESCRIPTION
	"A collection of objects providing Cisco NMS Application
	 normal	health info"
    ::=	{ cnaHealthMIBGroups 1 }

cnaHealthNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
	cnaHealthNotif
    }
    STATUS  current
    DESCRIPTION
	"The set of notification events	a Cisco	NMS application
	 supports."
    ::=	{ cnaHealthMIBGroups 2 }

END
