-- *****************************************************************
-- QTECH-LOG-MIB.mib:  Qtech Log MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

QTECH-LOG-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        IpAddress
                FROM SNMPv2-SMI
        DisplayString,
        DateAndTime,
        TimeStamp,
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB
        ConfigStatus,
        IfIndex
                FROM QTECH-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        qtechMgmt
                FROM QTECH-SMI;

qtechLogMIB MODULE-IDENTITY
        LAST-UPDATED "200203200000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech event mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 4}

qtechLogMIBObjects OBJECT IDENTIFIER ::= { qtechLogMIB 1 }

       
LogSeverity ::= TEXTUAL-CONVENTION
	STATUS	current
	DESCRIPTION
	       "The severity of a log message."
	SYNTAX	INTEGER {
			emergency(0),
			alert(1),
			critical(2),
			error(3),
			warning(4),
			notice(5),
			info(6),
			debug(7)
		}      
LogTimeStamp ::= TEXTUAL-CONVENTION
	STATUS	current
	DESCRIPTION
	       "The timestamp of a log message."
	SYNTAX	INTEGER {
			disabled(1),
			datetime(2),
			uptime(3)
	
		}     

LogSyslogFacility ::= TEXTUAL-CONVENTION
	STATUS	current
	DESCRIPTION
	       "The facility of a syslog message."
	SYNTAX	INTEGER {
                        kernel(0),                            
			user(1),                        
			mail(2),                              
			system(3),     
			security(4),                                                
			syslogd(5),    
			lineprinter(6),                      
			network(7),                      
			uUCP(8),                              
			clockdaemon(9),                     
			authorization(10),  
			fTP(11),                                  
			nTP(12),                               
			logaudit(13),                         
			logalert(14),                       
			clockdaemon2(15),                   
			localuse0(16),                      
			localuse1(17),                     
			localuse2(18),                       
			localuse3(19),                       
			localuse4(20),                       
			localuse5(21),                       
			localuse6(22),                       
			localuse7(23)                     
		}   		
--
-- Log 
--

qtechLogGlobalStatus OBJECT-TYPE
        SYNTAX          EnabledStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates whether the system logging feature is currently 
           running in the device."
	DEFVAL { enabled }
	::= { qtechLogMIBObjects 1 }

qtechLogSendConsoleStatus OBJECT-TYPE
        SYNTAX          EnabledStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates whether the system log will be sent to console(out-band)."
        DEFVAL { enabled }
	::= { qtechLogMIBObjects 2 }	
	
qtechLogSendConsoleMaxSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which severity levels system log will be
      	  sent to console(out-band).  Any system log message with a severity value
      	  greater than this value will be ignored by the agent.Setting this value
      	  to 0 will prevent any log to send to console."
      	DEFVAL { debug }
	::= { qtechLogMIBObjects 3 }	

qtechLogSendMonitorStatus OBJECT-TYPE
        SYNTAX          EnabledStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates whether the system log will be sent to monitor(telnet)."
        DEFVAL { disabled }
	::= { qtechLogMIBObjects 4 }
	
qtechLogSendMonitorMaxSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which severity levels system log will be
      	  sendt to monitor(telnet).  Any system log message with a severity value
      	  greater than this value will be ignored by the agent.Setting this value
      	  to 0 will prevent any log to send to telnet."
        DEFVAL { debug }
	::= { qtechLogMIBObjects 5 }
  
qtechLogSaveFileName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Setting this value to a non-null string will save all entries of event log 
             table into file which name is assigned by this value. Setting this value 
             to a null string will not save log to file."
        DEFVAL { ""}
        ::= { qtechLogMIBObjects 6 }
			
qtechLogFileMaxSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which severity levels system log will be
      	  sent to monitor(telnet).  Any system log message with a severity value
      	  greater than this value will be ignored by the agent.Setting this value
      	  to 0 will prevent any log to send to telnet."
        DEFVAL { notice } 	  
	::= { qtechLogMIBObjects 7 }	
	
