Next: , Previous: , Up: Top   [Contents][Index]


Appendix A HOSTPROC-MIB

HOSTPROC-MIB DEFINITIONS ::= BEGIN

-- *************************************************************
--
-- Host processes MIB
--
-- *************************************************************

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, enterprises, Integer32, Gauge32,
	                 TimeTicks
		FROM SNMPv2-SMI
	TEXTUAL-CONVENTION, DisplayString, TimeStamp, DateAndTime, TruthValue
		FROM SNMPv2-TC;

hostprocMIB MODULE-IDENTITY
        LAST-UPDATED "202010091559Z"
	ORGANIZATION "Gray Software"
	CONTACT-INFO "Sergey Poznyakoff <gray@gnu.org>"
	DESCRIPTION
	        "This MIB module defines objects for detailed host
	         processes statistics."
	REVISION "202010091559Z"
	DESCRIPTION
		"First release."
	::= { enterprises 9163 104 }

hostprocManagement OBJECT IDENTIFIER ::= { hostprocMIB 1 }

hostprocUpTime	OBJECT-TYPE
        SYNTAX TimeStamp
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	        "Total uptime of the Hostproc SNMP agent."
     	::= { hostprocManagement 1 }

processGroupModify  OBJECT-TYPE
  	SYNTAX      OCTET STRING (SIZE(0..1024))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "String which when set, registers new group."
	::= { hostprocManagement 2 }

ProcessEntry	::= SEQUENCE {
	processIndex	Integer32,
	processPID	Integer32,
	processPPID	Integer32,
	processUID	Integer32,
	processGID	Integer32,
	processCPUAvg	Gauge32,
	processCPUInst	Gauge32,
	processTime	TimeTicks,
	processState	DisplayString,
	processNice	Integer32,
	processPriority	Integer32,
	processVSZ	Gauge32,
	processRSS	Gauge32,
	processComm	DisplayString,
	processCmdline	DisplayString,
	processExe	DisplayString
}

processTable   	     OBJECT-TYPE
        SYNTAX  SEQUENCE OF ProcessEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
	        "Process table."
	::= { hostprocMIB 2 }

processEntry          OBJECT-TYPE
        SYNTAX	   ProcessEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	        "An entry (conceptual row) describing a process."
	INDEX { processIndex }
	::= { processTable 1 }

processIndex	        OBJECT-TYPE
        SYNTAX  Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	        "A number uniquely identifying each proc."
	::= { processEntry 1 }

processPID	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"PID of the process."
	::= { processEntry 2 }
	
processPPID	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"PID of the process parent."
	::= { processEntry 3 }
	
processUID	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Real UID of the process."
	::= { processEntry 4 }
	
processGID	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Real GID of the process."
	::= { processEntry 5 }
	
processCPUAvg	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Average CPU usage (percent)."
	::= { processEntry 6 }

processCPUInst	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Instantaneous CPU usage (percent)."
	::= { processEntry 7 }

processTime	OBJECT-TYPE
	SYNTAX	TimeTicks
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Amount of time this process has been scheduled."
	::= { processEntry 8 }
	
processState	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"State of the process."
	::= { processEntry 9 }
	
processNice	OBJECT-TYPE
	SYNTAX	Integer32 (-20 .. 20)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The nice value of the process."
	::= { processEntry 10 }
	
