From 5841371481afe5f4a9486483a2287dd88d2dff9a Mon Sep 17 00:00:00 2001 From: Robert Sander Date: Thu, 17 Oct 2024 14:06:42 +0200 Subject: [PATCH] adds cluster state check --- .../forcepoint_firewall-0.2.0.mkp | Bin 2690 -> 0 bytes .../forcepoint_firewall-0.3.0.mkp | Bin 0 -> 10470 bytes .../agent_based/forcepoint_firewall_hw.py | 84 + .../snmp/mibs/FORCEPOINT-NGFW-ENGINE-MIB | 1555 +++++++++++++++++ 4 files changed, 1639 insertions(+) delete mode 100644 forcepoint_firewall/forcepoint_firewall-0.2.0.mkp create mode 100644 forcepoint_firewall/forcepoint_firewall-0.3.0.mkp create mode 100644 forcepoint_firewall/share/snmp/mibs/FORCEPOINT-NGFW-ENGINE-MIB diff --git a/forcepoint_firewall/forcepoint_firewall-0.2.0.mkp b/forcepoint_firewall/forcepoint_firewall-0.2.0.mkp deleted file mode 100644 index 395a228f98663063e0508033495d59cba98d7b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2690 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 diff --git a/forcepoint_firewall/forcepoint_firewall-0.3.0.mkp b/forcepoint_firewall/forcepoint_firewall-0.3.0.mkp new file mode 100644 index 0000000000000000000000000000000000000000..65ad757fdc5fb6336b6b8c6cfba92a3dca71279c GIT binary patch literal 10470 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 CheckResult check_ruleset_name='el_inphase', check_default_parameters={}, ) + + +# .--Cluster Status------------------------------------------------------. +# | ____ _ _ ____ _ _ | +# | / ___| |_ _ ___| |_ ___ _ __ / ___|| |_ __ _| |_ _ _ ___ | +# | | | | | | | / __| __/ _ \ '__| \___ \| __/ _` | __| | | / __| | +# | | |___| | |_| \__ \ || __/ | ___) | || (_| | |_| |_| \__ \ | +# | \____|_|\__,_|___/\__\___|_| |____/ \__\__,_|\__|\__,_|___/ | +# | | +# +----------------------------------------------------------------------+ +# | | +# '----------------------------------------------------------------------' +#. + +def parse_forcepoint_firewall_cluster_status(string_table): + section = {} + if len(string_table) == 1 and len(string_table[0]) == 6: + line = string_table[0] + section = { + 'Cluster ID': int(line[0]), + 'Member ID': int(line[1]), + 'Node Operational State': _map_node_oper_status.get(int(line[2]), (State.UNKNOWN, "Unknown state %s" % line[2])), + 'Appliance Model': line[3], + 'POS Code': line[4], + 'Serial': line[5], + } + return section + +def host_label_forcepoint_firewall_cluster_status(section) -> HostLabelGenerator: + if section: + yield HostLabel('forcepoint/clusterid', str(section['Cluster ID'])) + yield HostLabel('forcepoint/model', section['Appliance Model']) + +register.snmp_section( + name="forcepoint_firewall_cluster_status", + detect=contains(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.47565.1.1"), + parse_function=parse_forcepoint_firewall_cluster_status, + host_label_function=host_label_forcepoint_firewall_cluster_status, + fetch=SNMPTree( + base=".1.3.6.1.4.1.47565.1.1.1.19", + oids=[ + '1.0', # nodeClusterId + '2.0', # nodeMemberId + '3.0', # nodeOperState + '9.0', # nodeApplianceModel + '10.0', # nodePosCode + '13.0', # nodeHardwareSerialNumber + ] + ), +) + +def discover_forcepoint_firewall_cluster_status(section) -> DiscoveryResult: + if section: + yield Service() + +def check_forcepoint_firewall_cluster_status(section) -> CheckResult: + for key, value in section.items(): + if isinstance(value, tuple): + yield Result(state=value[0], summary='%s: %s' % ( key, value[1])) + else: + yield Result(state=State.OK, summary='%s: %s' % ( key, value)) + +register.check_plugin( + name='forcepoint_firewall_cluster_status', + service_name="ForcePoint Cluster Status", + discovery_function=discover_forcepoint_firewall_cluster_status, + check_function=check_forcepoint_firewall_cluster_status, +) diff --git a/forcepoint_firewall/share/snmp/mibs/FORCEPOINT-NGFW-ENGINE-MIB b/forcepoint_firewall/share/snmp/mibs/FORCEPOINT-NGFW-ENGINE-MIB new file mode 100644 index 00000000..f0f5efba --- /dev/null +++ b/forcepoint_firewall/share/snmp/mibs/FORCEPOINT-NGFW-ENGINE-MIB @@ -0,0 +1,1555 @@ +FORCEPOINT-NGFW-ENGINE-MIB DEFINITIONS ::= BEGIN + + -- SUBTREE: 1.3.6.1.4.1.47565.1.1 + -- iso.org.dod.internet.private.enterprises.forcepoint.ngfw.engine + +IMPORTS + enterprises, Integer32, Counter32, Counter64, Unsigned32, MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE + FROM SNMPv2-SMI + DisplayString, TimeStamp, DateAndTime, TEXTUAL-CONVENTION + FROM SNMPv2-TC + OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE + FROM SNMPv2-CONF + InetAddressIPv4, InetAddressIPv6 + FROM INET-ADDRESS-MIB + CounterBasedGauge64 + FROM HCNUM-TC; + +forcepointNGFWEngineMib MODULE-IDENTITY + LAST-UPDATED "202112110000Z" + ORGANIZATION "Forcepoint LLC" + CONTACT-INFO "email: mib.stonesoft@forcepoint.com" + DESCRIPTION "Top level enterprise MIB for Forcepoint NGFW" + REVISION "202112110000Z" + DESCRIPTION "First public revision" + ::= { enterprises 47565 1 1 } + +engineNotifications OBJECT IDENTIFIER ::= { forcepointNGFWEngineMib 0 } +engineObjects OBJECT IDENTIFIER ::= { forcepointNGFWEngineMib 1 } +engineGroups OBJECT IDENTIFIER ::= { forcepointNGFWEngineMib 2 } + +-- +-- Firewall objects +-- + +fwSoftwareVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Version string of the firewall software" + ::= { engineObjects 1 } + +fwSecurityPolicy OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Name of the current security policy on the + firewall" + ::= { engineObjects 2 } + +fwPolicyTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time when the security policy was + installed to the firewall" + ::= { engineObjects 3 } + +-- interface related objects + +fwIfStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwIfStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + interface in system" + ::= { engineObjects 10 } + +-- Statistics + +fwIfStatsEntry OBJECT-TYPE + SYNTAX FwIfStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for an interface" + INDEX { fwIfStatsIndex } + ::= { fwIfStatsTable 1 } + +FwIfStatsEntry ::= + SEQUENCE { + fwIfStatsIndex INTEGER, + fwIfName DisplayString, + fwIfAcceptedPkts Counter64, + fwIfDroppedPkts Counter64, + fwIfLoggedPkts Counter64, + fwIfAccountedPkts Counter64, + fwIfRejectedPkts Counter64, + fwIfAcceptedBytes Counter64, + fwIfDroppedBytes Counter64, + fwIfLoggedBytes Counter64, + fwIfAccountedBytes Counter64, + fwIfRejectedBytes Counter64, + fwIfForwardedPkts Counter64, + fwIfForwardedBytes Counter64, + fwIfComment DisplayString + } + +fwIfStatsIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each interface or + interface sub-layer in the managed system." + ::= { fwIfStatsEntry 1 } + +fwIfName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Name of interface" + ::= { fwIfStatsEntry 2 } + +fwIfAcceptedPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of accepted packets by firewall rules" + ::= { fwIfStatsEntry 3 } + +fwIfDroppedPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of dropped packets by firewall rules" + ::= { fwIfStatsEntry 4 } + +fwIfLoggedPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of logged packets by firewall rules" + ::= { fwIfStatsEntry 5 } + +fwIfAccountedPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of accounted packets by firewall rules" + ::= { fwIfStatsEntry 6 } + +fwIfRejectedPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of rejected packets by firewall rules" + ::= { fwIfStatsEntry 7 } + +fwIfAcceptedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of accepted bytes by firewall rules" + ::= { fwIfStatsEntry 8 } + +fwIfDroppedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of dropped bytes by firewall rules" + ::= { fwIfStatsEntry 9 } + +fwIfLoggedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of logged bytes by firewall rules" + ::= { fwIfStatsEntry 10 } + +fwIfAccountedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of accounted bytes by firewall rules" + ::= { fwIfStatsEntry 11 } + +fwIfRejectedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of rejected bytes by firewall rules" + ::= { fwIfStatsEntry 12 } + +fwIfForwardedPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of forwarded packets by firewall rules" + ::= { fwIfStatsEntry 13 } + +fwIfForwardedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of forwarded bytes by firewall rules" + ::= { fwIfStatsEntry 14 } + +fwIfComment OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Comment of interface" + ::= { fwIfStatsEntry 15 } + +-- VPN end-point related objects + +VpnEndpointType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A value that represents the type of the remote VPN end-point. + + unknown(0) The type of the remote VPN end-point is not known. + + static(1) The remote VPN end-point has a static IP address. + + dynamic(2) The remote VPN end-point has a dynamic IP address. + + mobile(3) The remote is a mobile VPN client." + SYNTAX INTEGER { + unknown(0), + static(1), + dynamic(2), + mobile(3) + } + +-- IPv4 end-points -- + +fwVpnEp4Table OBJECT-TYPE + SYNTAX SEQUENCE OF FwVpnEp4Entry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "This table contains an entry for each + IPv4 VPN end-point pair" + ::= { engineObjects 12 } + +fwVpnEp4Entry OBJECT-TYPE + SYNTAX FwVpnEp4Entry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for an IPv4 VPN end-point pair" + INDEX { fwVpnEp4Index } + ::= { fwVpnEp4Table 1 } + +FwVpnEp4Entry ::= + SEQUENCE { + fwVpnEp4Index INTEGER, + fwVpnEp4Local InetAddressIPv4, + fwVpnEp4Remote InetAddressIPv4, + fwVpnEp4RemoteType VpnEndpointType, + fwVpnEp4ReceivedBytes Counter64, + fwVpnEp4SentBytes Counter64, + fwVpnEp4IpsecSa Counter32 + } + +fwVpnEp4Index OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A unique value, greater than zero, for each + end-point pair." + ::= { fwVpnEp4Entry 1 } + +fwVpnEp4Local OBJECT-TYPE + SYNTAX InetAddressIPv4 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Local IPv4 end-point address" + ::= { fwVpnEp4Entry 2 } + +fwVpnEp4Remote OBJECT-TYPE + SYNTAX InetAddressIPv4 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Remote IPv4 end-point address" + ::= { fwVpnEp4Entry 3 } + +fwVpnEp4RemoteType OBJECT-TYPE + SYNTAX VpnEndpointType + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The type of remote VPN end-point" + ::= { fwVpnEp4Entry 4 } + +fwVpnEp4ReceivedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of received bytes between the end-point pair" + ::= { fwVpnEp4Entry 5 } + +fwVpnEp4SentBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of sent bytes between the end-point pair" + ::= { fwVpnEp4Entry 6 } + +fwVpnEp4IpsecSa OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of currently established IPsec SAs + between the end-point pair" + ::= { fwVpnEp4Entry 7 } + +-- IPv6 end-points -- + +fwVpnEp6Table OBJECT-TYPE + SYNTAX SEQUENCE OF FwVpnEp6Entry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "This table contains an entry for each + IPv6 VPN end-point pair" + ::= { engineObjects 13 } + +fwVpnEp6Entry OBJECT-TYPE + SYNTAX FwVpnEp6Entry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for an IPv6 VPN end-point pair" + INDEX { fwVpnEp6Index } + ::= { fwVpnEp6Table 1 } + +FwVpnEp6Entry ::= + SEQUENCE { + fwVpnEp6Index INTEGER, + fwVpnEp6Local InetAddressIPv6, + fwVpnEp6Remote InetAddressIPv6, + fwVpnEp6RemoteType VpnEndpointType, + fwVpnEp6ReceivedBytes Counter64, + fwVpnEp6SentBytes Counter64, + fwVpnEp6IpsecSa Counter32 + } + +fwVpnEp6Index OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A unique value, greater than zero, for each + end-point pair." + ::= { fwVpnEp6Entry 1 } + +fwVpnEp6Local OBJECT-TYPE + SYNTAX InetAddressIPv6 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Local IPv6 end-point address" + ::= { fwVpnEp6Entry 2 } + +fwVpnEp6Remote OBJECT-TYPE + SYNTAX InetAddressIPv6 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Remote IPv6 end-point address" + ::= { fwVpnEp6Entry 3 } + +fwVpnEp6RemoteType OBJECT-TYPE + SYNTAX VpnEndpointType + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The type of remote VPN end-point" + ::= { fwVpnEp6Entry 4 } + +fwVpnEp6ReceivedBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of received bytes between the end-point pair" + ::= { fwVpnEp6Entry 5 } + +fwVpnEp6SentBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of sent bytes between the end-point pair" + ::= { fwVpnEp6Entry 6 } + +fwVpnEp6IpsecSa OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of currently established IPsec SAs + between the end-point pair" + ::= { fwVpnEp6Entry 7 } + +-- Global firewall informations + +fwConnNumber OBJECT-TYPE + SYNTAX CounterBasedGauge64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of current connections" + ::= { engineObjects 4 } + +fwAccepted OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of accepted packets" + ::= { engineObjects 5 } + +fwDropped OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of dropped packets" + ::= { engineObjects 6 } + +fwLogged OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of logged packets" + ::= { engineObjects 7 } + +fwAccounted OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of accounted packets" + ::= { engineObjects 8 } + +fwRejected OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of rejected packets" + ::= { engineObjects 9 } + +-- Hardware status used by data corresponding to sg-hwstat output + +FwHwComponentStatus ::= + TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Operational status of the corresponding hardware component. + notPresent(-1) Component is unexpectedly not present. + ok(0) Component working as intended. + warning(1) Component needs attention. + error(2) Component is inoperative due to a failure. + fatalError(3) Component has failed unrecoverably." + SYNTAX INTEGER { + notPresent(-1), -- This should never occur. + ok(0), + warning(1), + error(2), + fatalError(3) -- Currently nothing produces this. + } + +-- Temperature sensors + +fwHwTempSensorTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwHwTempSensorEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + temperature sensor in system" + ::= { engineObjects 16 } + +fwHwTempSensorEntry OBJECT-TYPE + SYNTAX FwHwTempSensorEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for a temperature sensor" + INDEX { fwHwTempSensorIndex } + ::= { fwHwTempSensorTable 1 } + +FwHwTempSensorEntry ::= + SEQUENCE { + fwHwTempSensorIndex INTEGER, + fwHwTemperatureName DisplayString, + fwHwTemperature Integer32, + fwHwTemperatureStatus FwHwComponentStatus + } + +fwHwTempSensorIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each + temperature sensor" + ::= { fwHwTempSensorEntry 1 } + +fwHwTemperatureName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Name of the temperature sensor" + ::= { fwHwTempSensorEntry 2 } + +fwHwTemperature OBJECT-TYPE + SYNTAX Integer32 + UNITS "degrees C" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Temperature in degrees C + for the given temperature sensor" + ::= { fwHwTempSensorEntry 3 } + +fwHwTemperatureStatus OBJECT-TYPE + SYNTAX FwHwComponentStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Status of the temperature sensor + (not present, ok, warning, error, fatal error)" + ::= { fwHwTempSensorEntry 4 } + +-- PSU statuses + +fwPsuTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwPsuEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + power supply unit in system" + ::= { engineObjects 17 } + +fwPsuEntry OBJECT-TYPE + SYNTAX FwPsuEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for a PSU" + INDEX { fwPsuIndex } + ::= { fwPsuTable 1 } + +FwPsuEntry ::= + SEQUENCE { + fwPsuIndex INTEGER, + fwPsuName DisplayString, + fwPsuStatus FwHwComponentStatus + } + +fwPsuIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each PSU" + ::= { fwPsuEntry 1 } + +fwPsuName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Name of the PSU" + ::= { fwPsuEntry 2 } + +fwPsuStatus OBJECT-TYPE + SYNTAX FwHwComponentStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Status of the PSU + (not present, ok, warning, error, fatal error)" + ::= { fwPsuEntry 3 } + +-- Fan statuses + +fwFanTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwFanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + fan in system" + ::= { engineObjects 18 } + +fwFanEntry OBJECT-TYPE + SYNTAX FwFanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for a fan" + INDEX { fwFanIndex } + ::= { fwFanTable 1 } + +FwFanEntry ::= + SEQUENCE { + fwFanIndex INTEGER, + fwFanName DisplayString, + fwFan Integer32, + fwFanStatus FwHwComponentStatus + } + +fwFanIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each fan" + ::= { fwFanEntry 1 } + +fwFanName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Fan name" + ::= { fwFanEntry 2 } + +fwFan OBJECT-TYPE + SYNTAX Integer32 + UNITS "RPM" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Fan speed in RPM" + ::= { fwFanEntry 3 } + +fwFanStatus OBJECT-TYPE + SYNTAX FwHwComponentStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Status of the fan + (not present, ok, warning, error, fatal error)" + ::= { fwFanEntry 4 } + +-- Voltage statuses + +fwVoltageTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwVoltageEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + voltage in system" + ::= { engineObjects 20 } + +fwVoltageEntry OBJECT-TYPE + SYNTAX FwVoltageEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for a voltage" + INDEX { fwVoltageIndex } + ::= { fwVoltageTable 1 } + +FwFixedThousandths ::= + TEXTUAL-CONVENTION + DISPLAY-HINT "d-3" + STATUS current + DESCRIPTION "Fixed point, three decimals" + SYNTAX Integer32 + +FwVoltageEntry ::= + SEQUENCE { + fwVoltageIndex INTEGER, + fwVoltageName DisplayString, + fwVoltage FwFixedThousandths, + fwVoltageStatus FwHwComponentStatus + } + +fwVoltageIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each voltage" + ::= { fwVoltageEntry 1 } + +fwVoltageName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Voltage name" + ::= { fwVoltageEntry 2 } + +fwVoltage OBJECT-TYPE + SYNTAX FwFixedThousandths + UNITS "V" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Voltage in volts" + ::= { fwVoltageEntry 3 } + +fwVoltageStatus OBJECT-TYPE + SYNTAX FwHwComponentStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Status of the voltage + (not present, ok, warning, error, fatal error)" + ::= { fwVoltageEntry 4 } + +-- fw connections + +fwNewConnectionsS OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of new connections / second" + ::= { fwHardware 4 } + +fwDiscardedConnectionsS OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of discarded connections / second" + ::= { fwHardware 5 } + +fwRefusedConnectionsS OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of refused connections / second" + ::= { fwHardware 6 } + +-- Mobile Broadband + +fwMbrInterfaceTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwMbrInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each cellular + interface in system" + ::= { engineObjects 14 } + +fwMbrInterfaceEntry OBJECT-TYPE + SYNTAX FwMbrInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for a cellular interface" + INDEX { fwMbrInterfaceIndex } + ::= { fwMbrInterfaceTable 1 } + +FwMbrInterfaceEntry ::= + SEQUENCE { + fwMbrInterfaceIndex INTEGER, + fwMbrName DisplayString, + fwMbrBandUsed DisplayString, + fwMbrSignalStrength Integer32, + fwMbrStatus FwHwComponentStatus + } + +fwMbrInterfaceIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each cellular + interface or interface sub-layer in the managed system." + ::= { fwMbrInterfaceEntry 1 } + +fwMbrName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Modem name" + ::= { fwMbrInterfaceEntry 2 } + +fwMbrBandUsed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Interface band in use" + ::= { fwMbrInterfaceEntry 3 } + +fwMbrSignalStrength OBJECT-TYPE + SYNTAX Integer32 + UNITS "dBm" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Modem signal strength in dBm" + ::= { fwMbrInterfaceEntry 4 } + +fwMbrStatus OBJECT-TYPE + SYNTAX FwHwComponentStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Status of the modem + (not present, ok, warning, error, fatal error)" + ::= { fwMbrInterfaceEntry 5 } + +-- hardware related objects + +fwHardware OBJECT IDENTIFIER ::= { engineObjects 11 } + +-- Processor + +fwCpuStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwCpuEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "This table contains an entry for each CPU in + a system and total usage of all cpus." + ::= { fwHardware 1 } + +fwCpuStatsEntry OBJECT-TYPE + SYNTAX FwCpuEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row with information about CPU usage" + INDEX { fwCpuStatsId } + ::= { fwCpuStatsTable 1 } + +FwCpuEntry ::= SEQUENCE { + fwCpuStatsId INTEGER, + fwCpuName DisplayString, + fwCpuTotal Unsigned32, + fwCpuUser Unsigned32, + fwCpuSystem Unsigned32, + fwCpuNice Unsigned32, + fwCpuIdle Unsigned32, + fwCpuIoWait Unsigned32, + fwCpuHwIrq Unsigned32, + fwCpuSoftIrq Unsigned32 + } + + +fwCpuStatsId OBJECT-TYPE + SYNTAX Integer32(1..1024) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A unique value, greater than zero, for each + CPU in the managed system. First element with Id '0' + is designed for total values." + ::= { fwCpuStatsEntry 1 } + +fwCpuName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Name of data current line concern" + ::= { fwCpuStatsEntry 2 } + +fwCpuTotal OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The total CPU load percentage" + ::= { fwCpuStatsEntry 3 } + +fwCpuUser OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU has spent running + users' processes that are not niced" + ::= { fwCpuStatsEntry 4 } + +fwCpuSystem OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU has spent running + the kernel and its processes" + ::= { fwCpuStatsEntry 5 } + +fwCpuNice OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU has spent running + users' processes that have been niced" + ::= { fwCpuStatsEntry 6 } + +fwCpuIdle OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU was idle" + ::= { fwCpuStatsEntry 7 } + +fwCpuIoWait OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU has been waiting + for I/O to complete" + ::= { fwCpuStatsEntry 8 } + +fwCpuHwIrq OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU has been servicing + hardware interrupts" + ::= { fwCpuStatsEntry 9 } + +fwCpuSoftIrq OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "percent" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The percentage of time the CPU has been servicing + software interrupts" + ::= { fwCpuStatsEntry 10 } + +-- Memory + +fwMemoryInfo OBJECT IDENTIFIER ::= { fwHardware 2 } + +fwSwapBytesTotal OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Total swap space" + ::= { fwMemoryInfo 1 } + +fwSwapBytesUsed OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Used space of swap" + ::= { fwMemoryInfo 2 } + +fwSwapBytesUnused OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of unused space of swap" + ::= { fwMemoryInfo 3 } + + +fwMemBytesTotal OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Number of available bytes of physical memory" + ::= { fwMemoryInfo 4 } + +fwMemBytesUsed OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of memory being in use" + ::= { fwMemoryInfo 5 } + +fwMemBytesUnused OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of unused bytes of physical memory" + ::= { fwMemoryInfo 6 } + +fwMemBytesBuffers OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of memory used as buffers" + ::= { fwMemoryInfo 7 } + +fwMemBytesCached OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of memory used as cache" + ::= { fwMemoryInfo 8 } + +fwMemBytesSReclaimable OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of reclaimable Slab memory " + ::= { fwMemoryInfo 9 } + +fwMemBytesAvailable OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of memory available" + ::= { fwMemoryInfo 10 } + +-- disk(s) statistics + +fwDiskStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF FwDiskStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Table contains an entry for each partition + mounted in a system." + ::= { fwHardware 3 } + +fwDiskStatsEntry OBJECT-TYPE + SYNTAX FwDiskStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row of information concerning one partition" + INDEX { fwPartitionIndex } + ::= { fwDiskStatsTable 1 } + +FwDiskStatsEntry ::= SEQUENCE { + fwPartitionIndex INTEGER, + fwPartitionDevName DisplayString, + fwMountPointName DisplayString, + fwPartitionSize CounterBasedGauge64, + fwPartitionUsed CounterBasedGauge64, + fwPartitionAvail CounterBasedGauge64 + } + +fwPartitionIndex OBJECT-TYPE + SYNTAX Integer32(1..1024) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A unique value, greater than zero, for each partition" + ::= { fwDiskStatsEntry 1 } + +fwPartitionDevName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "A unique name of a device" + ::= { fwDiskStatsEntry 2 } + +fwMountPointName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Name of a mount point" + ::= { fwDiskStatsEntry 3 } + +fwPartitionSize OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "kbytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Total size of the partition" + ::= { fwDiskStatsEntry 4 } + +fwPartitionUsed OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "kbytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Amount of used space of the partition + (in kilobytes)" + ::= { fwDiskStatsEntry 5 } + +fwPartitionAvail OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "kbytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Information about amount of free space on + partition (in kilobytes)" + ::= { fwDiskStatsEntry 6 } + +fwDiskSerialNumber OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Disk serial number" + ::= { engineObjects 15 } + +-- +-- Network node objects, e.g. identifications, state, load + +netNodeObjects OBJECT IDENTIFIER ::= { engineObjects 19 } + +nodeClusterId OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The identification number of the cluster + this node belongs to" + ::= { netNodeObjects 1 } + + +nodeMemberId OBJECT-TYPE + SYNTAX Integer32 (1..16) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Node's member identification within the cluster" + ::= { netNodeObjects 2 } + +nodeOperState OBJECT-TYPE + SYNTAX INTEGER { + unknown(0), + online(1), + goingOnline(2), + lockedOnline(3), + goingLockedOnline(4), + offline(5), + goingOffline(6), + lockedOffline(7), + goingLockedOffline(8), + standby(9), + goingStandby(10) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operative (clustering) state of the node" + ::= { netNodeObjects 3 } + +nodeCPULoad OBJECT-TYPE + SYNTAX Integer32 (0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The CPU load percentage on the node" + ::= { netNodeObjects 4 } + +nodeLastLogin OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The most recent login event on the node" + ::= { netNodeObjects 5 } + +nodeLastLoginTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Timestamp of the most recent login event on the node" + ::= { netNodeObjects 6 } + +nodeHwmonEvent OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reason for the hardware monitoring event" + ::= { netNodeObjects 8 } + +nodeApplianceModel OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Appliance model name" + ::= { netNodeObjects 9 } + +nodePosCode OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Appliance POS code" + ::= { netNodeObjects 10 } + +nodeLoginTime OBJECT-TYPE + SYNTAX DateAndTime + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The most recent login event on the node" + ::= { netNodeObjects 11 } + +nodePolicyApplyTime OBJECT-TYPE + SYNTAX DateAndTime + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time when the security policy was installed to the node" + ::= { netNodeObjects 12 } + +nodeHardwareSerialNumber OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Hardware chassis serial number" + ::= { netNodeObjects 13 } + +-- +-- Tester objects + +nodeTestTable OBJECT-TYPE + SYNTAX SEQUENCE OF NodeTestEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + test instance that was + configured to send a trap on test failure" + + ::= { netNodeObjects 7 } + + +nodeTestEntry OBJECT-TYPE + SYNTAX NodeTestEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for a test instance" + INDEX { nodeTestIndex } + ::= { nodeTestTable 1 } + + +NodeTestEntry ::= SEQUENCE { + nodeTestIndex Unsigned32, + nodeTestIdentity DisplayString, + nodeTestResult INTEGER, + nodeTestResultTime TimeStamp + } + +nodeTestIndex OBJECT-TYPE + SYNTAX Unsigned32(1..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Unique positive integer index + of the nodeTest instance" + ::= { nodeTestEntry 1 } + +nodeTestIdentity OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Identification string of a nodeTest" + ::= { nodeTestEntry 2 } + + +nodeTestResult OBJECT-TYPE + SYNTAX INTEGER {success(1), failure(2)} + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The most recent result of the + nodeTest" + ::= { nodeTestEntry 3 } + +nodeTestResultTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The timestamp of the most recent + result of the nodeTest" + ::= { nodeTestEntry 4 } + +-- Firewall events + +fwPolicyInstall NOTIFICATION-TYPE + OBJECTS { fwSecurityPolicy } + STATUS current + DESCRIPTION "A firewall policy was (re)installed" + ::= { engineNotifications 1 } + +-- Network node events + +nodeOnline NOTIFICATION-TYPE + OBJECTS { nodeOperState } + STATUS current + DESCRIPTION "A node has gone to an online state" + ::= { engineNotifications 2 } + + +nodeOffline NOTIFICATION-TYPE + OBJECTS { nodeOperState } + STATUS current + DESCRIPTION "A node has gone to an offline + or standby state" + ::= { engineNotifications 3 } + +nodeBoot NOTIFICATION-TYPE + STATUS current + DESCRIPTION "A node has booted up" + ::= { engineNotifications 4 } + +nodeShutdown NOTIFICATION-TYPE + STATUS current + DESCRIPTION "A node is shutting down" + ::= { engineNotifications 5 } + +nodeUserLogin NOTIFICATION-TYPE + OBJECTS { nodeLastLogin } + STATUS current + DESCRIPTION "A user has started a login session" + ::= { engineNotifications 6 } + +nodeFailedUserLogin NOTIFICATION-TYPE + STATUS current + DESCRIPTION "Failed user login" + ::= { engineNotifications 7 } + +nodeUserLogout NOTIFICATION-TYPE + STATUS current + DESCRIPTION "A user has finished session" + ::= { engineNotifications 8 } + +nodeTestFailure NOTIFICATION-TYPE + OBJECTS { nodeTestIdentity } + STATUS current + DESCRIPTION "NodeTest has failed" + ::= { engineNotifications 9 } + + +nodeHwmon NOTIFICATION-TYPE + OBJECTS { nodeHwmonEvent } + STATUS current + DESCRIPTION "Hardware monitoring system has detected problems" + ::= { engineNotifications 10 } + +-- Groups + +firewallGeneralInformationGroup OBJECT-GROUP + OBJECTS { fwSoftwareVersion, fwSecurityPolicy, fwPolicyTime } + STATUS current + DESCRIPTION + "A collection of objects giving general information about the + firewall" + ::= { engineGroups 1 } + +firewallIfaceStatsGroup OBJECT-GROUP + OBJECTS { fwIfName, + fwIfAcceptedPkts, fwIfDroppedPkts, fwIfLoggedPkts, + fwIfAccountedPkts, fwIfRejectedPkts, fwIfForwardedPkts, + fwIfAcceptedBytes, fwIfDroppedBytes, fwIfLoggedBytes, + fwIfAccountedBytes, fwIfRejectedBytes, fwIfForwardedBytes, + fwIfComment } + STATUS current + DESCRIPTION + "A collection of objects giving information about the + current firewall interface related traffic statistics" + ::= { engineGroups 2 } + +firewallGeneralStatsGroup OBJECT-GROUP + OBJECTS { fwConnNumber, fwAccepted, fwDropped, + fwLogged, fwAccounted, fwRejected } + STATUS current + DESCRIPTION + "A collection of objects giving general information about the + firewall traffic statistics" + ::= { engineGroups 3 } + +firewallHardwareGroup OBJECT-GROUP + OBJECTS { fwCpuName, fwCpuTotal, fwCpuUser, fwCpuSystem, + fwCpuHwIrq, fwCpuSoftIrq, fwSwapBytesTotal, + fwMemBytesTotal, fwMemBytesBuffers, + fwHwTemperatureName, fwHwTemperature, fwHwTemperatureStatus, + fwPsuName, fwPsuStatus, + fwFanName, fwFan, fwFanStatus, + fwVoltageName, fwVoltage, fwVoltageStatus, + fwPartitionDevName, fwMountPointName, fwDiskSerialNumber, + fwPartitionSize } + STATUS current + DESCRIPTION + "A collection of objects giving information about the + hardware parameters" + ::= { engineGroups 4 } + +firewallMbrInterfaceGroup OBJECT-GROUP + OBJECTS { fwMbrName, fwMbrBandUsed, fwMbrSignalStrength, fwMbrStatus } + STATUS current + DESCRIPTION + "A collection of objects giving information about the + Mbr related parameters" + ::= { engineGroups 5 } + +firewallPerformanceGroup OBJECT-GROUP + OBJECTS { fwCpuNice, fwCpuIdle, fwCpuIoWait, fwSwapBytesUsed, + fwSwapBytesUnused, fwMemBytesUsed, fwMemBytesUnused, + fwMemBytesCached, fwMemBytesAvailable, + fwMemBytesSReclaimable, fwPartitionUsed, fwPartitionAvail, + fwNewConnectionsS, fwDiscardedConnectionsS, + fwRefusedConnectionsS} + STATUS current + DESCRIPTION + "A collection of objects giving information about the + performance related parameters" + ::= { engineGroups 6 } + +firewallVpnEpGroup OBJECT-GROUP + OBJECTS { fwVpnEp4Local, fwVpnEp4Remote, fwVpnEp4RemoteType, + fwVpnEp4ReceivedBytes, fwVpnEp4SentBytes, + fwVpnEp4IpsecSa, fwVpnEp6Local, fwVpnEp6Remote, + fwVpnEp6RemoteType, fwVpnEp6ReceivedBytes, + fwVpnEp6SentBytes, fwVpnEp6IpsecSa } + STATUS current + DESCRIPTION + "A collection of objects giving information about the + configured VPN end-point pairs" + ::= { engineGroups 7 } + +nodeIdentificationGroup OBJECT-GROUP + OBJECTS { nodeClusterId, nodeMemberId, nodeApplianceModel, nodePosCode, nodeHardwareSerialNumber } + STATUS current + DESCRIPTION + "A collection of objects identifying the node in a cluster" + ::= { engineGroups 8 } + +nodeStatusGroup OBJECT-GROUP + OBJECTS { nodeOperState, nodeCPULoad, nodePolicyApplyTime } + STATUS current + DESCRIPTION + "A collection of objects giving information about + the status of the node" + ::= { engineGroups 9 } + +nodeLoginGroup OBJECT-GROUP + OBJECTS { nodeLastLogin, nodeLastLoginTime, nodeLoginTime } + STATUS current + DESCRIPTION + "A collection of objects giving information about logins + into the node" + ::= { engineGroups 10 } + +nodeTesterGroup OBJECT-GROUP + OBJECTS { nodeTestIdentity, nodeTestResult, nodeTestResultTime } + STATUS current + DESCRIPTION + "A collection of objects giving information about the tests + in the test subsystem of the node" + ::= { engineGroups 11 } + +firewallGeneralNotifGroup NOTIFICATION-GROUP + NOTIFICATIONS { fwPolicyInstall } + STATUS current + DESCRIPTION + "A collection of notification giving information about + general events in the firewall" + ::= { engineGroups 12 } + +nodeStatusNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { nodeOnline, nodeOffline, nodeBoot, nodeShutdown } + STATUS current + DESCRIPTION + "A collection of notifications informing about changes + in a node's status" + ::= { engineGroups 13 } + +nodeLoginNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { nodeUserLogin, nodeFailedUserLogin, nodeUserLogout } + STATUS current + DESCRIPTION + "A collection of notifications informing about user logins" + ::= { engineGroups 14 } + +nodeTesterNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { nodeTestFailure } + STATUS current + DESCRIPTION + "A collection of notifications informing about test failures" + ::= { engineGroups 15 } + + +nodeHwmonNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { nodeHwmon } + STATUS current + DESCRIPTION + "A collection of notifications informing about + hardware monitoring issues" + ::= { engineGroups 16 } + +nodeHwmonGroup OBJECT-GROUP + OBJECTS { nodeHwmonEvent } + STATUS current + DESCRIPTION + "A collection of objects giving information about + hardware monitoring events in the node" + ::= { engineGroups 17 } + +-- Virtual Engine Information + +fwVETable OBJECT-TYPE + SYNTAX SEQUENCE OF FwVEEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each + virtual engine" + ::= { engineObjects 21 } + +fwVEEntry OBJECT-TYPE + SYNTAX FwVEEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Row for virtual engine" + INDEX { fwVEIndex } + ::= { fwVETable 1 } + +FwVEEntry ::= + SEQUENCE { + fwVEIndex INTEGER, + fwVEEngineId INTEGER, + fwVEName DisplayString, + fwVEStatus DisplayString + } + +fwVEIndex OBJECT-TYPE + SYNTAX Integer32(1..256) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A unique value, greater that zero, for each + virtual engine." + ::= { fwVEEntry 1 } + +fwVEEngineId OBJECT-TYPE + SYNTAX Integer32(1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Engine ID of the virtual engine" + ::= { fwVEEntry 2 } + +fwVEName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Name of the virtual engine" + ::= { fwVEEntry 3 } + +fwVEStatus OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Status of the virtual engine e.g. Active" + ::= { fwVEEntry 4 } + + +engineVEGroup OBJECT-GROUP + OBJECTS { fwVEEngineId, fwVEName, fwVEStatus } + STATUS current + DESCRIPTION + "A collection of objects giving information about + Virtual Engines in the Engine" + ::= { engineGroups 18 } + + +END