-- *****************************************************************
-- FS-LOG-MIB.mib:  FS Log MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-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 FS-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        fsMgmt
                FROM FS-SMI;

fsLogMIB MODULE-IDENTITY
        LAST-UPDATED "200203200000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 

                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs event mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 4}

fsLogMIBObjects OBJECT IDENTIFIER ::= { fsLogMIB 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 
--

fsLogGlobalStatus 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 }
	::= { fsLogMIBObjects 1 }

fsLogSendConsoleStatus 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 }
	::= { fsLogMIBObjects 2 }	
	
fsLogSendConsoleMaxSeverity 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 }
	::= { fsLogMIBObjects 3 }	

fsLogSendMonitorStatus OBJECT-TYPE
        SYNTAX          EnabledStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates whether the system log will be sent to monitor(telnet)."
        DEFVAL { disabled }
	::= { fsLogMIBObjects 4 }
	
fsLogSendMonitorMaxSeverity 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 }
	::= { fsLogMIBObjects 5 }
  
fsLogSaveFileName 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 { ""}
        ::= { fsLogMIBObjects 6 }
			
fsLogFileMaxSeverity 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 } 	  
	::= { fsLogMIBObjects 7 }	
	
fsLogFileMaxSize OBJECT-TYPE
        SYNTAX Integer32(4096..2000000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The size of log file in units of byte."
        DEFVAL { 4096 }    
   ::= { fsLogMIBObjects 8 }      	
   
fsLogSendBufferStatus 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 }
	::= { fsLogMIBObjects 9 }
	
fsLogSendBufferMaxSeverity 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 }
	::= { fsLogMIBObjects 10 }

fsLogClearBuffer 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."
   ::= { fsLogMIBObjects 11 }      
	
--
-- log history table
--            
fsLogHisRecordMaxNum 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."
        ::= { fsLogMIBObjects 12 }

fsLogHisTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSLogHisEntry
        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."
    ::= { fsLogMIBObjects 13 }
    
fsLogHisEntry OBJECT-TYPE
        SYNTAX FSLogHisEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry obtains history information of each logging."
        INDEX { fsLogHisIndex }
        ::= { fsLogHisTable 1 }
        
FSLogHisEntry ::=
        SEQUENCE {
           fsLogHisIndex Integer32,
           fsLogHisSeverity LogSeverity,
           fsLogHisMsgName DisplayString ,
           fsLogHisDescription DisplayString,
           fsLogHisTime DateAndTime,
           fsLogHisStamps TimeStamp
        }
    
fsLogHisIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A unique vlaue for each log Entry."
        ::= { fsLogHisEntry 1 }
        
fsLogHisSeverity OBJECT-TYPE
        SYNTAX          LogSeverity
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
	       "The severity of the log message."
	::= { fsLogHisEntry 2 }
    
fsLogHisMsgName 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."
	::= { fsLogHisEntry 3 }
        
fsLogHisDescription OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..80))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Text description for this log message."
        ::= { fsLogHisEntry 4 }        

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

fsLogHisStamps 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."
        ::= { fsLogHisEntry 6 }   
        
fsLogSequenceGlobalStatus 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 }
	::= { fsLogMIBObjects 14 }    
	      
fsLogTimeStampGlobalStatus 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 }
	::= { fsLogMIBObjects 15}  	
	
	
fsLogSyslogRelayGlobalStatus 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 }
	::= { fsLogMIBObjects 16 }  


fsLogSyslogFacility OBJECT-TYPE
        SYNTAX          LogSyslogFacility
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
	       "Indicates which Facility value syslog will be
      	  sent to syslog server. "
        DEFVAL { localuse7} 	  
	::= { fsLogMIBObjects 17 }	
	
fsLogSyslogSeverity 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 }
	::= { fsLogMIBObjects 18 }
	
fsLogSyslogServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSLogSyslogServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "A list of the syslog server ."
        ::= { fsLogMIBObjects 19 }	
        

fsLogSyslogServerEntry OBJECT-TYPE
        SYNTAX FSLogSyslogServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry obtains information of each syslog server ."
        INDEX { fsLogSyslogServerIpAddr }
        ::= { fsLogSyslogServerTable 1 }        

FSLogSyslogServerEntry ::=
        SEQUENCE {
           fsLogSyslogServerIpAddr IpAddress,
           fsLogSyslogServerIpStatus ConfigStatus
        }   

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

	  
        
fsLogMIBConformance OBJECT IDENTIFIER ::= { fsLogMIB 4 }
fsLogMIBCompliances OBJECT IDENTIFIER ::= { fsLogMIBConformance 1 }
fsLogMIBGroups      OBJECT IDENTIFIER ::= { fsLogMIBConformance 2 }


-- compliance statements

fsLogMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the FS Log MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { fsLogMIBGroup
                 }
		

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


        ::= { fsLogMIBCompliances 1 }
                
-- units of conformance
       
fsLogMIBGroup OBJECT-GROUP
        OBJECTS {
           fsLogGlobalStatus,
           fsLogSendConsoleStatus,
           fsLogSendConsoleMaxSeverity,
           fsLogSendMonitorStatus,
           fsLogSendMonitorMaxSeverity, 
           fsLogSaveFileName,
           fsLogFileMaxSeverity,
           fsLogFileMaxSize,
           fsLogSendBufferStatus,
           fsLogSendBufferMaxSeverity,
           fsLogClearBuffer,
           fsLogHisRecordMaxNum,
           fsLogHisIndex,
           fsLogHisSeverity,
           fsLogHisMsgName,
           fsLogHisDescription,
           fsLogHisTime,
           fsLogSequenceGlobalStatus,
           fsLogTimeStampGlobalStatus,
           fsLogSyslogRelayGlobalStatus,
           fsLogSyslogFacility,
           fsLogSyslogSeverity,
           fsLogSyslogServerIpAddr,
           fsLogSyslogServerIpStatus,
           fsLogSyslogSendSrcIfindex,
           fsLogSyslogSendSrcIp           
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing logging to a
                 FS agent."
        ::= { fsLogMIBGroups 1 }                 
                
fsLogHisStampsMIBGroup OBJECT-GROUP
        OBJECTS { 
           fsLogHisStamps
        }
        STATUS  current
        DESCRIPTION
                "Collection of log history timestamp."  
        ::= { fsLogMIBGroups 2 }                 
       
END                  
  
