diff --git a/includes/discovery/fanspeeds.inc.php b/includes/discovery/fanspeeds.inc.php index b3769d8b05..524e1423ec 100644 --- a/includes/discovery/fanspeeds.inc.php +++ b/includes/discovery/fanspeeds.inc.php @@ -24,7 +24,7 @@ if ($device['os'] == "linux") list($oid,$descr) = explode(" ", $data,2); $split_oid = explode('.',$oid); $index = $split_oid[count($split_oid)-1]; - $oid = ".1.3.6.1.4.1.2021.13.16.3.1.3.". $index; + $oid = "1.3.6.1.4.1.2021.13.16.3.1.3.". $index; $current = snmp_get($device, $oid, "-Oqv", "LM-SENSORS-MIB"); $descr = trim(str_ireplace("fan-", "", $descr)); if($current > '0' && $current < '500') { @@ -35,6 +35,29 @@ if ($device['os'] == "linux") } } +## Areca Fanspeeds +if ($device['os'] == "areca") +{ + $oids = snmp_walk($device, "1.3.6.1.4.1.18928.1.2.2.1.9.1.2", "-OsqnU", ""); + if ($debug) { echo($oids."\n"); } + if ($oids) echo("Areca "); + $precision = 1000; + $type = "areca"; + foreach(explode("\n", $oids) as $data) + { + $data = trim($data); + if ($data) + { + list($oid,$descr) = explode(" ", $data,2); + $split_oid = explode('.',$oid); + $index = $split_oid[count($split_oid)-1]; + $oid = "1.3.6.1.4.1.18928.1.2.2.1.9.1.3." . $index; + $current = snmp_get($device, $oid, "-Oqv", "") / $precision; + discover_fan($device, $oid, $index, $type, trim($descr,'"'), $precision, NULL, NULL, $current); + $fan_exists[$type][$index] = 1; + } + } +} ## Supermicro Fanspeeds if ($device['os'] == "linux") diff --git a/includes/discovery/temperatures.inc.php b/includes/discovery/temperatures.inc.php index 7d77fefd93..302814bfad 100755 --- a/includes/discovery/temperatures.inc.php +++ b/includes/discovery/temperatures.inc.php @@ -76,13 +76,13 @@ if ($device['os'] == "junos" || $device['os_group'] == "junos") } } -## Areca Harddisk Temperatures +## Areca Harddisk & Controller Temperatures if ($device['os'] == "areca") { $oids = shell_exec($config['snmpwalk'] . " -$snmpver -CI -Osqn -c $community $hostname:$port SNMPv2-SMI::enterprises.18928.1.1.2.14.1.2"); if ($debug) { echo($oids."\n"); } $oids = trim($oids); - if ($oids) echo("Areca "); + if ($oids) echo("Areca Harddisk "); foreach(explode("\n", $oids) as $data) { $data = trim($data); @@ -96,10 +96,29 @@ if ($device['os'] == "areca") $descr = "Hard disk $temp_id"; if ($temp != -128) { - discover_temperature($valid_temp, $device, $temp_oid, $temp_id, "areca", $descr, 1, NULL, NULL, NULL); + discover_temperature($valid_temp, $device, $temp_oid, $temp_id, "areca", $descr, 1, NULL, NULL, $temp); } } } + + $oids = snmp_walk($device, "1.3.6.1.4.1.18928.1.2.2.1.10.1.2", "-OsqnU", ""); + if ($debug) { echo($oids."\n"); } + if ($oids) echo("Areca Controller "); + $precision = 1; + $type = "areca"; + foreach(explode("\n", $oids) as $data) + { + $data = trim($data); + if ($data) + { + list($oid,$descr) = explode(" ", $data,2); + $split_oid = explode('.',$oid); + $index = $split_oid[count($split_oid)-1]; + $oid = "1.3.6.1.4.1.18928.1.2.2.1.10.1.3." . $index; + $current = snmp_get($device, $oid, "-Oqv", ""); + discover_temperature($valid_temp, $device, $oid, $index, $type, trim($descr,'"'), $precision, NULL, NULL, $current); + } + } } ## Papouch TME Temperatures diff --git a/includes/discovery/voltages.inc.php b/includes/discovery/voltages.inc.php index 4cb214a6c0..68039e5fde 100755 --- a/includes/discovery/voltages.inc.php +++ b/includes/discovery/voltages.inc.php @@ -7,8 +7,7 @@ $port = $device['port']; echo("Voltages : "); -## LMSensors Voltages (returned as 10,000ths of a volt.) - +## LMSensors Voltages if ($device['os'] == "linux") { $oids = snmp_walk($device, "lmVoltSensorsDevice", "-OsqnU", "LM-SENSORS-MIB"); @@ -24,7 +23,7 @@ if ($device['os'] == "linux") list($oid,$descr) = explode(" ", $data,2); $split_oid = explode('.',$oid); $index = $split_oid[count($split_oid)-1]; - $oid = ".1.3.6.1.4.1.2021.13.16.4.1.3." . $index; + $oid = "1.3.6.1.4.1.2021.13.16.4.1.3." . $index; $current = snmp_get($device, $oid, "-Oqv", "LM-SENSORS-MIB") / $precision; discover_volt($device, $oid, $index, $type, $descr, $precision, NULL, NULL, $current); $volt_exists[$type][$index] = 1; @@ -32,6 +31,32 @@ if ($device['os'] == "linux") } } +## Areca Voltages +if ($device['os'] == "areca") +{ + $oids = snmp_walk($device, "1.3.6.1.4.1.18928.1.2.2.1.8.1.2", "-OsqnU", ""); + if ($debug) { echo($oids."\n"); } + if ($oids) echo("Areca "); + $precision = 1000; + $type = "areca"; + foreach(explode("\n", $oids) as $data) + { + $data = trim($data); + if ($data) + { + list($oid,$descr) = explode(" ", $data,2); + $split_oid = explode('.',$oid); + $index = $split_oid[count($split_oid)-1]; + $oid = "1.3.6.1.4.1.18928.1.2.2.1.8.1.3." . $index; + $current = snmp_get($device, $oid, "-Oqv", "") / $precision; + if ($descr != '"Battery Status"' || $current != 0.255) # FIXME not sure if this is supposed to be a voltage, but without BBU it's 225, then ignore. + { + discover_volt($device, $oid, $index, $type, trim($descr,'"'), $precision, NULL, NULL, $current); + $volt_exists[$type][$index] = 1; + } + } + } +} ## Supermicro Voltages if ($device['os'] == "linux") @@ -76,7 +101,6 @@ if ($device['os'] == "linux") } ## MGE UPS Voltages - if ($device['os'] == "mgeups") { echo("MGE "); @@ -145,7 +169,6 @@ if ($device['os'] == "mgeups") } - ## Delete removed sensors if($debug) { print_r($volt_exists); } diff --git a/includes/polling/device-areca.inc.php b/includes/polling/device-areca.inc.php index b0e0c1ed26..d39eedcec0 100644 --- a/includes/polling/device-areca.inc.php +++ b/includes/polling/device-areca.inc.php @@ -1,7 +1,12 @@