qtechLogFileMaxSize OBJECT-TYPE
        SYNTAX Integer32(4096..2000000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The size of log file in units of byte."
        DEFVAL { 4096 }    
   ::= { qtechLogMIBObjects 8 }      	
   
qtechLogSendBufferStatus OBJECT-TYPE
        SYNTAX          EnabledStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates whether the system log will be sent to buffer for retaining."
        DEFVAL { enabled }
	::= { qtechLogMIBObjects 9 }
	
qtechLogSendBufferMaxSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which severity levels system log will be
      	  sendt to monitor(telnet).  Any system log message with a severity value
      	  greater than this value will be ignored by the agent.Setting this value
      	  to 0 will prevent any log to send to telnet."
        DEFVAL { debug }
	::= { qtechLogMIBObjects 10 }

qtechLogClearBuffer OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "It will clear logging buffer to set this object to any value but 0,
             Set its value to 0 will cause no action of agent,  
             when query always return value 0."
   ::= { qtechLogMIBObjects 11 }      
	
--
-- log history table
--            
qtechLogHisRecordMaxNum OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The upper limit on the number of entries that the
                log history table may contain."
        ::= { qtechLogMIBObjects 12 }

qtechLogHisTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechLogHisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of log history record , and when the table is full 
             the oldest entry will be deleted and a new one will be created."
    ::= { qtechLogMIBObjects 13 }
    
qtechLogHisEntry OBJECT-TYPE
        SYNTAX QtechLogHisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry obtains history information of each logging."
        INDEX { qtechLogHisIndex }
        ::= { qtechLogHisTable 1 }
        
QtechLogHisEntry ::=
        SEQUENCE {
           qtechLogHisIndex Integer32,
           qtechLogHisSeverity LogSeverity,
           qtechLogHisMsgName DisplayString ,
           qtechLogHisDescription DisplayString,
           qtechLogHisTime DateAndTime,
           qtechLogHisStamps TimeStamp
        }
    
qtechLogHisIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A unique vlaue for each log Entry."
        ::= { qtechLogHisEntry 1 }
        
qtechLogHisSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
	       "The severity of the log message."
	::= { qtechLogHisEntry 2 }
    
qtechLogHisMsgName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..30))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
	       "A textual identification for the log message type.  A 
		     facility name  uniquely identifies a message type."
	::= { qtechLogHisEntry 3 }
        
qtechLogHisDescription OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..80))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Text description for this log message."
        ::= { qtechLogHisEntry 4 }        

qtechLogHisTime OBJECT-TYPE
        SYNTAX DateAndTime
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Date and time for this message was generated. "
        ::= { qtechLogHisEntry 5 }

qtechLogHisStamps OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The history timestamp that is multipled by 0.01s from the Startup to log print."
        ::= { qtechLogHisEntry 6 }   
        
qtechLogSequenceGlobalStatus OBJECT-TYPE
	SYNTAX          EnabledStatus
	MAX-ACCESS      read-write
	STATUS          current
	DESCRIPTION
	       "Indicates whether the  system log sequence  feature is currently 
	   running in the device."
	DEFVAL { disabled }
	::= { qtechLogMIBObjects 14 }    
	      
qtechLogTimeStampGlobalStatus OBJECT-TYPE
	SYNTAX          LogTimeStamp
	MAX-ACCESS      read-write
	STATUS          current
	DESCRIPTION
	       "Indicates whether the  system log timestamp date feature is currently 
	   running in the device."
	DEFVAL { datetime }
	::= { qtechLogMIBObjects 15}  	
	
	
qtechLogSyslogRelayGlobalStatus OBJECT-TYPE
	SYNTAX          EnabledStatus
	MAX-ACCESS      read-write
	STATUS          current
	DESCRIPTION
	       "Indicates whether the  syslog relay feature is currently 
	   running in the device."
	DEFVAL { disabled }
	::= { qtechLogMIBObjects 16 }  


