Observium_CE/mibs/fibrolan/FIBROLAN-DEVICE-MIB

756 lines
25 KiB
Plaintext

-- =======================================================================
-- File : FIBROLAN-DEVICE-MIB.mib
-- Description : Private MIB file for Fibrolan device level objects
-- Author : Shamir Stein
--
-- Copyright Fibrolan, 2009. All rights reserved.
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.
-- =======================================================================
FIBROLAN-DEVICE-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE,
IpAddress,
MODULE-IDENTITY,
Integer32,
Unsigned32,
TimeTicks,
NOTIFICATION-TYPE FROM SNMPv2-SMI
DisplayString FROM SNMPv2-TC
FlTemperature,
FlUtilization,
FlFileServerType,
FlFileXferDirection,
fibrolanGeneric FROM FIBROLAN-COMMON-MIB;
flDevice MODULE-IDENTITY
LAST-UPDATED "201910240000Z"
ORGANIZATION "Fibrolan Ltd."
CONTACT-INFO "support@fibrolan.com"
DESCRIPTION "The MIB module to describe a Fibrolan device's
system level attributes. This module includes the
relevant traps as well.
This module is part of Fibrolan's group of generic
MIB modules.
Copyright (C) Fibrolan Ltd. (2009)."
REVISION "201910240000Z"
DESCRIPTION "Added singleFeedDown status to the flDevicePsuAlarmStatus."
REVISION "201607150000Z"
DESCRIPTION "Re-added and modified the portMacLimit trap.
It now includes the ifIndex in the varbind."
REVISION "201509150000Z"
DESCRIPTION "Removed the flUserName object.
Removed the flMbdDirection object.
Removed the flCircuitID object.
Modified flDeviceTemperatureAlarmStatus to enum.
Modified flDevicePsuAlarmStatus to enum.
Changed last changed objects type to TimeTicks.
Added ranges to objects where applicable.
Removed index from psuStatusChange's varbind.
Removed the following traps (some obsolete and others
will be moved to a dedicated MIB): authUnauthorizedLogin,
microBurstDetected, macViolation, portMacLimit, circuitUp,
circuitDown, synceLock, synceLossLock.
Removed Conformance and Compliance statements, for the sake
of MIB simplicity and readability (causes
Misc object description changes.
Misc cleanup."
REVISION "201509010000Z"
DESCRIPTION "Added dedicated PSU index and added it to the trap as well.
Added configuration change trap."
REVISION "201502010000Z"
DESCRIPTION "Added PSU fan status for single fan fail (out of two),
Added portMacLimit trap, fixed OIDs of microBurstDetected
and macViolation traps (were swapped)"
REVISION "200905050000Z"
DESCRIPTION "Changed type of temperature, PSU and CPU alarm status
variables from Unsigned32 to Integer32"
REVISION "200903190000Z"
DESCRIPTION "Removed psuInstalled and psuRemoved traps. The
corresponding events trigger the psuStatusChange
trap, with the relevant status variables.
Renumbered traps (OIDs under flDeviceNotifications)
accordingly."
REVISION "200902160000Z"
DESCRIPTION "Initial version (version 1)."
::= { fibrolanGeneric 10 }
flDeviceNotifications OBJECT IDENTIFIER ::= { flDevice 0 }
flDeviceMIBObjects OBJECT IDENTIFIER ::= { flDevice 1 }
-- ************************************************************
-- System reboot
-- ************************************************************
flDeviceReboot OBJECT-TYPE
SYNTAX INTEGER
{
ready (0),
notReady (1),
reboot (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Trigger a system reboot.
The following sequence must be performed in order
for the operation to be triggered:
- read the object's value - must be 'ready'
- set the value to 'notReady' (acts as a sema4 lock)
- set the value to 'reboot'"
::= { flDeviceMIBObjects 10 }
-- ************************************************************
-- Restore system default configuration
-- ************************************************************
flDeviceRestoreDefaults OBJECT-TYPE
SYNTAX INTEGER
{
ready (0),
notReady (1),
restoreDefaults (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Trigger a system restore defaults operation.
The following sequence must be performed in order
for the operation to be triggered:
- read the object's value - must be 'ready'
- set the value to 'notReady' (acts as a sema4 lock)
- set the value to 'restoreDefaults'."
::= { flDeviceMIBObjects 11 }
-- ************************************************************
-- Save system configuration
-- ************************************************************
flDeviceSaveConfig OBJECT-TYPE
SYNTAX INTEGER
{
ready (0),
notReady (1),
saveConfig (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Trigger save of the running config to NV memory
(normally becomes the startup config).
The following sequence must be performed in order
for the operation to be triggered:
- read the object's value - must be 'ready'
- set the value to 'notReady' (acts as a sema4 lock)
- set the value to 'saveConfig'."
::= { flDeviceMIBObjects 12 }
-- ************************************************************
-- Device temperature
-- ************************************************************
flDeviceTemperature OBJECT-TYPE
SYNTAX FlTemperature
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The internal device temperature in degrees Centigrade."
::= { flDeviceMIBObjects 13 }
-- ************************************************************
-- Device temperature alarms enable
-- ************************************************************
flDeviceTemperatureAlarmsEnable OBJECT-TYPE
SYNTAX INTEGER
{
enable (1),
disable (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Determine whether temperature traps are generated.
When disabled, the alarm status object should not be
polled (will indicate no alarm)."
::= { flDeviceMIBObjects 14 }
-- ************************************************************
-- Device temperature alarm status
-- ************************************************************
flDeviceTemperatureAlarmStatus OBJECT-TYPE
SYNTAX INTEGER
{
ok (1),
high (2),
low (4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "This variable indicates the alarm status of the
device's temperature."
::= { flDeviceMIBObjects 15 }
-- ************************************************************
-- Device temperature status last change
-- ************************************************************
flDeviceTemperatureStatusLastChange OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The value of MIB II's sysUpTime object at the time
the device entered its current temperature status
state. If the current state was entered prior to
the last re-initialization of the proxy-agent, then
this object contains a zero value."
::= { flDeviceMIBObjects 16 }
-- ************************************************************
-- PSU Status table
-- ************************************************************
flDevicePsuStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlDevicePsuStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Device Power Supply Unit (PSU) status table."
::= { flDeviceMIBObjects 100 }
flDevicePsuStatusEntry OBJECT-TYPE
SYNTAX FlDevicePsuStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "The entries of the PSU status table"
INDEX { flDevicePsuIndex }
::= { flDevicePsuStatusTable 1 }
FlDevicePsuStatusEntry ::= SEQUENCE
{
flDevicePsuIndex Integer32,
flDevicePsuInstalled INTEGER,
flDevicePsuStatus INTEGER,
flDevicePsuFanStatus INTEGER,
flDevicePsuAlarmsEnable INTEGER,
flDevicePsuAlarmStatus INTEGER,
flDevicePsuStatusLastChange TimeTicks
}
flDevicePsuIndex OBJECT-TYPE
SYNTAX Integer32 (1..3)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "The index of the PSU."
::= { flDevicePsuStatusEntry 1 }
flDevicePsuInstalled OBJECT-TYPE
SYNTAX INTEGER
{
unknown (1),
installed (2),
notInstalled (3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Indicates whether PSU is installed or not (in slot)"
::= { flDevicePsuStatusEntry 2 }
flDevicePsuStatus OBJECT-TYPE
SYNTAX INTEGER
{
unknown (1),
ok (2),
fail (3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "PSU operational status (supplying adequate
power/voltage)"
::= { flDevicePsuStatusEntry 3 }
flDevicePsuFanStatus OBJECT-TYPE
SYNTAX INTEGER
{
unknown (1),
notApplicable (2),
ok (3),
fail (4),
singleFail (5)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "PSU fan operational status (if applicable).
singleFail indicates one of two (or more) fans
have failed."
::= { flDevicePsuStatusEntry 4 }
flDevicePsuAlarmsEnable OBJECT-TYPE
SYNTAX INTEGER
{
enable (1),
disable (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Determine whether PSU traps are generated for this PSU
slot. When disabled, the alarm status object should not
be polled (will indicate no alarm)."
::= { flDevicePsuStatusEntry 5 }
flDevicePsuAlarmStatus OBJECT-TYPE
SYNTAX INTEGER
{
ok (1),
psuNotInstalled (2),
psuDown (4),
fanDown (8),
singleFanDown (16),
singleFeedDown (32)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "This variable indicates the alarm status of the
device's PSUs. fanDown indicates all fans of the
power supply are down."
::= { flDevicePsuStatusEntry 6 }
flDevicePsuStatusLastChange OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The value of MIB II's sysUpTime object at the time
the PSU entered its current state. If the current state
was entered prior to the last re-initialization of the
proxy-agent, then this object contains a zero value."
::= { flDevicePsuStatusEntry 7 }
-- ************************************************************
-- Device update table
-- ************************************************************
flDeviceUpdateTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlDeviceUpdateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Device (remote) update table.
This table is used for uploading and
downloading of maintenance related files (i.e.
upgrades and configuration) from and to the
system.
In order to perform an update operation, the
following objects should be set (assuming the
operation is supported by the system):
- operation type
- remote file server type
- remote file server address
- operation direction (up/download)
- file name
After these have been set, the action may be
triggered by the start object.
Update status can be monitored via the status
and error status objects."
::= { flDeviceMIBObjects 110 }
flDeviceUpdateEntry OBJECT-TYPE
SYNTAX FlDeviceUpdateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "The entries of the device udpate table."
INDEX { flDeviceUpdateTableIndex }
::= { flDeviceUpdateTable 1 }
FlDeviceUpdateEntry ::= SEQUENCE
{
flDeviceUpdateTableIndex Unsigned32,
flDeviceUpdateType INTEGER,
flDeviceUpdateFileServerType FlFileServerType,
flDeviceUpdateFileServerAddress IpAddress,
flDeviceUpdateFileXferDirection FlFileXferDirection,
flDeviceUpdateFileName DisplayString,
flDeviceUpdateStart INTEGER,
flDeviceUpdateStatus INTEGER,
flDeviceUpdateErrorStatus INTEGER,
flDeviceUpdateErrorCode Integer32,
flDeviceUpdateUrl DisplayString
}
flDeviceUpdateTableIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..0)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Table index."
::= { flDeviceUpdateEntry 1 }
flDeviceUpdateType OBJECT-TYPE
SYNTAX INTEGER
{
other (1),
software (2),
firmware (3),
system (4),
config (5),
script (6)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Update type (target)."
::= { flDeviceUpdateEntry 2 }
flDeviceUpdateFileServerType OBJECT-TYPE
SYNTAX FlFileServerType
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The type of remote file server (e.g. TFTP),
from which the update file will be retrieved, or to
which it will be saved.
The type is effectively the file transfer protocol used.
If the desired protocol is not present in the list,
other(1) should be selected."
::= { flDeviceUpdateEntry 3 }
flDeviceUpdateFileServerAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The IP address of the remote file server (e.g. TFTP),
from which the update file will be retrieved, or to
which it will be saved.
Address must be a valid unicast IP address."
::= { flDeviceUpdateEntry 4 }
flDeviceUpdateFileXferDirection OBJECT-TYPE
SYNTAX FlFileXferDirection
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The direction in which the update file transfer will
be performed: to or from the remote server."
::= { flDeviceUpdateEntry 5 }
flDeviceUpdateFileName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The name of the update file. Some systems may not
support this object, in which case the name is set
using the version name object.
The file name may include a remote path."
::= { flDeviceUpdateEntry 6 }
flDeviceUpdateStart OBJECT-TYPE
SYNTAX INTEGER
{
ready (0),
notReady (1),
start (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Trigger the update process.
Setting this object to start(2) will initiate the
update operation.
This can be done only when the object's value is
ready(0). If notReady(1) is indicated, the operation
should not be attempted and may be rejected by the
device."
::= { flDeviceUpdateEntry 7 }
flDeviceUpdateStatus OBJECT-TYPE
SYNTAX INTEGER
{
other (1),
notStarted (2),
loadingFile (3),
savingFile (4),
verifyingFile (5),
updateInProgress (6),
updateComplete (7),-- operation fully complete
updateIncomplete (8),-- operation partially complete
updateFailed (9)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Status of the update process.
Some systems or update processes may support this
object partially (i.e. not implement all states)."
::= { flDeviceUpdateEntry 8 }
flDeviceUpdateErrorStatus OBJECT-TYPE
SYNTAX INTEGER
{
noError (1),
other (2),
fileNotFound (3),
serverTimeout (4),
fileInvalid (5),
updateError (6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Status of the update process.
Some systems or update processes may support this
object partially (i.e. not implement all errors)."
::= { flDeviceUpdateEntry 9 }
flDeviceUpdateErrorCode OBJECT-TYPE
SYNTAX Integer32 (0..10000)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Indicates the error code of the last update operation.
If no errors occured (operation completed successfully)
this object should be 0.
The meaning of the error code depends on the update
type. For example: in a configuration file load (from
the server) this value can be the line number within
the config file which contained the error.
Refer to relevant system documentation for further
details."
::= { flDeviceUpdateEntry 10 }
flDeviceUpdateUrl OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The URL string of the update file.
In most systems, when this field is used,
other fields (e.g. IP address) will not be
used."
::= { flDeviceUpdateEntry 11 }
-- ************************************************************
-- CPU Status table
-- ************************************************************
flDeviceCpuStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlDeviceCpuStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "CPU Status table. Provides information regarding
system's CPU(s) and memory resources.
This table is extending the relevant entries
in the Entity MIB (physical, for CPUs).
This table has some common objects with the
HOST-RESOURCES-MIB (RFC2790)."
::= { flDeviceMIBObjects 120 }
flDeviceCpuStatusEntry OBJECT-TYPE
SYNTAX FlDeviceCpuStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "The entries of the CPU Status table."
INDEX { flDeviceCpuIndex }
::= { flDeviceCpuStatusTable 1 }
FlDeviceCpuStatusEntry ::= SEQUENCE
{
flDeviceCpuIndex Integer32,
flDeviceCpuUtilization FlUtilization,
flDeviceMemoryUtilization FlUtilization,
flDeviceNvMemoryUtilization FlUtilization,
flDeviceCpuAlarmsEnable INTEGER,
flDeviceCpuAlarmStatus Integer32,
flDeviceCpuStatusLastChange TimeTicks
}
flDeviceCpuIndex OBJECT-TYPE
SYNTAX Integer32 (0..2)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index of the CPU table (will be 0 only in most systems)."
::= { flDeviceCpuStatusEntry 1 }
flDeviceCpuUtilization OBJECT-TYPE
SYNTAX FlUtilization
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Utilization (load) of the CPU in percents of maximum
capacity."
::= { flDeviceCpuStatusEntry 2 }
flDeviceMemoryUtilization OBJECT-TYPE
SYNTAX FlUtilization
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Utilization (usage) of the memory in percents of
physical memory size."
::= { flDeviceCpuStatusEntry 3 }
flDeviceNvMemoryUtilization OBJECT-TYPE
SYNTAX FlUtilization
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Utilization (usage) of the NV memory in percents of
physical NV memory size."
::= { flDeviceCpuStatusEntry 4 }
flDeviceCpuAlarmsEnable OBJECT-TYPE
SYNTAX INTEGER
{
enable (1),
disable (2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Determine whether CPU traps are generated.
When disabled, the alarm status object should not
be polled (will indicate no alarm)."
::= { flDeviceCpuStatusEntry 5 }
flDeviceCpuAlarmStatus OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "This variable indicates the alarm status of the
device's CPU(s) and memory.
This object is a bitmap represented as a sum;
therefore, it can represent multiple alarms.
The noAlarm bit must be set if and only if no other
flag is set.
The various alarm bit positions (right to left) are
as follows:
1 noAlarm No active alarms
2 cpuUtilizationHigh CPU util exceeds
threshold
3 memoryUtilizationHigh Memory util exceeds
threshold"
::= { flDeviceCpuStatusEntry 6 }
flDeviceCpuStatusLastChange OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The value of MIB II's sysUpTime object at the time
the CPU entered its current state. If the current state
was entered prior to the last re-initialization of the
proxy-agent, then this object contains a zero value."
::= { flDeviceCpuStatusEntry 7 }
-- ************************************************************
-- Alarm thresholds table
-- ************************************************************
flDeviceAlarmThresholdTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlDeviceAlarmThresholdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Alarm thresholds table. This table provides
configuration facilities for threshold
crossing alarms (TCA) defined in this MIB
module."
::= { flDeviceMIBObjects 500 }
flDeviceAlarmThresholdEntry OBJECT-TYPE
SYNTAX FlDeviceAlarmThresholdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "The entries of the alarm threshold table."
INDEX { flDeviceAlarmThresholdTableIndex }
::= { flDeviceAlarmThresholdTable 1 }
FlDeviceAlarmThresholdEntry ::= SEQUENCE
{
flDeviceAlarmThresholdTableIndex Unsigned32,
flDeviceAlarmThresholdType INTEGER,
flDeviceAlarmThresholdValue Integer32,
flDeviceAlarmThresholdClearValue Integer32
}
flDeviceAlarmThresholdTableIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..31)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Table index."
::= { flDeviceAlarmThresholdEntry 1 }
flDeviceAlarmThresholdType OBJECT-TYPE
SYNTAX INTEGER
{
other (1),
temperatureHigh (2),
temperatureLow (3),
cpuUtilHigh (4),
memoryUtilHigh (5)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The type of the threshold (enumerated).
This object is expected to be extended with new types
in future revisions."
::= { flDeviceAlarmThresholdEntry 2 }
flDeviceAlarmThresholdValue OBJECT-TYPE
SYNTAX Integer32 (-100..100)
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The threshold value beyond which the alarm is active.
Note: the type of the threshold determines whether this
value is the upper bound for the alarm activation (e.g.
temperatureHigh) or the lower bound (e.g.
temperatureLow)."
::= { flDeviceAlarmThresholdEntry 3 }
flDeviceAlarmThresholdClearValue OBJECT-TYPE
SYNTAX Integer32 (-100..100)
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The threshold value below which the alarm is cleared.
Note: the type of the threshold determines whether this
value is the upper bound for the alarm activation (e.g.
temperatureLow) or the lower bound (e.g.
temperatureHigh)."
::= { flDeviceAlarmThresholdEntry 4 }
-- ************************************************************
-- ************************************************************
-- Trap (notifications) definitions
-- ************************************************************
-- ************************************************************
psuStatusChange NOTIFICATION-TYPE
OBJECTS { flDevicePsuAlarmStatus,
flDevicePsuStatusLastChange }
STATUS current
DESCRIPTION "PSU module state changed (fail or fan fail).
Vars: PSU alarm status, PSU status last
change"
::= { flDeviceNotifications 10 }
dyingGasp NOTIFICATION-TYPE
STATUS current
DESCRIPTION "Device is losing power.
This is the only trap that will be generated when the
device is experiencing total power loss.
Cleared by a coldStart alarm.
Vars: none."
::= { flDeviceNotifications 11 }
temperatureStatusChange NOTIFICATION-TYPE
OBJECTS { flDeviceTemperatureAlarmStatus,
flDeviceTemperatureStatusLastChange }
STATUS current
DESCRIPTION "Device's internal temperature status has changed.
Vars: temperature alarm status, temperature last change"
::= { flDeviceNotifications 12 }
cpuStatusChange NOTIFICATION-TYPE
OBJECTS { flDeviceCpuAlarmStatus,
flDeviceCpuStatusLastChange }
STATUS current
DESCRIPTION "CPU (or memory) status has changed.
Vars: CPU alarm status, PCU status last
change"
::= { flDeviceNotifications 13 }
configChanged NOTIFICATION-TYPE
STATUS current
DESCRIPTION "Device configuration has changed.
Indicates the startup config was updated
(even if it wasn't changed), as a result
of a copy running to startup operation."
::= { flDeviceNotifications 50 }
portMacLimit NOTIFICATION-TYPE --MAC limit trap
OBJECTS { ifIndex }
STATUS current
DESCRIPTION "MAC limit reached on port.
Vars: port number"
::= { flDeviceNotifications 19 }
END