FLOWMON-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, enterprises, OBJECT-TYPE,
    Integer32					FROM SNMPv2-SMI
    DisplayString				FROM SNMPv2-TC
    OBJECT-GROUP				FROM SNMPv2-CONF;

flowmonMIB MODULE-IDENTITY
	LAST-UPDATED "202406050000Z"
	ORGANIZATION "Flowmon Networks a.s."
	CONTACT-INFO
		"postal:	Flowmon Networks a.s.
				Skrobarenska 5
				Brno, 617 00
		contact:	Flowmon Networks a.s."
	DESCRIPTION
		"MIB file for Flowmon appliances"
	REVISION "202406050000Z"
	DESCRIPTION
		"Fix syntax errors."
	REVISION "202202170000Z"
	DESCRIPTION
		"Fixed syntax errors, updated contact info."
	REVISION "201807160000Z"
	DESCRIPTION
		"Initial version of MIB."
	::= { flowmon 333 }

flowmon OBJECT IDENTIFIER ::= { enterprises 39499 }
flowmonApplianceInfo OBJECT IDENTIFIER ::= { flowmonMIB 1 }
flowmonStatusInfo OBJECT IDENTIFIER ::= { flowmonMIB 2 }
flowmonProcessInfo OBJECT IDENTIFIER ::= { flowmonMIB 3 }
flowmonQuotasInfo OBJECT IDENTIFIER ::= { flowmonMIB 4 }
flowmonGroups OBJECT IDENTIFIER ::= { flowmonMIB 100 }

flowmonHostname OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Flowmon hostname"
	::= { flowmonApplianceInfo 1 }

flowmonContactName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Flowmon contact name"
	::= { flowmonApplianceInfo 2 }

flowmonContactEmail OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Flowmon contact e-mail"
	::= { flowmonApplianceInfo 3 }

flowmonUptime OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Appliance uptime"
	::= { flowmonStatusInfo 1 }

flowmonLoad OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"Appliance load"
	::= { flowmonStatusInfo 2 }

DiskIOEntry ::= SEQUENCE {
	diskIOIndex         Integer32,
	diskIOName          DisplayString,
	diskIORPSADay       Integer32,
	diskIORPSAHour      Integer32,
	diskIOWPSADay       Integer32,
	diskIOWPSAHour      Integer32,
	diskIOAWaitADay     Integer32,
	diskIOAWaitAHour    Integer32,
	diskIOUtilADay      Integer32,
	diskIOUtilAHour     Integer32
}

flowmonDiskIOTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF DiskIOEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION "Table containing information about disk I/O usage"
	::= { flowmonStatusInfo 3 }

diskIOEntry OBJECT-TYPE
	SYNTAX     DiskIOEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION "Disk I/O table entry"
	INDEX      { diskIOIndex }
	::= { flowmonDiskIOTable  1 }

diskIOIndex OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Table index"
	::= { diskIOEntry 1 }

diskIOName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Disk (device) name"
	::= { diskIOEntry 2 }

diskIORPSADay OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Average of disk sectors read per second during a day"
	::= { diskIOEntry 3 }

diskIORPSAHour OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Average of disk sectors read per second during an hour"
	::= { diskIOEntry 4 }

diskIOWPSADay OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Average of disk sectors written per second during a day"
	::= { diskIOEntry 5 }

diskIOWPSAHour OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Average of disk sectors written per second during an hour"
	::= { diskIOEntry 6 }

diskIOAWaitADay OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION "Average of disk time in milliseconds to complete I/O request (wait+service) during a day"
	::= { diskIOEntry 7 }

diskIOAWaitAHour OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION "Average of disk time in milliseconds to complete I/O request (wait+service) during an hour"
	::= { diskIOEntry 8 }

diskIOUtilADay OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION "Average of disk I/O (bandwidth) utilization percentage [0-100%] during a day"
	::= { diskIOEntry 9 }

diskIOUtilAHour OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION "Average of disk I/O (bandwidth) utilization percentage [0-100%] during an hour"
	::= { diskIOEntry 10 }

sshdState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"SSHD service state"
	::= { flowmonProcessInfo 10 1 }

sshdMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"SSHD service memory usage (kBytes)"
	::= { flowmonProcessInfo 10 2 }

postgresqlState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"PostgreSQL service state"
	::= { flowmonProcessInfo 10 3 }

postgresqlMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"PostgreSQL service memory usage (kBytes)"
	::= { flowmonProcessInfo 10 4 }

httpdState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"HTTPD service state"
	::= { flowmonProcessInfo 10 5 }

httpdMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"HTTPD service memory usage (kBytes)"
	::= { flowmonProcessInfo 10 6 }

pmgmtState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"PMGMT service state"
	::= { flowmonProcessInfo 10 7 }

pmgmtMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"PMGMT service memory usage (kBytes)"
	::= { flowmonProcessInfo 10 8 }

dswState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"DSW service state"
	::= { flowmonProcessInfo 10 9 }

dswMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"DSW service memory usage (kBytes)"
	::= { flowmonProcessInfo 10 10 }

nfsenState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"NFSEN service state"
	::= { flowmonProcessInfo 10 11 }

nfsenMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"NFSEN service memory usage (kBytes)"
	::= { flowmonProcessInfo 10 12 }

flowmonexpState OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"FLOWMONEXP (probe) status"
	::= { flowmonProcessInfo 10 13 }

flowmonexpMemUsage OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"FLOWMONEXP (probe) memory usage (kBytes)"
	::= { flowmonProcessInfo 10 14 }

pluginQuotasTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF PluginEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION "Plugin quotas table"
	::= { flowmonQuotasInfo 1 }

pluginEntry OBJECT-TYPE
	SYNTAX     PluginEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION "Plugin table entry"
	INDEX      { pluginIndex }
	::= { pluginQuotasTable  1 }

PluginEntry ::= SEQUENCE {
	pluginIndex   Integer32,
	pluginName    DisplayString,
	pluginCurSizeMB Integer32,
	pluginCurSizeGB Integer32,
	pluginMaxSizeMB Integer32,
	pluginMaxSizeGB Integer32
}

pluginIndex OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Plugin table index"
	::= { pluginEntry 1 }

pluginName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Plugin name"
	::= { pluginEntry 2 }

pluginCurSizeMB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Current plugin disk usage (MBytes)"
	::= { pluginEntry 3 }

pluginCurSizeGB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Current plugin disk usage (GBytes)"
	::= { pluginEntry 4 }

pluginMaxSizeMB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Maximum plugin disk usage (MBytes)"
	::= { pluginEntry 5 }

pluginMaxSizeGB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Maximum plugin disk usage (GBytes)"
	::= { pluginEntry 6 }

profileQuotasTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ProfileEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION "Profile quotas table"
	::= { flowmonQuotasInfo 2 }

profileEntry OBJECT-TYPE
	SYNTAX     ProfileEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION "Profile table entry"
	INDEX      { profileIndex }
	::= { profileQuotasTable  1 }

ProfileEntry ::= SEQUENCE {
	profileIndex   Integer32,
	profileName    DisplayString,
	profileCurSizeMB Integer32,
	profileCurSizeGB Integer32,
	profileMaxSizeMB Integer32,
	profileMaxSizeGB Integer32
}

profileIndex OBJECT-TYPE
	SYNTAX		Integer32 (0..2147483647)
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Profile table index"
	::= { profileEntry 1 }

profileName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Profile name"
	::= { profileEntry 2 }

profileCurSizeMB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Current disk usage of profile (MBytes)"
	::= { profileEntry 3 }

profileCurSizeGB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Current disk usage of profile (GBytes)"
	::= { profileEntry 4 }

profileMaxSizeMB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Maximum disk usage of profile (MBytes)"
	::= { profileEntry 5 }

profileMaxSizeGB OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"Maximum disk usage of profile (GBytes)"
	::= { profileEntry 6 }

systemInfoGroup OBJECT-GROUP
        OBJECTS {
			flowmonHostname,
			flowmonContactName,
			flowmonContactEmail,
			flowmonUptime,
			flowmonLoad
        }
        STATUS     current
        DESCRIPTION "Flowmon system information"
        ::= { flowmonGroups  1 }

profileEntryGroup OBJECT-GROUP
        OBJECTS {
			profileIndex,
			profileName,
			profileCurSizeMB,
			profileCurSizeGB,
			profileMaxSizeMB,
			profileMaxSizeGB
        }
        STATUS     current
        DESCRIPTION "Profile table entry"
        ::= { flowmonGroups  2 }

pluginEntryGroup OBJECT-GROUP
        OBJECTS {
			pluginIndex,
			pluginName,
			pluginCurSizeMB,
			pluginCurSizeGB,
			pluginMaxSizeMB,
			pluginMaxSizeGB
        }
        STATUS     current
	DESCRIPTION "Plugin table entry"
        ::= { flowmonGroups  3 }

diskIOEntryGroup OBJECT-GROUP
        OBJECTS {
			diskIOIndex,
			diskIOName,
			diskIORPSADay,
			diskIORPSAHour,
			diskIOWPSADay,
			diskIOWPSAHour,
			diskIOAWaitADay,
			diskIOAWaitAHour,
			diskIOUtilADay,
			diskIOUtilAHour
        }
        STATUS     current
	DESCRIPTION "Disk I/O table entry"
        ::= { flowmonGroups  4 }

processStateGroup OBJECT-GROUP
        OBJECTS {
			sshdState,
			sshdMemUsage,
			postgresqlState,
			postgresqlMemUsage,
			httpdState,
			httpdMemUsage,
			pmgmtState,
			pmgmtMemUsage,
			dswState,
			dswMemUsage,
			nfsenState,
			nfsenMemUsage,
			flowmonexpState,
			flowmonexpMemUsage
        }
        STATUS     current
	DESCRIPTION "Important processes - state and memory usage"
        ::= { flowmonGroups  5 }

END
