diff --git a/html/images/os/eaton.png b/html/images/os/eaton.png
new file mode 100644
index 000000000..aac4df54a
Binary files /dev/null and b/html/images/os/eaton.png differ
diff --git a/includes/discovery/current/xups.inc.php b/includes/discovery/current/xups.inc.php
new file mode 100644
index 000000000..504860ba8
--- /dev/null
+++ b/includes/discovery/current/xups.inc.php
@@ -0,0 +1,60 @@
+ 1) $descr .= " Phase $i";
+ $current = snmp_get($device, $current_oid, "-Oqv");
+ $type = "xups";
+ $divisor = 1;
+ $index = "4.4.1.3.".$i;
+ echo discover_sensor($valid_sensor, 'current', $device, $current_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current);
+ }
+
+ $oids = trim(snmp_walk($device, "xupsInputCurrent", "-OsqnU"));
+ if ($debug) { echo($oids."\n"); }
+ list($unused,$numPhase) = explode(' ',$oids);
+ for($i = 1; $i <= $numPhase;$i++)
+ {
+ $current_oid = "1.3.6.1.4.1.534.1.3.4.1.3.$i";
+ $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i";
+ $current = snmp_get($device, $current_oid, "-Oqv");
+ $type = "xups";
+ $divisor = 1;
+ $index = "3.4.1.3.".$i;
+ echo discover_sensor($valid_sensor, 'current', $device, $current_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current);
+ }
+}
+
+?>
diff --git a/includes/discovery/frequencies/xups.inc.php b/includes/discovery/frequencies/xups.inc.php
new file mode 100644
index 000000000..9dff13c11
--- /dev/null
+++ b/includes/discovery/frequencies/xups.inc.php
@@ -0,0 +1,44 @@
+
diff --git a/includes/discovery/voltages/xups.inc.php b/includes/discovery/voltages/xups.inc.php
index 87f8ca98e..6296f21b9 100644
--- a/includes/discovery/voltages/xups.inc.php
+++ b/includes/discovery/voltages/xups.inc.php
@@ -5,7 +5,7 @@ global $valid_sensor;
## XUPS-MIB
if ($device['os'] == "powerware")
{
- echo("XUPS ");
+ echo("XUPS-MIB ");
# XUPS-MIB::xupsBatVoltage.0 = INTEGER: 51
$oids = snmp_walk($device, "xupsBatVoltage", "-Osqn", "XUPS-MIB");
@@ -51,13 +51,29 @@ if ($device['os'] == "powerware")
list($unused,$numPhase) = explode(' ',$oids);
for($i = 1; $i <= $numPhase;$i++)
{
+ # XUPS-MIB::xupsOutputVoltage.1 = INTEGER: 228
$volt_oid = ".1.3.6.1.4.1.534.1.4.4.1.2.$i";
- $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i";
+ $descr = "Output"; if ($numPhase > 1) $descr .= " Phase $i";
$type = "xups";
$divisor = 1;
$current = snmp_get($device, $volt_oid, "-Oqv") / $divisor;
$index = '4.4.1.2.'.$i;
echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current);
}
+
+ # XUPS-MIB::xupsBypassNumPhases.0 = INTEGER: 1
+ $oids = trim(snmp_walk($device, "xupsBypassNumPhases", "-OsqnU"));
+ if ($debug) { echo($oids."\n"); }
+ list($unused,$numPhase) = explode(' ',$oids);
+ for($i = 1; $i <= $numPhase;$i++)
+ {
+ $volt_oid = ".1.3.6.1.4.1.534.1.5.3.1.2.$i";
+ $descr = "Bypass"; if ($numPhase > 1) $descr .= " Phase $i";
+ $type = "xups";
+ $divisor = 1;
+ $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor;
+ $index = '5.3.1.2.'.$i;
+ echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current);
+ }
}
?>
\ No newline at end of file
diff --git a/includes/polling/frequencies.inc.php b/includes/polling/frequencies.inc.php
index d2cf08b0b..9142a5414 100644
--- a/includes/polling/frequencies.inc.php
+++ b/includes/polling/frequencies.inc.php
@@ -2,18 +2,16 @@
$query = "SELECT * FROM `sensors` WHERE device_id = '" . $device['device_id'] . "' AND `sensor_class` = 'freq'";
$sensor_data = mysql_query($query);
-while($frequency = mysql_fetch_array($sensor_data)) {
+while($sensor = mysql_fetch_array($sensor_data)) {
- echo("Checking frequency " . $frequency['sensor_descr'] . "... ");
+ echo("Checking frequency " . $sensor['sensor_descr'] . "... ");
- $freq = snmp_get($device, $frequency['sensor_oid'], "-OUqnv", "SNMPv2-MIB");
+ $freq = snmp_get($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB");
- if ($frequency['sensor_precision'])
- {
- $freq = $freq / $frequency['sensor_precision'];
- }
-
- $rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("freq-" . $frequency['sensor_descr'] . ".rrd");
+ if ($sensor['sensor_divisor']) { $freq = $freq / $sensor['sensor_divisor']; }
+ if ($sensor['sensor_multiplier']) { $freq = $freq * $sensor['sensor_multiplier']; }
+
+ $rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("freq-" . $sensor['sensor_descr'] . ".rrd");
if (!is_file($rrd_file)) {
`rrdtool create $rrd_file \
@@ -29,26 +27,26 @@ while($frequency = mysql_fetch_array($sensor_data)) {
rrdtool_update($rrd_file,"N:$freq");
- if($frequency['sensor_current'] > $frequency['sensor_limit_low'] && $freq <= $frequency['sensor_limit_low'])
+ if($sensor['sensor_current'] > $sensor['sensor_limit_low'] && $freq <= $sensor['sensor_limit_low'])
{
if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
- $msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['sensor_descr'] . " is " . $freq . "Hz (Limit " . $frequency['sensor_limit'];
+ $msg = "Frequency Alarm: " . $device['hostname'] . " " . $sensor['sensor_descr'] . " is " . $freq . "Hz (Limit " . $sensor['sensor_limit'];
$msg .= "Hz) at " . date($config['timestamp_format']);
- notify($device, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['sensor_descr'], $msg);
- echo("Alerting for " . $device['hostname'] . " " . $frequency['sensor_descr'] . "\n");
- log_event('Frequency ' . $frequency['sensor_descr'] . " under threshold: " . $freq . " Hz (< " . $frequency['sensor_limit_low'] . " Hz)", $device['device_id'] , 'frequency', $frequency['sensor_id']);
+ notify($device, "Frequency Alarm: " . $device['hostname'] . " " . $sensor['sensor_descr'], $msg);
+ echo("Alerting for " . $device['hostname'] . " " . $sensor['sensor_descr'] . "\n");
+ log_event('Frequency ' . $sensor['sensor_descr'] . " under threshold: " . $freq . " Hz (< " . $sensor['sensor_limit_low'] . " Hz)", $device['device_id'] , 'frequency', $sensor['sensor_id']);
}
- else if($frequency['sensor_current'] < $frequency['sensor_limit'] && $freq >= $frequency['sensor_limit'])
+ else if($sensor['sensor_current'] < $sensor['sensor_limit'] && $freq >= $sensor['sensor_limit'])
{
if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
- $msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['sensor_descr'] . " is " . $freq . "Hz (Limit " . $frequency['sensor_limit'];
+ $msg = "Frequency Alarm: " . $device['hostname'] . " " . $sensor['sensor_descr'] . " is " . $freq . "Hz (Limit " . $sensor['sensor_limit'];
$msg .= "Hz) at " . date($config['timestamp_format']);
- notify($device, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['sensor_descr'], $msg);
- echo("Alerting for " . $device['hostname'] . " " . $frequency['sensor_descr'] . "\n");
- log_event('Frequency ' . $frequency['sensor_descr'] . " above threshold: " . $freq . " Hz (> " . $frequency['sensor_limit'] . " Hz)", $device['device_id'], 'frequency', $frequency['sensor_id']);
+ notify($device, "Frequency Alarm: " . $device['hostname'] . " " . $sensor['sensor_descr'], $msg);
+ echo("Alerting for " . $device['hostname'] . " " . $sensor['sensor_descr'] . "\n");
+ log_event('Frequency ' . $sensor['sensor_descr'] . " above threshold: " . $freq . " Hz (> " . $sensor['sensor_limit'] . " Hz)", $device['device_id'], 'frequency', $sensor['sensor_id']);
}
- mysql_query("UPDATE frequency SET sensor_current = '$freq' WHERE sensor_id = '" . $frequency['sensor_id'] . "'");
+ mysql_query("UPDATE frequency SET sensor_current = '$freq' WHERE sensor_id = '" . $sensor['sensor_id'] . "'");
}
?>
diff --git a/includes/polling/ups.inc.php b/includes/polling/ups.inc.php
new file mode 100644
index 000000000..58f2c4a96
--- /dev/null
+++ b/includes/polling/ups.inc.php
@@ -0,0 +1,21 @@
+
diff --git a/includes/static-config.php b/includes/static-config.php
index 31db7d96c..e5eddc357 100644
--- a/includes/static-config.php
+++ b/includes/static-config.php
@@ -255,6 +255,7 @@ $config['os'][$os]['type'] = "power";
$os = "powerware";
$config['os'][$os]['text'] = "Powerware UPS";
$config['os'][$os]['type'] = "power";
+$config['os'][$os]['icon'] = "eaton";
$os = "deltaups";
$config['os'][$os]['text'] = "Delta UPS";
@@ -280,7 +281,6 @@ $config['os'][$os]['over'][1]['text'] = "CPU Usage";
$config['os'][$os]['over'][2]['graph'] = "device_mempools";
$config['os'][$os]['over'][2]['text'] = "Memory Usage";
-
$os = "speedtouch";
$config['os'][$os]['text'] = "Thomson Speedtouch";
$config['os'][$os]['ifname'] = 1;
@@ -288,7 +288,6 @@ $config['os'][$os]['type'] = "network";
$config['os'][$os]['over'][0]['graph'] = "device_bits";
$config['os'][$os]['over'][0]['text'] = "Traffic";
-
$os = "sonicwal";
$config['os'][$os]['text'] = "SonicWALL";
$config['os'][$os]['type'] = "firewall";