diff --git a/html/images/logos/seagate.svg b/html/images/logos/seagate.svg new file mode 100644 index 000000000000..f0dac5677a6a --- /dev/null +++ b/html/images/logos/seagate.svg @@ -0,0 +1 @@ + diff --git a/html/images/os/seagate.svg b/html/images/os/seagate.svg new file mode 100644 index 000000000000..a13874725bf8 --- /dev/null +++ b/html/images/os/seagate.svg @@ -0,0 +1 @@ + diff --git a/includes/definitions/discovery/exos.yaml b/includes/definitions/discovery/exos.yaml new file mode 100644 index 000000000000..45ef0c173d79 --- /dev/null +++ b/includes/definitions/discovery/exos.yaml @@ -0,0 +1,56 @@ +mib: FCMGMT-MIB +modules: + os: + hardware: connUnitProduct + serial: connUnitSn + sensors: + state: + data: + - + oid: connUnitState + value: connUnitState + num_oid: '.1.3.6.1.3.94.1.6.1.5.{{ $index }}' + descr: 'Connectivity Unit State' + index: 'connUnitState.{{ $index }}' + state_name: connUnitState + states: + - { value: 2, generic: 0, graph: 0, descr: Online } + - { value: 3, generic: 2, graph: 0, descr: Offline } + - { value: 1, generic: 3, graph: 0, descr: none } + - + oid: connUnitStatus + value: connUnitStatus + num_oid: '.1.3.6.1.3.94.1.6.1.6.{{ $index }}' + descr: 'Connectivity Unit Status' + index: 'connUnitStatus.{{ $index }}' + state_name: connUnitStatus + states: + - { value: 1, generic: 3, graph: 0, descr: none } + - { value: 2, generic: 3, graph: 0, descr: Unused } + - { value: 3, generic: 0, graph: 0, descr: Ok } + - { value: 4, generic: 1, graph: 0, descr: Warning } + - { value: 5, generic: 2, graph: 0, descr: Failed } + - + oid: connUnitPrincipal + value: connUnitPrincipal + num_oid: '.1.3.6.1.3.94.1.6.1.13.{{ $index }}' + descr: 'Principal Unit' + index: 'connUnitPrincipal.{{ $index }}' + state_name: connUnitPrincipal + states: + - { value: 1, generic: 3, graph: 0, descr: Unknown } + - { value: 2, generic: 0, graph: 0, descr: No } + - { value: 3, generic: 0, graph: 0, descr: Yes } + - + oid: connUnitSensorTable + value: connUnitSensorStatus + num_oid: '.1.3.6.1.3.94.1.8.1.4.{{ $index }}' + descr: '{{ $connUnitSensorName }}' + index: 'connUnitSensorName.{{ $index }}' + state_name: connUnitSensorName + states: + - { value: 1, generic: 3, graph: 0, descr: Unknown } + - { value: 2, generic: 3, graph: 0, descr: Other } + - { value: 3, generic: 0, graph: 0, descr: Ok } + - { value: 4, generic: 1, graph: 0, descr: Warning } + - { value: 5, generic: 2, graph: 0, descr: Failed } diff --git a/includes/definitions/exos.yaml b/includes/definitions/exos.yaml new file mode 100644 index 000000000000..38e8628f5113 --- /dev/null +++ b/includes/definitions/exos.yaml @@ -0,0 +1,12 @@ +os: exos +text: Exos +type: storage +icon: seagate +over: + - { graph: device_bits, text: 'Device Traffic' } + - { graph: device_temperature, text: 'Temperature' } + - { graph: device_current, text: 'Current' } +discovery: + - + sysObjectID: + - .1.3.6.1.4.1.347.2.5730 diff --git a/includes/discovery/sensors/current/exos.inc.php b/includes/discovery/sensors/current/exos.inc.php new file mode 100644 index 000000000000..ae3d565f3842 --- /dev/null +++ b/includes/discovery/sensors/current/exos.inc.php @@ -0,0 +1,12 @@ + $entry) { + if (preg_match('/Current.* ([: 0-9\.]+A)/', $entry['connUnitSensorMessage'], $temp_value)) { + $value = str_replace('A', '', $temp_value[1]); + discover_sensor($valid['sensor'], 'current', $device, ".1.3.6.1.3.94.1.8.1.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.{$entry['connUnitSensorIndex']}", $entry['connUnitSensorIndex'], 'exos', $entry['connUnitSensorName'], 1, '1', null, null, null, null, $value); + } + } +} diff --git a/includes/discovery/sensors/pre-cache/exos.inc.php b/includes/discovery/sensors/pre-cache/exos.inc.php new file mode 100644 index 000000000000..4e7e54c46a74 --- /dev/null +++ b/includes/discovery/sensors/pre-cache/exos.inc.php @@ -0,0 +1,4 @@ + $entry) { + if (preg_match('/ Temp.* ([: 0-9]+ C)/', $entry['connUnitSensorMessage'], $temp_value)) { + [$value, $dump] = explode(' ', $temp_value[1]); + discover_sensor($valid['sensor'], 'temperature', $device, ".1.3.6.1.3.94.1.8.1.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.{$entry['connUnitSensorIndex']}", $entry['connUnitSensorIndex'], 'exos', $entry['connUnitSensorName'], 1, '1', null, null, null, null, $value); + } + } +} diff --git a/includes/discovery/sensors/voltage/exos.inc.php b/includes/discovery/sensors/voltage/exos.inc.php new file mode 100644 index 000000000000..1fafb1e9f10b --- /dev/null +++ b/includes/discovery/sensors/voltage/exos.inc.php @@ -0,0 +1,12 @@ + $entry) { + if (preg_match('/Voltage.* ([: 0-9\.]+V)/', $entry['connUnitSensorMessage'], $temp_value)) { + $value = str_replace('V', '', $temp_value[1]); + discover_sensor($valid['sensor'], 'voltage', $device, ".1.3.6.1.3.94.1.8.1.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.{$entry['connUnitSensorIndex']}", $entry['connUnitSensorIndex'], 'exos', $entry['connUnitSensorName'], 1, '1', null, null, null, null, $value); + } + } +} diff --git a/includes/polling/sensors/current/exos.inc.php b/includes/polling/sensors/current/exos.inc.php new file mode 100644 index 000000000000..0af1bdfe2c66 --- /dev/null +++ b/includes/polling/sensors/current/exos.inc.php @@ -0,0 +1,4 @@ +