argh, clean up fucked up patches, add galaxy pw autodiscovery to mgeups

git-svn-id: http://www.observium.org/svn/observer/trunk@1098 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans 2010-06-04 09:09:19 +00:00
parent bdf1cdf7f6
commit 52933eeb0d
4 changed files with 1 additions and 194 deletions

View File

@ -77,107 +77,6 @@ if ($device['os'] == "mgeups")
}
## Delete removed sensors
if($debug) { print_r($freq_exists); }
$sql = "SELECT * FROM frequency WHERE device_id = '".$device['device_id']."'";
if ($query = mysql_query($sql))
{
while ($test_freq = mysql_fetch_array($query))
{
$index = $test_freq['freq_index'];
$type = $test_freq['freq_type'];
if($debug) { echo("$type -> $index\n"); }
if(!$freq_exists[$type][$index]) {
echo("-");
mysql_query("DELETE FROM `frequency` WHERE freq_id = '" . $test_freq['freq_id'] . "'");
}
}
}
unset($fan_exists); echo("\n");
?>
<?php
$id = $device['device_id'];
$hostname = $device['hostname'];
$community = $device['community'];
$snmpver = $device['snmpver'];
$port = $device['port'];
echo("Frequencies : ");
## MGE UPS Frequencies
if ($device['os'] == "mgeups")
{
echo("MGE ");
$oids = trim(snmp_walk($device, "1.3.6.1.4.1.705.1.7.1", "-OsqnU"));
if ($debug) { echo($oids."\n"); }
list($unused,$numPhase) = explode(' ',$oids);
for($i = 1; $i <= $numPhase;$i++)
{
$freq_oid = ".1.3.6.1.4.1.705.1.7.2.1.3.$i.0";
$descr = "Output"; if ($numPhase > 1) $descr .= " Phase $i";
$current = snmp_get($device, $freq_oid, "-Oqv") / 10;
$type = "mge-ups";
$precision = 10;
$index = $i;
if ($current > 55 && $current < 65)
{
#FIXME Are these sensible values?
$lowlimit = 58;
$limit = 62;
}
else if ($current > 45 && $current < 55)
{
#FIXME Are these sensible values?
$lowlimit = 48;
$limit = 52;
}
else
{
$lowlimit = 0;
$limit = 0;
}
echo discover_freq($device, $freq_oid, $index, $type, $descr, $precision, $lowlimit, $limit, $current);
$freq_exists[$type][$index] = 1;
}
$oids = trim(snmp_walk($device, "1.3.6.1.4.1.705.1.6.1", "-OsqnU"));
if ($debug) { echo($oids."\n"); }
list($unused,$numPhase) = explode(' ',$oids);
for($i = 1; $i <= $numPhase;$i++)
{
$freq_oid = ".1.3.6.1.4.1.705.1.6.2.1.3.$i.0";
$descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i";
$current = snmp_get($device, $freq_oid, "-Oqv") / 10;
$type = "mge-ups";
$precision = 10;
$index = 100+$i;
if ($current > 55 && $current < 65)
{
#FIXME Are these sensible values?
$lowlimit = 58;
$limit = 62;
}
else if ($current > 45 && $current < 55)
{
#FIXME Are these sensible values?
$lowlimit = 48;
$limit = 52;
}
else
{
$lowlimit = 0;
$limit = 0;
}
echo discover_freq($device, $freq_oid, $index, $type, $descr, $precision, $lowlimit, $limit, $current);
$freq_exists[$type][$index] = 1;
}
}
## Delete removed sensors
if($debug) { print_r($freq_exists); }

View File

@ -8,23 +8,3 @@ $port = $device['port'];
echo("UPS : ");
?>
<?php
$id = $device['device_id'];
$hostname = $device['hostname'];
$community = $device['community'];
$snmpver = $device['snmpver'];
$port = $device['port'];
echo("UPS : ");
?>
<?php
$id = $device['device_id'];
$hostname = $device['hostname'];
$community = $device['community'];
$snmpver = $device['snmpver'];
$port = $device['port'];
echo("UPS : ");
?>

View File

@ -3,24 +3,7 @@
if(!$os) {
if(strstr($sysDescr, "Pulsar M")) { $os = "mgeups"; }
}
?>
<?php
if(!$os) {
if(strstr($sysDescr, "Pulsar M")) { $os = "mgeups"; }
}
?>
<?php
if(!$os) {
if(strstr($sysDescr, "Pulsar M")) { $os = "mgeups"; }
if(strstr($sysDescr, "Galaxy PW")) { $os = "mgeups"; }
}

View File

@ -53,58 +53,3 @@ while($frequency = mysql_fetch_array($freq_data)) {
}
?>
<?php
$query = "SELECT * FROM frequency WHERE device_id = '" . $device['device_id'] . "'";
$freq_data = mysql_query($query);
while($frequency = mysql_fetch_array($freq_data)) {
echo("Checking frequency " . $frequency['freq_descr'] . "... ");
$freq_cmd = $config['snmpget'] . " -m SNMPv2-MIB -O Uqnv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " " . $frequency['freq_oid'] . "|grep -v \"No Such Instance\"";
$freq = trim(str_replace("\"", "", shell_exec($freq_cmd)));
if ($frequency['freq_precision'])
{
$freq = $freq / $frequency['freq_precision'];
}
$freqrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("freq-" . $frequency['freq_descr'] . ".rrd");
if (!is_file($freqrrd)) {
`rrdtool create $freqrrd \
--step 300 \
DS:freq:GAUGE:600:-273:1000 \
RRA:AVERAGE:0.5:1:1200 \
RRA:MIN:0.5:12:2400 \
RRA:MAX:0.5:12:2400 \
RRA:AVERAGE:0.5:12:2400`;
}
echo($freq . " Hz\n");
rrdtool_update($freqrrd,"N:$freq");
if($frequency['freq_current'] > $frequency['freq_limit_low'] && $freq <= $frequency['freq_limit_low'])
{
if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
$msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'] . " is " . $freq . "Hz (Limit " . $frequency['freq_limit'];
$msg .= "Hz) at " . date($config['timestamp_format']);
mail($email, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'], $msg, $config['email_headers']);
echo("Alerting for " . $device['hostname'] . " " . $frequency['freq_descr'] . "\n");
eventlog('Frequency ' . $frequency['freq_descr'] . " under threshold: " . $frequency['freq_current'] . " Hz (> " . $frequency['freq_limit'] . " Hz)", $device['device_id']);
}
else if($frequency['freq_current'] < $frequency['freq_limit'] && $freq >= $frequency['freq_limit'])
{
if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
$msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'] . " is " . $freq . "Hz (Limit " . $frequency['freq_limit'];
$msg .= "Hz) at " . date($config['timestamp_format']);
mail($email, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'], $msg, $config['email_headers']);
echo("Alerting for " . $device['hostname'] . " " . $frequency['freq_descr'] . "\n");
eventlog('Frequency ' . $frequency['freq_descr'] . " above threshold: " . $frequency['freq_current'] . " Hz (< " . $frequency['freq_limit'] . " Hz)", $device['device_id']);
}
mysql_query("UPDATE frequency SET freq_current = '$freq' WHERE freq_id = '" . $frequency['freq_id'] . "'");
}
?>