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

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32,
    enterprises
        FROM SNMPv2-SMI
    DisplayString, TEXTUAL-CONVENTION, TimeStamp
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF;

covalentServerStatusMIB 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 current handled connections by the Apache HTTP server.
         
         It provides a per process handled request information. If a process
         is not handling a request at that moment the information of the last
         handled request is provided.
         The information provided is similar as the server status page,
         http://www/server-status/.

         $id$"
    ::= { covalent 4 }

covalent OBJECT IDENTIFIER
    ::= { enterprises 6100 }

ServerStatusType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION 
        "The server status types in which the processes of the
         Apache HTTP server can be.
         The values are the status values of the Apache HTTP Server."
    SYNTAX      INTEGER { dead(1), starting(2), ready(3), read(4), 
                    write(5), keepalive(6), log(7), dns(8), graceful(9) }

ctServerStatusMIBObjects OBJECT IDENTIFIER
    ::= { covalentServerStatusMIB 1 }

ctServerStatusGlobals OBJECT IDENTIFIER
    ::= { ctServerStatusMIBObjects 1 }

ctServerStatusGeneration OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The server generation of the Apache children.
         This value gives also an indication of the
         number of restarts done of the Apache HTTP server."
    ::= { ctServerStatusGlobals 1 }

ctServerStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CtServerStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "This table maintains managed objects for the scoreboard.
         The table is maintained via 'slots' in which processes can serve requests
         from clients."
    ::= { ctServerStatusMIBObjects 2 }

ctServerStatusEntry OBJECT-TYPE
    SYNTAX      CtServerStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "The ctServerStatusEntry."
    INDEX       { ctServerStatusIndex }
    ::= { ctServerStatusTable 1 }

CtServerStatusEntry ::= SEQUENCE {
    ctServerStatusIndex                  Unsigned32,
    ctServerStatusProcessId              Unsigned32,
    ctServerStatusStatus                 ServerStatusType,
    ctServerStatusAccessCount            Counter32,
    ctServerStatusBytesServed            Counter32,
    ctServerStatusProcessAccessCount     Counter32,
    ctServerStatusProcessBytesServed     Counter32,
    ctServerStatusConnectionBytes        Counter32,
    ctServerStatusConnectionCount        Counter32,
    ctServerStatusStartTime              TimeStamp,
    ctServerStatusStopTime               TimeStamp,
    ctServerStatusClient                 DisplayString,
    ctServerStatusRequest                DisplayString,
    ctServerStatusVirtualHost            Unsigned32
}

ctServerStatusIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "The scoreboard index of the request serving process maintained
         in this running Apache HTTP-server."
    ::= { ctServerStatusEntry 1 }

ctServerStatusProcessId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The ProcessID of the current process serving requests from this slot."
    ::= { ctServerStatusEntry 2 }

ctServerStatusStatus OBJECT-TYPE
    SYNTAX      ServerStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The status of the request serving process."
    ::= { ctServerStatusEntry 3 }

ctServerStatusAccessCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The number of accesses handled by this slot in the server status.

        NOTE: This object has only a correct value when 'ExtendedStatus'
        is 'on'."
    ::= { ctServerStatusEntry 4 }

ctServerStatusBytesServed OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The number of bytes responded by this slot in the server status.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 5 }

ctServerStatusProcessAccessCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The number of accesses handled by this request serving process
        for this slot.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 6 }

ctServerStatusProcessBytesServed OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The number of bytes responded by this request serving process
        for this slot.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 7 }

ctServerStatusConnectionBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The number of bytes responded by the current connection for the
        request serving process for this slot.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 8 }

ctServerStatusConnectionCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The number of connections for the request serving process of
	this slot.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 9 }

ctServerStatusStartTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The timestamp of when this request serving process became active.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 10 }

ctServerStatusStopTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The timestamp of when this request serving process was finished.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 11 }

ctServerStatusClient OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The client that is connected to the request serving process.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 12 }

ctServerStatusRequest OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The request that the client request serving process.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 13 }

ctServerStatusVirtualHost OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The virtual host being access at the request serving process.

        NOTE: This object has only a correct value when 'ExtendedStatus' 
        is 'on'."
    ::= { ctServerStatusEntry 14 }

ctServerStatusMIBConformance OBJECT IDENTIFIER
    ::= { covalentServerStatusMIB 2 }

ctServerStatusMIBCompliances OBJECT IDENTIFIER
    ::= { ctServerStatusMIBConformance 1 }

ctServerStatusMIBGroups OBJECT IDENTIFIER
    ::= { ctServerStatusMIBConformance 2 }

ctServerStatusBasicGroup OBJECT-GROUP
    OBJECTS     { ctServerStatusGeneration }
    STATUS      current
    DESCRIPTION
        "The objects for basic compliances of the server status."
    ::= { ctServerStatusMIBGroups 1 }

ctServerStatusSlotGroup OBJECT-GROUP
    OBJECTS     { ctServerStatusProcessId,
                  ctServerStatusStatus, 
                  ctServerStatusAccessCount,
                  ctServerStatusBytesServed,
                  ctServerStatusProcessAccessCount,
                  ctServerStatusProcessBytesServed,
                  ctServerStatusConnectionBytes,
                  ctServerStatusConnectionCount,
                  ctServerStatusStartTime,
                  ctServerStatusStopTime,
                  ctServerStatusClient, 
                  ctServerStatusRequest,
                  ctServerStatusVirtualHost }
    STATUS      current
    DESCRIPTION 
        "The objects that are maintained via the 'scoreboard' of
         the Apache HTTP server in order to provide management information
         on the current connections."
    ::= { ctServerStatusMIBGroups 2 }

ctServerStatusBasicCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION 
        "The basic compliance statement for the SCOREBOARD-MIB."
    MODULE      -- this module
        MANDATORY-GROUPS        { ctServerStatusBasicGroup,
                ctServerStatusSlotGroup }
    ::= { ctServerStatusMIBCompliances 1 }

END