processPriority	OBJECT-TYPE
	SYNTAX	Integer32 (-100 .. 20)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"For processes running a real-time scheduling policy,
		 this is the negated scheduling priority, minus one;
		 that is, a number in the range -2 to  -100,
		 corresponding to real-time priorities 1 to 99.
		 For  processes running under a non-real-time
	         scheduling policy, this is the raw nice value as
		 represented in the  kernel (in the range -20 to 19."
	::= { processEntry 11 }
	
processVSZ	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS       "kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Virtual memory size in bytes."
	::= { processEntry 12 }
		
processRSS	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS       "kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Resident Set Size: the non-swapped physical memory
	         that the process uses (in kiloBytes)."
	::= { processEntry 13 }
	
processComm	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The filename of the executable (argv[0])."
	::= { processEntry 14 }
	
processCmdline	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Full command line of the process."
	::= { processEntry 15 }
	
processExe	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Actual file name of the executable."
	::= { processEntry 16 }

ProcessMatchField ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The field of ProcessEntry used for grouping."
    SYNTAX      INTEGER { ProcessComm(0), ProcessExe(1), ProcessCmdline(2) }

ProcessMatchType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "Type of pattern matching."
    SYNTAX	INTEGER	{ exact(0), basename(1), regexp(2) }    

ProcessGroupEntry	::= SEQUENCE {
	processGroupIndex	Integer32,
	processGroupName	DisplayString,
	processGroupPattern   DisplayString,
	processGroupField     ProcessMatchField,
	processGroupMatch     ProcessMatchType,
	processGroupOK	TruthValue
	processGroupMinCount	Integer32,
	processGroupMaxCount	Integer32,
	processGroupMaxVSZ	Gauge32,
	processGroupMaxRSS	Gauge32,
	processGroupMaxCPU	Gauge32,
	processGroupCount	Integer32,
	processGroupCPUMax	Gauge32,
	processGroupCPUAvg	Gauge32,
	processGroupCPUInst	Gauge32,
	processGroupVSZ	Gauge32,
	processGroupRSS	Gauge32,	
}

processGroupTable   	     OBJECT-TYPE
        SYNTAX  SEQUENCE OF ProcessGroupEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
	        "Process group aggregates data from several processes.
		 The processes are grouped by their name (either
                 executable or argv[0]) or by entire command line,
                 which is matched against processGroupPattern.  Exact,
		 extended regular expression, or basename matching can
		 be used."
	::= { hostprocMIB 3 }

processGroupEntry          OBJECT-TYPE
        SYNTAX	   ProcessGroupEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	        "An entry (conceptual row) describing a process group."
	INDEX { processGroupIndex }
	::= { processGroupTable 1 }

processGroupIndex	        OBJECT-TYPE
        SYNTAX  Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	        "A number uniquely identifying each entry in the group
                 table."
	::= { processGroupEntry 1 }

processGroupName	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Name of this process group."
	::= { processGroupEntry 2 }

processGroupPattern   OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Pattern used to select processes for this group."
	::= { processGroupEntry 3 }

processGroupField     OBJECT-TYPE
	SYNTAX	ProcessMatchField
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"ProcessEntry field used for grouping."
	::= { processGroupEntry 4 }
		
processGroupMatch     OBJECT-TYPE
	SYNTAX	ProcessMatchType
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Pattern matching type.  Either exact or extended
	         regular expression matching can be requested.
		 Unless entire command line is matched, the basename
		 matching is also allowed.  This matching extracts the
		 base file name from both pattern and the selected
	         field and compares them."
	::= { processGroupEntry 5 }

processGroupOK	OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"A flag indicating status of the group.  It is true(1)
		 when the number of processes and the total amount of
		 resources used by them is within the configured
		 range and false(2) otherwise."
	::= { processGroupEntry 6 }
	
processGroupMinCount	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The minimum number of processes that should be
                 running in this group.  The OK flag is cleared if the
		 number of running processes falls below this minimum."
	::= { processGroupEntry 7 }

processGroupMaxCount	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The maximum number of processes that should be
		 running in this group.  Zero or negative number
	         stands for infinity.  The OK flag is cleared if the number
	         of running processes becomes greater than the maximum."
	::= { processGroupEntry 8 }

processGroupMaxVSZ	OBJECT-TYPE
	SYNTAX		Gauge32
	UNITS       "kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
	        "The maximum total value of the virtual memory size
		 used by processes in this group.  The OK flag is
	         cleared if the total VSZ becomes greater than this value." 
	::= { processGroupEntry 9 }
		 
processGroupMaxRSS	OBJECT-TYPE
	SYNTAX		Gauge32
	UNITS		"kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
	        "The maximum total value of the RSS for use by
	         this group.  The OK flag is cleared if the actual
	         total RSS becomes greater than this value." 
	::= { processGroupEntry 10 }

processGroupMaxCPU	OBJECT-TYPE
	SYNTAX		Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The maximum value of instantaneous CPU usage (in
	         percent) allowed for this group.  The OK flag is
		 cleared if the actual usage becomes greater than
		 this value."
	::= { processGroupEntry 11 }

processGroupCount	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Number of the running processes in this group."
	::= { processGroupEntry 12 }

processGroupCPUMax	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Maximum instantaneous CPU usage (percent)."
	::= { processGroupEntry 13 }

processGroupCPUAvg	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Average total CPU usage (percent)."
	::= { processGroupEntry 14 }

processGroupCPUInst	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Average instantaneous CPU usage (percent)."
	::= { processGroupEntry 15 }

processGroupVSZ	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS       "kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Total virtual memory size in bytes."
	::= { processGroupEntry 16 }
		
processGroupRSS	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS	"kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Total Resident Set Size: the non-swapped physical memory
	         that is in use by the processes in this group."
	::= { processGroupEntry 17 }

ProcessExcludedEntry	::= SEQUENCE {
	processExcludedIndex	Integer32,
	processExcludedName	DisplayString,
	processExcludedPattern  DisplayString,
	processExcludedField    ProcessMatchField,
	processExcludedMatch    ProcessMatchType,
	processExcludedOK	TruthValue
	processExcludedMinCount	Integer32,
	processExcludedMaxCount	Integer32,
	processExcludedMaxVSZ	Gauge32,
	processExcludedMaxRSS	Gauge32,
	processExcludedMaxCPU	Gauge32,
	processExcludedCount	Integer32,
	processExcludedCPUMax	Gauge32,
	processExcludedCPUAvg	Gauge32,
	processExcludedCPUInst	Gauge32,
	processExcludedVSZ	Gauge32,
	processExcludedRSS	Gauge32,	
}

processExcludedTable   	     OBJECT-TYPE
        SYNTAX  SEQUENCE OF ProcessExcludedEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
	        "Exclusion group defines processes that descend from a
                 common ancestor or from a set of common ancestors.
                 Such processes are excluded from both the processTable
                 and the processGroupTable.  Their total statistics
		 is preserved in this table.

                 The set of common ancestors is composed from the
                 processes that match the processExcludedPattern.
		 The matching algorithm is the same as used in the
		 processGroupTable."
	::= { hostprocMIB 4 }

processExcludedEntry          OBJECT-TYPE
        SYNTAX	   ProcessExcludedEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	        "An entry (conceptual row) describing a group of
                 excluded processes."
	INDEX { processExcludedIndex }
	::= { processExcludedTable 1 }

processExcludedIndex	        OBJECT-TYPE
        SYNTAX  Integer32 (0..65535)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	        "A number uniquely identifying each entry in the
                 exclusion table."
	::= { processExcludedEntry 1 }

processExcludedName	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Name of the entry identifies the exclusion group."
	::= { processExcludedEntry 2 }

processExcludedPattern   OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Pattern used to select ancestors for processes in this group."
	::= { processExcludedEntry 3 }

processExcludedField     OBJECT-TYPE
	SYNTAX	ProcessMatchField
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"ProcessEntry field used for grouping."
	::= { processExcludedEntry 4 }
		
processExcludedMatch     OBJECT-TYPE
	SYNTAX	ProcessMatchType
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Pattern matching type."
	::= { processExcludedEntry 5 }

processExcludedOK	OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"A flag indicating status of the group.  It is true(1)
		 when the number of processes and the total amount of
		 resources used by them is within the configured
		 range and false(2) otherwise."
	::= { processExcludedEntry 6 }
	
processExcludedMinCount	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The minimum number of processes that should be
                 running.  The OK flag is cleared if the number of
                 running processes falls below this minimum."
	::= { processExcludedEntry 7 }

processExcludedMaxCount	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The maximum number of processes that should be
		 running.  Zero or negative number stands for
	         infinity.  The OK flag is cleared if the number
	         of running processes becomes greater than the maximum."
	::= { processExcludedEntry 8 }

processExcludedMaxVSZ	OBJECT-TYPE
	SYNTAX		Gauge32
	UNITS       "kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
	        "The maximum value of the virtual memory size the
	         excluded processes are allowed to use.  The OK flag
	         is cleared if the actual virtual memory usage becomes
		 greater than this value." 
	::= { processExcludedEntry 9 }
		 
processExcludedMaxRSS	OBJECT-TYPE
	SYNTAX		Gauge32
	UNITS		"kB"	
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
	        "The maximum total value of the RSS for use by
	         this group.  The OK flag is cleared if the actual
	         total RSS becomes greater than this value." 
	::= { processExcludedEntry 10 }

processExcludedMaxCPU	OBJECT-TYPE
	SYNTAX		Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The maximum value of intantaneous CPU usage (in
	         percent) allowed for this process group.  The OK flag
	         is cleared if the actual usage becomes greater than
	         this value." 
	::= { processExcludedEntry 11 }

processExcludedCount	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Number of the running processes in this group."
	::= { processExcludedEntry 12 }

processExcludedCPUMax	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Maximum instantaneous CPU usage (percent)."
	::= { processExcludedEntry 13 }

processExcludedCPUAvg	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Average total CPU usage (percent)."
	::= { processExcludedEntry 14 }

processExcludedCPUInst	OBJECT-TYPE
	SYNTAX	Gauge32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Average instantaneous CPU usage (percent)."
	::= { processExcludedEntry 15 }

processExcludedVSZ	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS       "kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Total virtual memory size in bytes."
	::= { processExcludedEntry 16 }
		

processExcludedRSS	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS		"kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
	        "The maximum total value of the RSS for use by
	         this group.  The OK flag is cleared if the actual
	         total RSS becomes greater than this value." 
	::= { processExcludedEntry 17 }

hostMemInfo OBJECT IDENTIFIER ::= { hostprocMIB 5 }

hostMemTotal	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS	"kB"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Total usable RAM"
	::= { hostMemInfo 1 }
	
hostMemAvailable	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS	"kB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"An estimate of how much memory is available for
	         starting new applications, without swapping."
	::= { hostMemInfo 2 }
	
hostMemFree	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS	"kB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Total free RAM"
	::= { hostMemInfo 3 }

hostSwapTotal	OBJECT-TYPE
	SYNTAX	Gauge32
	UNITS	"kB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Total amount of swap space available."
	::= { hostMemInfo 4 }
	
hostSwapFree	OBJECT-TYPE
	SYNTAX  Gauge32
	UNITS   "kB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Amount of swap space that is currently unused."
	::= { hostMemInfo 5 }

END

-- Local variables:
-- eval: (add-hook 'write-file-hooks 'time-stamp)
-- time-stamp-start: "\\(LAST-UPDATED\\|REVISION\\)  *\""
-- time-stamp-end: "\""
-- time-stamp-format: "%:y%02m%02d%02H%02MZ"
-- time-stamp-line-limit: 32
-- time-stamp-count: 2
-- end:






Next: , Previous: , Up: Top   [Contents][Index]