COVALENT-APACHE-MPM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,
    enterprises
        FROM SNMPv2-SMI
    DisplayString, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    applIndex
        FROM NETWORK-SERVICES-MIB;

covalentApacheMPMMIB MODULE-IDENTITY
    LAST-UPDATED "200204020000Z"
    ORGANIZATION 
	"Copyright (C) Covalent Technologies (2000-2002).  All Rights Reserved."
    CONTACT-INFO 
        "SNMP Engineering
         Covalent Technologies
         postal: 303 Second Street
                 Suite 375 South
                 San Francisco, CA 94107
         tel:    +1-800-444-1935
         email: support@covalent.net"
    DESCRIPTION 
        "This module defines managed objects to convey management information
         about the Message Processing Module used in the Apache HTTP server.
         
         It provides not only read-only information of the current
         configuration of Apache (and thus its MPM) but also has some
         configuration objects.

         $Id: COVALENT-APACHE-MPM-MIB.txt 8676 2008-01-17 23:11:17Z ispringer $"
    ::= { covalent 11 }

covalent OBJECT IDENTIFIER
    ::= { enterprises 6100 }

CtApacheMPMCapability ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The type indicating the capability of the MPM"
    SYNTAX      INTEGER { unknown(1),
                          notSupported(2),
                          static(3),
                          dynamic(4) }

ctApacheMPMMIBObjects OBJECT IDENTIFIER
    ::= { covalentApacheMPMMIB 1 }

ctApacheMPMTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CtApacheMPMEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table providing management information regarding the
         Message Processing Model (MPM) used within an Apache
         HTTP server."
    ::= { ctApacheMPMMIBObjects 2 }

ctApacheMPMEntry OBJECT-TYPE
    SYNTAX      CtApacheMPMEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry providing the specifics of the MPM of the
         currently running Apache HTTP servers on this system."
    INDEX { applIndex }
    ::= { ctApacheMPMTable 1 }

CtApacheMPMEntry ::= SEQUENCE {
    ctApacheMPMDescr                 Unsigned32,
    ctApacheMPMForking               CtApacheMPMCapability,
    ctApacheMPMThreading             CtApacheMPMCapability,
    ctApacheMPMDaemonsLimit          Unsigned32,
    ctApacheMPMThreadsLimit          Unsigned32,
    ctApacheMPMMaxDaemons            Unsigned32,
    ctApacheMPMMaxThreads            Unsigned32,
    ctApacheMPMMinSpareDaemons       Unsigned32,
    ctApacheMPMMinSpareThreads       Unsigned32,
    ctApacheMPMMaxSpareDaemons       Unsigned32,
    ctApacheMPMMaxSpareThreads       Unsigned32,
    ctApacheMPMMaxRequestPerDaemon   Unsigned32
    }

ctApacheMPMDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A human readable description of the MPM used
         in the Apache HTTP server."
    ::= { ctApacheMPMEntry 1 }

ctApacheMPMForking OBJECT-TYPE
    SYNTAX      CtApacheMPMCapability
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The forking capability of the MPM used
         in the Apache HTTP server."
    ::= { ctApacheMPMEntry 2 }

ctApacheMPMThreading OBJECT-TYPE
    SYNTAX      CtApacheMPMCapability
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The threading capability of the MPM used
         in the Apache HTTP server."
    ::= { ctApacheMPMEntry 3 }

ctApacheMPMDaemonsLimit OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum (upper) limit of daemons possible for
         the MPM used in the Apache HTTP server. 

         If forking is not supported this value should be 1."
    ::= { ctApacheMPMEntry 4 }

ctApacheMPMThreadsLimit OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum (upper) limit of threads possible for
         the MPM used in the Apache HTTP server. 

         If threading is not supported this value should be 1.  
         If forking is supported the value is the upper limit 
         of threads per daemon of the Apache HTTP server."
    ::= { ctApacheMPMEntry 5 }

ctApacheMPMMaxDaemons OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum operational daemons of the MPM used
         in the Apache HTTP server.

         If forking is not supported this value should be 1."
    ::= { ctApacheMPMEntry 6 }