qtechLogSyslogFacility OBJECT-TYPE
        SYNTAX          LogSyslogFacility
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which Facility value syslog will be
      	  sent to syslog server. "
        DEFVAL { localuse7} 	  
	::= { qtechLogMIBObjects 17 }	
	
qtechLogSyslogSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which severity levels syslog will be
      	  sent to syslog server.  Any syslog message with a severity value
      	  greater than this value will be ignored."
      	DEFVAL { debug }
	::= { qtechLogMIBObjects 18 }
	
qtechLogSyslogServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechLogSyslogServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "A list of the syslog server ."
        ::= { qtechLogMIBObjects 19 }	
        

qtechLogSyslogServerEntry OBJECT-TYPE
        SYNTAX QtechLogSyslogServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry obtains information of each syslog server ."
        INDEX { qtechLogSyslogServerIpAddr }
        ::= { qtechLogSyslogServerTable 1 }        

QtechLogSyslogServerEntry ::=
        SEQUENCE {
           qtechLogSyslogServerIpAddr IpAddress,
           qtechLogSyslogServerIpStatus ConfigStatus
        }   

qtechLogSyslogServerIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A ip address of a syslog server."
        ::= { qtechLogSyslogServerEntry 1 }     
                                 
qtechLogSyslogServerIpStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "entry status. Setting this value to 'invalid' will remove this server"
        ::= { qtechLogSyslogServerEntry 2 }
        
qtechLogSyslogSendSrcIfindex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The source ifindex which syslog send ."
        ::= { qtechLogMIBObjects 20 }  
   
qtechLogSyslogSendSrcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The source Ip which syslog send ."
        ::= { qtechLogMIBObjects 21}        
        

	  
        
qtechLogMIBConformance OBJECT IDENTIFIER ::= { qtechLogMIB 4 }
qtechLogMIBCompliances OBJECT IDENTIFIER ::= { qtechLogMIBConformance 1 }
qtechLogMIBGroups      OBJECT IDENTIFIER ::= { qtechLogMIBConformance 2 }


-- compliance statements

qtechLogMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Log MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechLogMIBGroup
                 }
		

		GROUP qtechLogHisStampsMIBGroup
		DESCRIPTION  
                     "This group is mandatory when the system has no RTC."  


        ::= { qtechLogMIBCompliances 1 }
                
-- units of conformance
       
qtechLogMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechLogGlobalStatus,
           qtechLogSendConsoleStatus,
           qtechLogSendConsoleMaxSeverity,
           qtechLogSendMonitorStatus,
           qtechLogSendMonitorMaxSeverity, 
           qtechLogSaveFileName,
           qtechLogFileMaxSeverity,
           qtechLogFileMaxSize,
           qtechLogSendBufferStatus,
           qtechLogSendBufferMaxSeverity,
           qtechLogClearBuffer,
           qtechLogHisRecordMaxNum,
           qtechLogHisIndex,
           qtechLogHisSeverity,
           qtechLogHisMsgName,
           qtechLogHisDescription,
           qtechLogHisTime,
           qtechLogSequenceGlobalStatus,
           qtechLogTimeStampGlobalStatus,
           qtechLogSyslogRelayGlobalStatus,
           qtechLogSyslogFacility,
           qtechLogSyslogSeverity,
           qtechLogSyslogServerIpAddr,
           qtechLogSyslogServerIpStatus,
           qtechLogSyslogSendSrcIfindex,
           qtechLogSyslogSendSrcIp           
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing logging to a
                 Qtech agent."
        ::= { qtechLogMIBGroups 1 }                 
                
qtechLogHisStampsMIBGroup OBJECT-GROUP
        OBJECTS { 
           qtechLogHisStamps
        }
        STATUS  current
        DESCRIPTION
                "Collection of log history timestamp."  
        ::= { qtechLogMIBGroups 2 }                 
       
END                  
  
