librenms/includes/definitions/discovery/dell-compellent.yaml
Adam Bishop b7b298806f
OS detection and sensors for Dell Compellent (#11467)
* OS detection and sensors for Dell Compellent

... or Dell storage as it is now known. Under the hood it's
referred to as Compellent, so I've named it as that to avoid
confusion.

It is not part of the Dell group or using the Dell MIB folder -
Dell have doubled up on some OID definitions, which means the MIB
here and a couple of the existing ones conflict.

The change adds OS detection and a frankly ludicrous amount of
sensors. I have access to a relatively low end device, so at the
moment everything under *ctlr* is my best guess based on the other
table layouts.

* Set sensor state_name to avoid collisions

* Regenerate test data
2020-04-23 22:58:22 -05:00

259 lines
13 KiB
YAML

mib: DELL-STORAGE-SC-MIB
modules:
sensors:
count:
data:
-
oid: scDiskFolderTable
value: scDiskFolderCapcty2
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.25.1.9.{{ $index }}
descr: 'Disk Folder: {{ $scDiskFolderName }} ({{ $scDiskFolderCapcty2 }}GB)'
index: scDiskFolderCapcty2.{{ $index }}
-
oid: scServerTable
value: scServerPathCount
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.27.1.6.{{ $index }}
descr: 'Path Count: {{ $scServerName }}'
index: scServerPathCount.{{ $index }}
-
oid: scObjCntTable
value: scObjCntDevsInUse
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.31.1.3.{{ $index }}
descr: 'Usage: Devices'
index: scObjCntDevsInUse.{{ $index }}
-
oid: scObjCntTable
value: scObjCntReplays
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.31.1.4.{{ $index }}
descr: 'Usage: Replays'
index: scObjCntReplays.{{ $index }}
-
oid: scObjCntTable
value: scObjCntDisks
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.31.1.5.{{ $index }}
descr: 'Usage: Disks'
index: scObjCntDisks.{{ $index }}
-
oid: scObjCntTable
value: scObjCntServers
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.31.1.6.{{ $index }}
descr: 'Usage: Servers'
index: scObjCntServers.{{ $index }}
-
oid: scObjCntTable
value: scObjCntVolumes
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.31.1.7.{{ $index }}
descr: 'Usage: Volumes'
index: scObjCntVolumes.{{ $index }}
fanspeed:
data:
-
oid: scCtlrFanTable
value: scCtlrFanCurrentRpm
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.16.1.5.{{ $index }}
descr: '{{ $scCtlrFanName }}'
index: scCtlrFanCurrentRpm.{{ $index }}
low_limit: scCtlrFanCritLwrRpm
low_warn_limit: scCtlrFanWarnLwrRpm
warn_limit: scCtlrFanWarnUprRpm
high_limit: scCtlrFanCritUprRpm
state:
data:
-
oid: productIDGlobalStatus
value: productIDGlobalStatus
num_oid: .1.3.6.1.4.1.16139.2.6
descr: 'Global Status'
state_name: productIDGlobalStatus
states:
- { value: 1, descr: other, graph: 1, generic: 3 }
- { value: 2, descr: unknown, graph: 1, generic: 3 }
- { value: 3, descr: ok, graph: 1, generic: 0 }
- { value: 4, descr: noncritical, graph: 1, generic: 1 }
- { value: 5, descr: critical, graph: 1, generic: 2 }
- { value: 6, descr: recoverable, graph: 1, generic: 1 }
-
oid: scDiskTable
value: scDiskStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.14.1.3.{{ $index }}
descr: 'Disk: {{ $scDiskNamePosition }} ({{ $scDiskSize }}GB)'
index: scDiskStatus.{{ $index }}
state_name: scDiskStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scDiskTable
value: scDiskHealthy
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.14.1.5.{{ $index }}
descr: 'Disk Health: {{ $scDiskNamePosition }} ({{ $scDiskSize }}GB)'
index: scDiskHealthy.{{ $index }}
state_name: scDiskHealthy
states:
- { value: 1, descr: healthy, graph: 1, generic: 0 }
- { value: 2, descr: notHealthy, graph: 1, generic: 1 }
-
oid: scEnclTable
value: scEnclStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.15.1.3.{{ $index }}
descr: 'Enclosure: {{ $scEnclNbr }} ({{ $scEnclType }}/{{ $scEnclModel }})'
index: scEnclStatus.{{ $index }}
state_name: scEnclStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scCtlrPowerTable
value: scCtlrPowerStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.17.1.3.{{ $index }}
descr: '{{ $scCtlrPowerName }}'
index: scCtlrPowerStatus.{{ $index }}
state_name: scCtlrPowerStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scEnclFanTable
value: scEnclFanStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.20.1.3.{{ $index }}
descr: 'Fan: {{ $scEnclFanLocation }}'
index: scEnclFanStatus.{{ $index }}
state_name: scEnclFanStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scEnclPowerTable
value: scEnclPowerStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.21.1.3.{{ $index }}
descr: 'PSU: {{ $scEnclPowerPosition }}'
index: scEnclPowerStatus.{{ $index }}
state_name: scEnclPowerStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scEnclIoModTable
value: scEnclIoModStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.22.1.3.{{ $index }}
descr: 'IO Module: {{ $scEnclIoModPosition }}'
index: scEnclIoModStatus.{{ $index }}
state_name: scEnclIoModStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scEnclTempTable
value: scEnclTempStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.23.1.3.{{ $index }}
descr: 'Temp: {{ $scEnclTempLocation }}'
index: scEnclTempStatus.{{ $index }}
state_name: scEnclTempStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scEnclAlarmTable
value: scEnclAlarmStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.24.1.3.{{ $index }}
descr: 'Alarm: {{ $scEnclAlarmName }}'
index: scEnclAlarmStatus.{{ $index }}
state_name: scEnclAlarmStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scDiskFolderTable
value: scDiskFolderStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.25.1.3.{{ $index }}
descr: 'Disk Folder: {{ $scDiskFolderName }}'
index: scDiskFolderStatus.{{ $index }}
state_name: scDiskFolderStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scVolumeTable
value: scVolumeStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.26.1.3.{{ $index }}
descr: 'Volume: {{ $scVolumeName }}'
index: scVolumeStatus.{{ $index }}
state_name: scVolumeStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scServerTable
value: scServerStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.27.1.3.{{ $index }}
descr: 'Server: {{ $scServerName }}'
index: scServerStatus.{{ $index }}
state_name: scServerStatus
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: degraded, graph: 1, generic: 1 }
-
oid: scServerTable
value: scServerCnctvy
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.27.1.5.{{ $index }}
descr: 'Connectivity: {{ $scServerName }}'
index: scServerCnctvy.{{ $index }}
state_name: scServerCnctvy
states:
- { value: 1, descr: up, graph: 1, generic: 0 }
- { value: 2, descr: down, graph: 1, generic: 2 }
- { value: 3, descr: partial, graph: 1, generic: 1 }
-
oid: scCacheTable
value: scCacheStatus
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.28.1.3.{{ $index }}
descr: 'Battery: {{ $scCacheName }}'
index: scCacheStatus.{{ $index }}
state_name: scCacheStatus
states:
- { value: 0, descr: noBattery, graph: 1, generic: 3 }
- { value: 1, descr: normal, graph: 1, generic: 0 }
- { value: 2, descr: expirationPending, graph: 1, generic: 1 }
- { value: 3, descr: expired, graph: 1, generic: 2 }
temperature:
data:
-
oid: scCtlrTempTable
value: scCtlrTempCurrentC
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.19.1.5.{{ $index }}
descr: '{{ $scCtlrTempName }}'
index: scCtlrTempCurrentC.{{ $index }}
low_limit: scCtlrTempCritLwrC
low_warn_limit: scCtlrTempWarnLwrC
warn_limit: scCtlrTempWarnUprC
high_limit: scCtlrTempCritUprC
-
oid: scEnclTempTable
value: scEnclTempCurrentC
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.23.1.5.{{ $index }}
descr: '{{ $scEnclTempLocation }}'
index: scEnclTempCurrentC.{{ $index }}
voltage:
data:
-
oid: scCtlrVoltageTable
value: scCtlrVoltageCurrentV
num_oid: .1.3.6.1.4.1.674.11000.2000.500.1.2.18.1.{{ $index }}
descr: '{{ $scCtlrVoltageName }}'
index: scCtlrVoltageCurrentV.{{ $index }}
low_limit: scCtlrVoltageCritLwrV
low_warn_limit: scCtlrVoltageWarnLwrV
warn_limit: scCtlrVoltageWarnUprV
high_limit: scCtlrVoltageCritUprV