ctApacheMPMMaxThreads OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum operational threads of the MPM used
         in the Apache HTTP server.

         If threading is not supported this value should be 1.
         If forking is supported the value is the maximum amount
         of threads per daemon of the Apache HTTP server."
    ::= { ctApacheMPMEntry 7 }

ctApacheMPMMinSpareDaemons OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The minimum operational daemons that the MPM maintains
         as spare in the Apache HTTP server.                  

         If forking is not supported or is not supported as dynamic
         this value should be 0."
    ::= { ctApacheMPMEntry 8 }

ctApacheMPMMinSpareThreads OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The minimum operational threads that the MPM maintains
         as spare in the Apache HTTP server.

         If threading is not supported  or is not supported as dynamic
         this value should be 0."
    ::= { ctApacheMPMEntry 9 }

ctApacheMPMMaxSpareDaemons OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write 
    STATUS      current
    DESCRIPTION
        "The maximum operational daemons that the MPM maintains
         as spare in the Apache HTTP server.

         If forking is not supported or is not supported as dynamic
         this value should be 0."
    ::= { ctApacheMPMEntry 10 }

ctApacheMPMMaxSpareThreads OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum operational threads that the MPM maintains
         as spare in the Apache HTTP server.

         If threading is not supported  or is not supported as dynamic
         this value should be 0."
    ::= { ctApacheMPMEntry 11 }

ctApacheMPMMaxRequestPerDaemon OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of requests a server process (daemon) serves.

         The value '0' indicates there is no maximim."
    ::= { ctApacheMPMEntry 12 }


ctApacheMPMMIBConformance OBJECT IDENTIFIER
    ::= { covalentApacheMPMMIB 2 }

ctApacheStatusMIBCompliances OBJECT IDENTIFIER
    ::= { ctApacheMPMMIBConformance 1 }

ctApacheStatusMIBGroups OBJECT IDENTIFIER
    ::= { ctApacheMPMMIBConformance 2 }

ctApacheMPMGroup OBJECT-GROUP
    OBJECTS     { ctApacheMPMDescr,
                  ctApacheMPMForking,
                  ctApacheMPMThreading,
                  ctApacheMPMMaxDaemons,
                  ctApacheMPMMaxThreads,
                  ctApacheMPMDaemonsLimit,
                  ctApacheMPMThreadsLimit,
                  ctApacheMPMMinSpareDaemons,
                  ctApacheMPMMinSpareThreads,
                  ctApacheMPMMaxSpareDaemons,
                  ctApacheMPMMaxSpareThreads,
                  ctApacheMPMMaxRequestPerDaemon }
    STATUS      current
    DESCRIPTION
        "The objects for basic compliances of the server status."
    ::= { ctApacheStatusMIBGroups 2 }

ctApacheStatusFullCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION 
        "The full compliance statement for the Apache
         Message Processing Module."
    MODULE      -- this module
    MANDATORY-GROUPS        { ctApacheMPMGroup }
    ::= { ctApacheStatusMIBCompliances 1 }

ctApacheStatusBasicCompliance MODULE-COMPLIANCE 
    STATUS      current
    DESCRIPTION
        "The basic compliance statement for the Apache
         Message Processing Module.
         Basic compliance means that the MIb module provides
         only information and cannot be used for configuration."
    MODULE      -- this module
    MANDATORY-GROUPS        { ctApacheMPMGroup }

    OBJECT         ctApacheMPMMaxDaemons
    MIN-ACCESS     read-only
    DESCRIPTION
         "Write access is not needed" 

    OBJECT         ctApacheMPMMaxThreads
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMDaemonsLimit
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMThreadsLimit
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMMinSpareDaemons   
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMMinSpareThreads   
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMMaxSpareDaemons   
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMMaxSpareThreads
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed" 

    OBJECT         ctApacheMPMMaxRequestPerDaemon
    MIN-ACCESS     read-only
    DESCRIPTION
        "Write access is not needed"
    ::= { ctApacheStatusMIBCompliances 2 }
END
