newdevice: Added support for SmartOptics M-Series (#7314)

* newdevice: Added support for SmartOptics M-Series

* added os polling file
This commit is contained in:
Neil Lathwood
2017-09-14 03:12:56 +01:00
committed by Tony Murray
parent 0376f92cc3
commit b3567041dd
12 changed files with 1479 additions and 2 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,39 @@
mib: MSERIES-ENVMON-MIB:MSERIES-PORT-MIB
modules:
sensors:
state:
data:
-
oid: smartPortTable
num_oid: .1.3.6.1.4.1.30826.1.3.1.2.1.1.6.
value: smartPortStatus
descr: '{{ $smartPortAlias }} - {{ $smartPortName }}'
index: 'smartPortStatus.{{ $index }}'
state_name: smartPortStatus
states:
- { value: 1, generic: 0, graph: 1, descr: idle }
- { value: 2, generic: 2, graph: 1, descr: down }
- { value: 3, generic: 0, graph: 1, descr: up }
- { value: 4, generic: 1, graph: 1, descr: high }
- { value: 5, generic: 1, graph: 1, descr: low }
- { value: 6, generic: 1, graph: 1, descr: eyeSafety }
- { value: 7, generic: 3, graph: 1, descr: cd }
- { value: 8, generic: 3, graph: 1, descr: ncd }
temperature:
data:
-
oid: smartEnvMonTemperatureTable
value: smartEnvMonTemperatureValue
num_oid: .1.3.6.1.4.1.30826.1.4.1.1.1.3.
descr: smartEnvMonTemperatureDescr
power:
data:
-
oid: smartPortTable
value: smartPortPower
num_oid: .1.3.6.1.4.1.30826.1.3.1.2.1.1.5.
divisor: 10
descr: '{{ $smartPortAlias }} - {{ $smartPortName }}'
low_limit: smartPortLowPowerAlarmThreshold
high_limit: smartPortHighPowerAlarmThreshold
skip_values: -400

View File

@@ -0,0 +1,12 @@
os: smartos
text: 'SmartOptics M-Series'
type: network
icon: smartoptics
group: smartoptics
over:
- { graph: device_bits, text: 'Device Traffic' }
- { graph: device_processor, text: 'CPU Usage' }
- { graph: device_mempool, text: 'Memory Usage' }
discovery:
- sysObjectId:
- .1.3.6.1.4.1.30826

View File

@@ -1109,10 +1109,10 @@ function discovery_process(&$valid, $device, $sensor_type, $pre_cache)
$tmp_vars = $tmp_var[0];
foreach ($tmp_vars as $k => $tmp_var) {
$tmp_var = preg_replace('/({{ | }}|\$)/', '', $tmp_var);
if ($snmp_data[$tmp_var]) {
if (isset($snmp_data[$tmp_var])) {
$descr = str_replace("{{ \$$tmp_var }}", $snmp_data[$tmp_var], $descr);
}
if ($cached_data[$index][$tmp_var]) {
if (isset($cached_data[$index][$tmp_var])) {
$descr = str_replace("{{ \$$tmp_var }}", $cached_data[$index][$tmp_var], $descr);
}
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* smartos.inc.php
*
* LibreNMS os polling module for SmartOptics SmartOS
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2017 Neil Lathwood
* @author Neil Lathwood <gh+n@laf.io>
*/
//SmartOptics, M-Series M-1601-D1000C1 R2A, SmartOS v2.4.14 (Compiled on Thu Jun 2 14:21:33 CEST 2016)
list(, $hardware, $version) = explode(',', $poll_device['sysDescr']);
$hardware = str_replace('M-Series ', '', $hardware);
list(,,$version,) = explode(' ', $version);

View File

@@ -0,0 +1,736 @@
-- SmartOptics Enterprise Specific Alarm MIB.
--
-- Copyright (c) 2011, SmartOptics
-- All rights reserved
--
MSERIES-ALARM-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32, Counter32, Integer32
FROM SNMPv2-SMI
DisplayString, DateAndTime
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
AlarmPerceivedSeverity, AlarmNotificationType, AlarmProbableCause, UnitType, PortType
FROM MSERIES-TC
mseries
FROM MSERIES-MIB;
smartAlarm MODULE-IDENTITY
LAST-UPDATED "201402121415Z"
ORGANIZATION "SmartOptics"
CONTACT-INFO "http://www.smartoptics.com"
DESCRIPTION
"This is the enterprise specific Alarm MIB for SmartOptics M-Series"
REVISION "201402121415Z"
DESCRIPTION
"Added alarmLogList and smartAlarmMIBConformance."
REVISION "201310151341Z"
DESCRIPTION
"Added alarmHostName, alarmPortName and alarmPortType to AlarmEntry.
Added alarmHostName, alarmPortName and alarmPortType to
alarmNotificationCleared, alarmNotificationWarning,
alarmNotificationMinor, alarmNotificationMajor,
and alarmNotificationCritical.
Also alarmPort reports different numbers against before
(changed from SmartOS v2.1). 1-10 means Line ports
and 11 and above means Client port.
Descriptions are also updated."
REVISION "201112050000Z"
DESCRIPTION
"Initial revision.
Added notifications."
::= { mseries 1 }
alarmGeneral OBJECT IDENTIFIER
::= { smartAlarm 1}
alarmActiveList OBJECT IDENTIFIER
::= { smartAlarm 2}
alarmLogList OBJECT IDENTIFIER
::= { smartAlarm 3}
alarmNotifications OBJECT IDENTIFIER
::= { smartAlarm 4}
smartAlarmMIBConformance OBJECT IDENTIFIER
::= { smartAlarm 5}
smartAlarmGroups OBJECT IDENTIFIER
::= { smartAlarmMIBConformance 1}
smartAlarmCompliances OBJECT IDENTIFIER
::= { smartAlarmMIBConformance 2}
--
-- General alarm group
--
smartAlarmGeneralLastSeqNumber OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sequence number of the last sent notification."
::= { alarmGeneral 1 }
smartAlarmGeneralHighestSeverity OBJECT-TYPE
SYNTAX AlarmPerceivedSeverity
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current highest severity of the active alarms."
::= { alarmGeneral 2 }
smartAlarmGeneralNumberActiveList OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of active alarms in the alarmActiveList."
::= { alarmGeneral 3 }
smartAlarmGeneralNumberLogList OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of alarms in the alarmLogList."
::= { alarmGeneral 4 }
--
-- Alarm active list group
--
alarmActiveTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The active alarm list."
::= { alarmActiveList 1 }
alarmEntry OBJECT-TYPE
SYNTAX AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the active alarm list."
INDEX { alarmIndex }
::= { alarmActiveTable 1 }
AlarmEntry ::=
SEQUENCE {
alarmIndex Unsigned32,
alarmUnit UnitType,
alarmPort Integer32,
alarmText DisplayString,
alarmSeverity AlarmPerceivedSeverity,
alarmActivationTime DateAndTime,
alarmCeaseTime DateAndTime,
alarmSeqNumber Counter32,
alarmHostName DisplayString,
alarmPortName DisplayString,
alarmPortType PortType,
alarmType AlarmNotificationType,
alarmCause AlarmProbableCause,
alarmPortAlias DisplayString
}
alarmIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An unique index assigned to each alarm."
::= { alarmEntry 1 }
alarmUnit OBJECT-TYPE
SYNTAX UnitType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The alarming unit associated with this alarm.
undefined(0), nmb(1), psu1(2), psu2(3), fan(4), system&#40;5&#41;,
slaveNmb(6), slavePsu1(7), slavePsu2(8), slaveFan(9)."
::= { alarmEntry 2 }
alarmPort OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The alarming port associated with this alarm.
1-10 is Line Ports. 11 and higher is Client ports. For non port alarms this value is 0."
::= { alarmEntry 3 }
alarmText OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The additional text for the alarm."
::= { alarmEntry 4 }
alarmSeverity OBJECT-TYPE
SYNTAX AlarmPerceivedSeverity
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The severity of the alarm as defined in
ITU-T X.733."
::= { alarmEntry 5 }
alarmActivationTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time when the alarm was created."
::= { alarmEntry 6 }
alarmCeaseTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time when the alarm was ceased."
::= { alarmEntry 7 }
alarmSeqNumber OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The last sequence number used when issuing
a notification for this alarm."
::= { alarmEntry 8 }
alarmHostName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The hostname."
::= { alarmEntry 9 }
alarmPortName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Port Name."
::= { alarmEntry 10 }
alarmPortType OBJECT-TYPE
SYNTAX PortType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Port Type. undefined(0), rx(1), tx(2), biDi(3)."
::= { alarmEntry 11 }
alarmType OBJECT-TYPE
SYNTAX AlarmNotificationType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of alarm as defined in ITU-T X.733
undefined (0),
other (1),
communicationsAlarm (2),
qualityOfServiceAlarm (3),
processingErrorAlarm (4),
equipmentAlarm (5),
environmental (6),
integrityViolation (7),
operationalViolation (8),
physicalViolation(9),
securityServiceOrMechanismViloation (10),
timeDomainViolation (11)"
::= { alarmEntry 12 }
alarmCause OBJECT-TYPE
SYNTAX AlarmProbableCause
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The alarm probable cause as defined in ITU-T X.733.
undefined (0)
adapterError (1) -- Equipment
applicationSubsystemFailure (2) -- Processing
bandwidthReduced (3) -- Quality of service
callEstablishmentError (4) -- Communications
communicationsProtocolError (5) -- Communications
communicationsSubsystemFailure (6) -- Communications
configurationOrCustomizationError (7) -- Processing
congestion (8) -- Quality of service
corruptData (9) -- Processing
cpuCyclesLimitExceeded (10) -- Processing
dTEdCEInterfaceError (11) -- Communications
datasetOrModemError (12) -- Equipment
degradedSignal (13) -- Communications
enclosureDoorOpen (14) -- Environmental
equipmentMalfunction (15) -- Equipment
excessiveVibration (16) -- Environmental
fileError (17) -- Processing
fireDetected (18) -- Environmental
floodDetected (19) -- Environmental
framingError (20) -- Communications
heatingOrVentilationOrCoolingSystemProblem (21) -- Environmental
humidityUnacceptable (22) -- Environmental
inputDeviceError (23) -- Equipment
inputOutputDeviceError (24) -- Equipment
lANError (25) -- Communications
leakDetected (26) -- Environmental
localNodeTransmissionError (27) -- Communications
lossOfFrame (28) -- Communications
lossOfSignal (29) -- Communications
materialSupplyExhausted (30) -- Environmental
multiplexerProblem (31) -- Equipment
outOfMemory (32) -- Processing
outputDeviceError (33) -- Equipment
performanceDegraded (34) -- Quality of service
powerProblem (35) -- Equipment
pressureUnacceptable (36) -- Environmental
processorProblem (37) -- Equipment
pumpFailure (38) -- Environmental
queueSizeExceeded (39) -- Quality of service
receiveFailure (40) -- Equipment
receiverFailure (41) -- Equipment
remoteNodeTransmissionError (42) -- Communications
resourceAtOrNearingCapacity (43) -- Quality of service
responseTimeExcessive (44) -- Quality of service
retransmissionRateExcessive (45) -- Quality of service
softwareProgramError (46) -- Processing
softwareError (47) -- Processing
softwareProgramAbnormallyTerminated (48) -- Processing
storageCapacityProblem (49) -- Processing
temperatureUnacceptable (50) -- Environmental
thresholdCrossed (51) -- Quality of service
timingProblem (52) -- Equipment
toxicLeakDetected (53) -- Environmental
transmitFailure (54) -- Equipment
transmitterFailure (55) -- Equipment
underlyingResourceUnavailable (56) -- Processing
versionMismatch (57) -- Processing"
::= { alarmEntry 13 }
alarmPortAlias OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Port Alias."
::= { alarmEntry 14 }
--
-- Alarm active list group
--
alarmLogTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlarmLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The active alarm list."
::= { alarmLogList 1 }
alarmLogEntry OBJECT-TYPE
SYNTAX AlarmLogEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the alarm log table."
INDEX { alarmLogIndex }
::= { alarmLogTable 1 }
AlarmLogEntry ::=
SEQUENCE {
alarmLogIndex Unsigned32,
alarmLogUnit UnitType,
alarmLogPort Integer32,
alarmLogText DisplayString,
alarmLogSeverity AlarmPerceivedSeverity,
alarmLogActivationTime DateAndTime,
alarmLogCeaseTime DateAndTime,
alarmLogSeqNumber Counter32,
alarmLogHostName DisplayString,
alarmLogPortName DisplayString,
alarmLogPortType PortType,
alarmLogType AlarmNotificationType,
alarmLogCause AlarmProbableCause
}
alarmLogIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An unique index assigned to each alarm."
::= { alarmLogEntry 1 }
alarmLogUnit OBJECT-TYPE
SYNTAX UnitType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The alarming unit associated with this alarm.
undefined(0), nmb(1), psu1(2), psu2(3), fan(4), system&#40;5&#41;,
slaveNmb(6), slavePsu1(7), slavePsu2(8), slaveFan(9)."
::= { alarmLogEntry 2 }
alarmLogPort OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The alarming port associated with this alarm.
1-10 is Line Ports. 11 and higher is Client ports. For non port alarms this value is 0."
::= { alarmLogEntry 3 }
alarmLogText OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The additional text for the alarm."
::= { alarmLogEntry 4 }
alarmLogSeverity OBJECT-TYPE
SYNTAX AlarmPerceivedSeverity
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The severity of the alarm as defined in
ITU-T X.733."
::= { alarmLogEntry 5 }
alarmLogActivationTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time when the alarm was created."
::= { alarmLogEntry 6 }
alarmLogCeaseTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time when the alarm was ceased."
::= { alarmLogEntry 7 }
alarmLogSeqNumber OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The last sequence number used when issuing
a notification for this alarm."
::= { alarmLogEntry 8 }
alarmLogHostName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The hostname."
::= { alarmLogEntry 9 }
alarmLogPortName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Port Name."
::= { alarmLogEntry 10 }
alarmLogPortType OBJECT-TYPE
SYNTAX PortType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Port Direction. rx(1), tx(2), biDi(3)."
::= { alarmLogEntry 11 }
alarmLogType OBJECT-TYPE
SYNTAX AlarmNotificationType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of alarm as defined in ITU-T X.733
undefined (0),
other (1),
communicationsAlarm (2),
qualityOfServiceAlarm (3),
processingErrorAlarm (4),
equipmentAlarm (5),
environmental (6),
integrityViolation (7),
operationalViolation (8),
physicalViolation(9),
securityServiceOrMechanismViloation (10),
timeDomainViolation (11)"
::= { alarmLogEntry 12 }
alarmLogCause OBJECT-TYPE
SYNTAX AlarmProbableCause
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The alarm probable cause as defined in ITU-T X.733.
undefined (0)
adapterError (1) -- Equipment
applicationSubsystemFailure (2) -- Processing
bandwidthReduced (3) -- Quality of service
callEstablishmentError (4) -- Communications
communicationsProtocolError (5) -- Communications
communicationsSubsystemFailure (6) -- Communications
configurationOrCustomizationError (7) -- Processing
congestion (8) -- Quality of service
corruptData (9) -- Processing
cpuCyclesLimitExceeded (10) -- Processing
dTEdCEInterfaceError (11) -- Communications
datasetOrModemError (12) -- Equipment
degradedSignal (13) -- Communications
enclosureDoorOpen (14) -- Environmental
equipmentMalfunction (15) -- Equipment
excessiveVibration (16) -- Environmental
fileError (17) -- Processing
fireDetected (18) -- Environmental
floodDetected (19) -- Environmental
framingError (20) -- Communications
heatingOrVentilationOrCoolingSystemProblem (21) -- Environmental
humidityUnacceptable (22) -- Environmental
inputDeviceError (23) -- Equipment
inputOutputDeviceError (24) -- Equipment
lANError (25) -- Communications
leakDetected (26) -- Environmental
localNodeTransmissionError (27) -- Communications
lossOfFrame (28) -- Communications
lossOfSignal (29) -- Communications
materialSupplyExhausted (30) -- Environmental
multiplexerProblem (31) -- Equipment
outOfMemory (32) -- Processing
outputDeviceError (33) -- Equipment
performanceDegraded (34) -- Quality of service
powerProblem (35) -- Equipment
pressureUnacceptable (36) -- Environmental
processorProblem (37) -- Equipment
pumpFailure (38) -- Environmental
queueSizeExceeded (39) -- Quality of service
receiveFailure (40) -- Equipment
receiverFailure (41) -- Equipment
remoteNodeTransmissionError (42) -- Communications
resourceAtOrNearingCapacity (43) -- Quality of service
responseTimeExcessive (44) -- Quality of service
retransmissionRateExcessive (45) -- Quality of service
softwareProgramError (46) -- Processing
softwareError (47) -- Processing
softwareProgramAbnormallyTerminated (48) -- Processing
storageCapacityProblem (49) -- Processing
temperatureUnacceptable (50) -- Environmental
thresholdCrossed (51) -- Quality of service
timingProblem (52) -- Equipment
toxicLeakDetected (53) -- Environmental
transmitFailure (54) -- Equipment
transmitterFailure (55) -- Equipment
underlyingResourceUnavailable (56) -- Processing
versionMismatch (57) -- Processing"
::= { alarmLogEntry 13 }
--
-- Notifications
--
alarmNotifyPrefix OBJECT IDENTIFIER ::= { alarmNotifications 0 }
alarmNotificationCleared NOTIFICATION-TYPE
OBJECTS {
alarmIndex,
alarmUnit,
alarmPort,
alarmText,
alarmSeverity,
alarmActivationTime,
alarmCeaseTime,
alarmSeqNumber,
alarmHostName,
alarmPortName,
alarmPortType,
alarmPortAlias }
STATUS current
DESCRIPTION
"Sent when an alarm is cleared."
::= { alarmNotifyPrefix 1 }
alarmNotificationWarning NOTIFICATION-TYPE
OBJECTS {
alarmIndex,
alarmUnit,
alarmPort,
alarmText,
alarmSeverity,
alarmActivationTime,
alarmCeaseTime,
alarmSeqNumber,
alarmHostName,
alarmPortName,
alarmPortType,
alarmPortAlias }
STATUS current
DESCRIPTION
"Sent when an alarm with warning severity is activated."
::= { alarmNotifyPrefix 2 }
alarmNotificationMinor NOTIFICATION-TYPE
OBJECTS {
alarmIndex,
alarmUnit,
alarmPort,
alarmText,
alarmSeverity,
alarmActivationTime,
alarmCeaseTime,
alarmSeqNumber,
alarmHostName,
alarmPortName,
alarmPortType,
alarmPortAlias }
STATUS current
DESCRIPTION
"Sent when an alarm with minor severity is activated."
::= { alarmNotifyPrefix 3 }
alarmNotificationMajor NOTIFICATION-TYPE
OBJECTS {
alarmIndex,
alarmUnit,
alarmPort,
alarmText,
alarmSeverity,
alarmActivationTime,
alarmCeaseTime,
alarmSeqNumber,
alarmHostName,
alarmPortName,
alarmPortType,
alarmPortAlias }
STATUS current
DESCRIPTION
"Sent when an alarm with major severity is activated.."
::= { alarmNotifyPrefix 4 }
alarmNotificationCritical NOTIFICATION-TYPE
OBJECTS {
alarmIndex,
alarmUnit,
alarmPort,
alarmText,
alarmSeverity,
alarmActivationTime,
alarmCeaseTime,
alarmSeqNumber,
alarmHostName,
alarmPortName,
alarmPortType,
alarmPortAlias }
STATUS current
DESCRIPTION
"Sent when an alarm with critical severity is activated."
::= { alarmNotifyPrefix 5 }
-- ----------------------------------------------------
-- Conformance
-- ----------------------------------------------------
-- ----------------------------------------------------
-- Groups
-- ----------------------------------------------------
smartAlarmGeneralGroupV1 OBJECT-GROUP
OBJECTS { smartAlarmGeneralLastSeqNumber,
smartAlarmGeneralHighestSeverity,
smartAlarmGeneralNumberActiveList,
smartAlarmGeneralNumberLogList }
STATUS current
DESCRIPTION
"The general alarm objects V1."
::= { smartAlarmGroups 1 }
smartAlarmNotificationGroupV1 NOTIFICATION-GROUP
NOTIFICATIONS { alarmNotificationCleared,
alarmNotificationCritical,
alarmNotificationMajor,
alarmNotificationMinor,
alarmNotificationWarning }
STATUS current
DESCRIPTION
"The alarm notifications V1."
::= { smartAlarmGroups 2 }
smartAlarmActiveTableGroupV1 OBJECT-GROUP
OBJECTS { alarmIndex,
alarmUnit,
alarmPort,
alarmText,
alarmSeverity,
alarmActivationTime,
alarmCeaseTime,
alarmSeqNumber,
alarmHostName,
alarmPortName,
alarmPortType,
alarmType,
alarmCause }
STATUS current
DESCRIPTION
"The active alarm table objects V1."
::= { smartAlarmGroups 3 }
smartAlarmLogTableGroupV1 OBJECT-GROUP
OBJECTS { alarmLogIndex,
alarmLogUnit,
alarmLogPort,
alarmLogText,
alarmLogSeverity,
alarmLogActivationTime,
alarmLogCeaseTime,
alarmLogSeqNumber,
alarmLogHostName,
alarmLogPortName,
alarmLogPortType,
alarmLogType,
alarmLogCause }
STATUS current
DESCRIPTION
"The alarm log table objects V1."
::= { smartAlarmGroups 4 }
-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------
smartAlarmBasicComplV1 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Basic implementation requirements for the alarm MIB V1."
MODULE
MANDATORY-GROUPS {
smartAlarmGeneralGroupV1,
smartAlarmNotificationGroupV1,
smartAlarmActiveTableGroupV1,
smartAlarmLogTableGroupV1 }
::= { smartAlarmCompliances 1 }
END

View File

@@ -0,0 +1,125 @@
-- SmartOptics Enterprise Specific Enviroment Monitor MIB.
--
-- Copyright (c) 2014, SmartOptics
-- All rights reserved
--
MSERIES-ENVMON-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Integer32
FROM SNMPv2-SMI
DisplayString
FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF
mseries
FROM MSERIES-MIB;
smartEnvMon MODULE-IDENTITY
LAST-UPDATED "201402151034Z"
ORGANIZATION "SmartOptics"
CONTACT-INFO "http://www.smartoptics.com"
DESCRIPTION
"This is the enterprise specific Enviroment Monitor MIB for SmartOptics M-Series."
REVISION "201402151034Z"
DESCRIPTION
"The initial revision of the MSERIES Enviroment Monitor MIB."
::= { mseries 4 }
smartEnvMonObjects OBJECT IDENTIFIER
::= { smartEnvMon 1}
smartEnvMonMIBConformance OBJECT IDENTIFIER
::= { smartEnvMon 2}
smartEnvMonGroups OBJECT IDENTIFIER
::= { smartEnvMonMIBConformance 1}
smartEnvMonCompliances OBJECT IDENTIFIER
::= { smartEnvMonMIBConformance 2}
--
-- The EnvMon Temperature Table
--
smartEnvMonTemperatureTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmartEnvMonTemperatureEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row per temperature sensor."
::= { smartEnvMonObjects 1 }
smartEnvMonTemperatureEntry OBJECT-TYPE
SYNTAX SmartEnvMonTemperatureEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular temperature sensor."
INDEX { smartEnvMonTemperatureIndex }
::= { smartEnvMonTemperatureTable 1 }
SmartEnvMonTemperatureEntry ::=
SEQUENCE {
smartEnvMonTemperatureIndex Unsigned32,
smartEnvMonTemperatureDescr DisplayString,
smartEnvMonTemperatureValue Integer32
}
smartEnvMonTemperatureIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An unique index for each temperature sensor."
::= { smartEnvMonTemperatureEntry 1 }
smartEnvMonTemperatureDescr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the temperature sensor."
::= { smartEnvMonTemperatureEntry 2 }
smartEnvMonTemperatureValue OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Celsius"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The temperature in Celsius measured by the sensor."
::= { smartEnvMonTemperatureEntry 3 }
-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------
smartEnvMonTemperatureGroupV1 OBJECT-GROUP
OBJECTS {
smartEnvMonTemperatureIndex,
smartEnvMonTemperatureDescr,
smartEnvMonTemperatureValue }
STATUS current
DESCRIPTION
"The EnvMon Temperatue MIB objects v1."
::= { smartEnvMonGroups 1 }
-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------
smartEnvMonBasicComplV1 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Basic implementation requirements for the ENVMON MIB."
MODULE
MANDATORY-GROUPS {
smartEnvMonTemperatureGroupV1 }
::= { smartEnvMonCompliances 1 }
END

View File

@@ -0,0 +1,52 @@
-- SmartOptics Enterprise Specific MIB.
--
-- Copyright (c) 2011, SmartOptics
-- All rights reserved
--
MSERIES-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises, MODULE-IDENTITY, OBJECT-IDENTITY
FROM SNMPv2-SMI;
smartoptics MODULE-IDENTITY
LAST-UPDATED "201402121327Z"
ORGANIZATION "SmartOptics"
CONTACT-INFO "http://www.smartoptics.com"
DESCRIPTION
"This is the enterprise specific MIB for SmartOptics M-Series.
The root of the OID sub-tree assigned to SmartOptics."
REVISION "201402121327Z"
DESCRIPTION
"The initial revision."
::= { enterprises 30826 }
mseries OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The M-Series product root."
::= { smartoptics 1}
-- MIB overview
-- MSERIES-SYSTEM smartSystemMIB
-- tbd
-- MSERIES-ALARM smartAlarmMIB
-- Active Alarm List and Log.
-- MSERIES-TC smartTcMIB
-- Textual coneventions
-- MSERIES-PORT smartPortMIB
-- Line and Client Port Description.
-- MSERIES-ENVMON smartEnvMonMIB
-- Temperature sensor reading from the M-Series.
END

View File

@@ -0,0 +1,242 @@
-- SmartOptics Enterprise Specific Port MIB.
--
-- Copyright (c) 2014, SmartOptics
-- All rights reserved
--
MSERIES-PORT-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Integer32
FROM SNMPv2-SMI
DisplayString
FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF
PortType, PortStatus, PortMode
FROM MSERIES-TC
mseries
FROM MSERIES-MIB;
smartPort MODULE-IDENTITY
LAST-UPDATED "201402121344Z"
ORGANIZATION "SmartOptics"
CONTACT-INFO "http://www.smartoptics.com"
DESCRIPTION
"This is the enterprise specific Port MIB for SmartOptics M-Series."
REVISION "201402121344Z"
DESCRIPTION
"The initial revision of the MSERIES Port MIB."
::= { mseries 3 }
smartPortObjects OBJECT IDENTIFIER
::= { smartPort 1 }
smartPortGeneral OBJECT IDENTIFIER
::= { smartPortObjects 1}
smartPortList OBJECT IDENTIFIER
::= { smartPortObjects 2}
smartPortMIBConformance OBJECT IDENTIFIER
::= { smartPort 2}
smartPortGroups OBJECT IDENTIFIER
::= { smartPortMIBConformance 1}
smartPortCompliances OBJECT IDENTIFIER
::= { smartPortMIBConformance 2}
--
-- General
--
--
-- The Port Table
--
smartPortTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmartPortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A port table."
::= { smartPortList 1 }
smartPortEntry OBJECT-TYPE
SYNTAX SmartPortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the port list."
INDEX { smartPortIndex }
::= { smartPortTable 1 }
SmartPortEntry ::=
SEQUENCE {
smartPortIndex Unsigned32,
smartPortName DisplayString,
smartPortAlias DisplayString,
smartPortType PortType,
smartPortPower Integer32,
smartPortStatus PortStatus,
smartPortMode PortMode,
smartPortHighPowerAlarmThreshold Integer32,
smartPortLowPowerAlarmThreshold Integer32
}
smartPortIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A unique index for each port that corresponds to the index in the interface table"
::= { smartPortEntry 1 }
smartPortName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the port."
::= { smartPortEntry 2 }
smartPortAlias OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"User configurable Port Alias for the port.
Not writeable in SmartOS v2.3"
::= { smartPortEntry 3 }
smartPortType OBJECT-TYPE
SYNTAX PortType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of port.
rx(1) - Receiving port.
tx(2) - Transmitting port.
biDi(3) - Bidirectional port."
::= { smartPortEntry 4 }
smartPortPower OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The power level in units of 0.1 dBm."
::= { smartPortEntry 5 }
smartPortStatus OBJECT-TYPE
SYNTAX PortStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The operational state for a port.
idle(1) - The port is not activated
down(2) - The port traffic is lost.
up(3) - There is traffic on the port.
high(4) - The port got to high power.
low(5) - The port got to low power.
eyeSafety(6) - The Line Tx port is in Eye Safety Mode.
This means that either the connector on the
Line Tx port is not inserted or that you have
too strong reflection from the line fiber.
cd(7) - Channel detected.
ncd(8) - No channel detected."
::= { smartPortEntry 6 }
smartPortMode OBJECT-TYPE
SYNTAX PortMode
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The Mode of the Port.
normal (1) - The port is active. No alarms
are beeing suppressed.
service (2) . The port is in service mode
and alarms are beeing suppressed. When service
is ready smartPortMode should be set to
'normal' again.
Not writeable in SmartOS v2.3"
::= { smartPortEntry 7 }
smartPortHighPowerAlarmThreshold OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The threshold for the High Power alarm.
Not writeable in SmartOS v2.3"
::= { smartPortEntry 8 }
smartPortLowPowerAlarmThreshold OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The threshold for the Low Power alarm.
Not writeable in SmartOS v2.3"
::= { smartPortEntry 9 }
-- ----------------------------------------------------
-- Conformance
-- ----------------------------------------------------
-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------
smartPortListGroupV1 OBJECT-GROUP
OBJECTS {
smartPortIndex,
smartPortName,
smartPortAlias,
smartPortType,
smartPortPower,
smartPortStatus,
smartPortMode,
smartPortHighPowerAlarmThreshold,
smartPortLowPowerAlarmThreshold }
STATUS current
DESCRIPTION
"The Port List MIB objects v1."
::= { smartPortGroups 1 }
-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------
smartPortBasicComplV1 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Basic implementation requirements for the port MIB V1."
MODULE
MANDATORY-GROUPS {
smartPortListGroupV1 }
::= { smartPortCompliances 1 }
END

237
mibs/smartoptics/MSERIES-TC Normal file
View File

@@ -0,0 +1,237 @@
-- SmartOptics Enterprise Specific TC MIB.
--
-- Copyright (c) 2011, SmartOptics
-- All rights reserved
--
MSERIES-TC DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC
mseries
FROM MSERIES-MIB;
smartTcMIB MODULE-IDENTITY
LAST-UPDATED "201402121327Z"
ORGANIZATION "SmartOptics"
CONTACT-INFO "http://www.smartoptics.com"
DESCRIPTION
"This is the enterprise specific TC MIB for SmartOptics M-Series"
REVISION "201402121327Z"
DESCRIPTION
"Added PortStatus and PortMode."
REVISION "201310151341Z"
DESCRIPTION
"Descriptions updated."
REVISION "201112050000Z"
DESCRIPTION
"Initial revision."
::= { mseries 5 }
--
-- definitions of the textual convetions
--
AlarmPerceivedSeverity ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Alarm severity as defined in ITU-T X.733."
SYNTAX INTEGER {
cleared (1),
indeterminate (2),
critical (3),
major (4),
minor (5),
warning (6)
}
AlarmNotificationType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Type of alarm as defined in ITU-T X.733."
SYNTAX INTEGER {
undefined (0),
other (1),
communicationsAlarm (2),
qualityOfServiceAlarm (3),
processingErrorAlarm (4),
equipmentAlarm (5),
environmental (6),
integrityViolation (7),
operationalViolation (8),
physicalViolation(9),
securityServiceOrMechanismViloation (10),
timeDomainViolation (11)
}
AlarmProbableCause ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Alarm probable cause as defined in ITU-T X.733."
SYNTAX INTEGER {
undefined (0),
adapterError (1), -- Equipment
applicationSubsystemFailure (2), -- Processing
bandwidthReduced (3), -- Quality of service
callEstablishmentError (4), -- Communications
communicationsProtocolError (5), -- Communications
communicationsSubsystemFailure (6), -- Communications
configurationOrCustomizationError (7), -- Processing
congestion (8), -- Quality of service
corruptData (9), -- Processing
cpuCyclesLimitExceeded (10), -- Processing
dTEdCEInterfaceError (11), -- Communications
datasetOrModemError (12), -- Equipment
degradedSignal (13), -- Communications
enclosureDoorOpen (14), -- Environmental
equipmentMalfunction (15), -- Equipment
excessiveVibration (16), -- Environmental
fileError (17), -- Processing
fireDetected (18), -- Environmental
floodDetected (19), -- Environmental
framingError (20), -- Communications
heatingOrVentilationOrCoolingSystemProblem (21), -- Environmental
humidityUnacceptable (22), -- Environmental
inputDeviceError (23), -- Equipment
inputOutputDeviceError (24), -- Equipment
lANError (25), -- Communications
leakDetected (26), -- Environmental
localNodeTransmissionError (27), -- Communications
lossOfFrame (28), -- Communications
lossOfSignal (29), -- Communications
materialSupplyExhausted (30), -- Environmental
multiplexerProblem (31), -- Equipment
outOfMemory (32), -- Processing
outputDeviceError (33), -- Equipment
performanceDegraded (34), -- Quality of service
powerProblem (35), -- Equipment
pressureUnacceptable (36), -- Environmental
processorProblem (37), -- Equipment
pumpFailure (38), -- Environmental
queueSizeExceeded (39), -- Quality of service
receiveFailure (40), -- Equipment
receiverFailure (41), -- Equipment
remoteNodeTransmissionError (42), -- Communications
resourceAtOrNearingCapacity (43), -- Quality of service
responseTimeExcessive (44), -- Quality of service
retransmissionRateExcessive (45), -- Quality of service
softwareProgramError (46), -- Processing
softwareError (47), -- Processing
softwareProgramAbnormallyTerminated (48), -- Processing
storageCapacityProblem (49), -- Processing
temperatureUnacceptable (50), -- Environmental
thresholdCrossed (51), -- Quality of service
timingProblem (52), -- Equipment
toxicLeakDetected (53), -- Environmental
transmitFailure (54), -- Equipment
transmitterFailure (55), -- Equipment
underlyingResourceUnavailable (56), -- Processing
versionMismatch (57) } -- Processing
UnitType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The unit type in the M-Series.
nmb - Network Management Board. The controlling
board of the M-Series.
psu1 - The Power Supply in slot 1 of the M-Series.
psu2 - The Power Supply in slot 2 of the M-Series.
fan - The Fan of the M-Series.
system - The chassis.
slaveNmb - Network Management Board of the Cascading system.
slavePsu1 - The Power Supply in slot 1 of the Cascading M-Series.
slavePsu2 - The Power Supply in slot 2 of the Cascading M-Series.
slaveFan - The Fan of the Cascading M-Series."
SYNTAX INTEGER {
nmb (1),
psu1 (2),
psu2 (3),
fan (4),
system (5),
slaveNmb (6),
slavePsu1 (7),
slavePsu2 (8),
slaveFan (9)
}
PortType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Port direction.
rx - The port direction is receiving(Rx).
tx - The port direction is transmitting(Tx).
biDi - The port direction is both transmitting and receiving."
SYNTAX INTEGER {
rx (1),
tx (2),
biDi (3)
}
PortStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The operational state for a port.
idle - The port is not activated
down - The port traffic is lost.
up - There is traffic on the port.
high - The port got to high power.
low - The port got to low power.
eyeSafety - The Line Tx port is in Eye Safety Mode.
This means that either the connector on the
Line Tx port is not inserted or that you have
too strong reflection from the line fiber.
cd - Channel detected.
ncd - No channel detected."
SYNTAX INTEGER {
idle (1),
down (2),
up (3),
high (4),
low (5),
eyeSafety (6),
cd (7),
ncd (8) }
PortMode ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Port Mode.
normal - The port is active. Alarms are not suppressed.
service - the port is in Service Mode. Alarms are
beeing suppressed. When service is ready the
Port Mode should be set back to normal."
SYNTAX INTEGER {
normal (1),
service (2)
}
END

View File

@@ -0,0 +1,2 @@
1.3.6.1.2.1.1.1.0|4|SmartOptics, M-Series M-1601-D1000C1 R2A, SmartOS v2.4.14 (Compiled on Thu Jun 2 14:21:33 CEST 2016)
1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.30826.1