1<?php
2
3/**
4 * Observium
5 *
6 *   This file is part of Observium.
7 *
8 * @package    observium
9 * @subpackage discovery
10 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
11 *
12 */
13
14// Note, device attrib 'eqlgrpmemid' sets in equallogic 'os' module.
15$eqlgrpmemid = get_dev_attrib($device, 'eqlgrpmemid');
16
17if (is_numeric($eqlgrpmemid))
18{
19  // EQLDISK-MIB::eqlDiskModelNumber.1.1049142137.1 = STRING: ST3450857SS
20  // EQLDISK-MIB::eqlDiskModelNumber.1.1049142137.2 = STRING: ST3450857SS
21  // EQLDISK-MIB::eqlDiskStatus.1.1049142137.1 = INTEGER: on-line(1)
22  // EQLDISK-MIB::eqlDiskStatus.1.1049142137.2 = INTEGER: on-line(1)
23  // EQLDISK-MIB::eqlDiskId.1.1049142137.1 = INTEGER: 0
24  // EQLDISK-MIB::eqlDiskId.1.1049142137.2 = INTEGER: 1
25  $cache['equallogic']['eqlDiskTable'] = snmpwalk_cache_multi_oid($device, 'eqlDiskTable', array(), 'EQLDISK-MIB');
26
27  foreach ($cache['equallogic']['eqlDiskTable'] as $index => $entry)
28  {
29    if (strstr($index, $eqlgrpmemid))
30    {
31      $descr = 'Disk '.$entry['eqlDiskId'] . ': ' . trim($entry['eqlDiskModelNumber']);
32
33      $oid   = '.1.3.6.1.4.1.12740.3.1.1.1.8.'.$index;
34      $value = $entry['eqlDiskStatus'];
35
36      if ($value !== '')
37      {
38        discover_status_ng($device, $mib, 'eqlDiskStatus', $oid, $index, 'eql-disk-state', $descr, $value, array('entPhysicalClass' => 'storage'));
39      }
40    }
41  }
42}
43
44// EOF
45